
:root{--sage:#7a9b8e;--sage-dark:#5f7f73;--sage-light:#e7f0ec;--text:#1f2d2a}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff}
a{color:inherit;text-decoration:none}
header{border-bottom:1px solid var(--sage-light)}
nav{max-width:1100px;margin:auto;display:flex;gap:18px;align-items:center;padding:16px}
nav img{height:36px}
nav a{font-weight:600;color:var(--sage-dark)}
.lang{margin-left:auto}
main{max-width:1100px;margin:auto;padding:32px 20px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;background:linear-gradient(135deg,var(--sage-light),#fff);border-radius:24px;padding:40px}
.hero-img{display:flex;justify-content:center}
.hero-img img{max-width:280px}
.section{margin-top:56px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1024px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards{grid-template-columns:1fr}.hero{grid-template-columns:1fr}}
.card{border:1px solid var(--sage-light);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}
.card .spacer{flex:1}
.card-actions{display:flex;gap:12px;margin-top:12px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--sage-dark);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600}
.btn.secondary{background:transparent;color:var(--sage-dark);border:2px solid var(--sage-dark)}

.btn.secondary {
  cursor: pointer;
}

.map-container{margin-top:28px}
iframe{width:100%;height:420px;border:0;border-radius:16px}
.contact-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
@media(max-width:640px){.contact-strip{grid-template-columns:1fr}}
.contact-card{border:1px solid var(--sage-light);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px}
.contact-icon{width:40px;height:40px;color:var(--sage-dark)}
footer{background:var(--sage-light);margin-top:72px}

/*
footer .wrap{max-width:1100px;margin:auto;padding:32px 20px;font-size:14px;text-align:center} 
*/

footer .wrap {
  max-width:1100px;
  margin:auto;
  padding:32px 20px;
  font-size:14px;
  text-align:center;

  align-items: center;
}


/*
.footer-social{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;font-weight:600;color:var(--sage-dark)}
*/


.footer-social {
  display: flex;
  justify-content: center;
  gap: 28px;
  font-weight: 600;
  font-size: 16px;
  color: var(--sage-dark);
  flex-wrap: wrap;

  margin-bottom: 32px;
}



.footer-links{margin:12px 0}
.footer-links a{font-weight: 500;margin:0 8px}
.footer-meta{opacity:.85;font-size:13px}
.footer-social {
  display: flex;
  justify-content: center;
  gap: 28px;                /* più respiro tra i social */
  font-weight: 600;
  font-size: 16px;          /* ↑ testo */
  color: var(--sage-dark);
  flex-wrap: wrap;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 10px;                /* ↑ spazio icona-testo */
  color: inherit;
  text-decoration: none;
}

.footer-social svg {
  width: 22px;              /* ↑ icone */
  height: 22px;
  fill: currentColor;
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  border-top: 2px solid var(--sage-light);
  padding: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  z-index: 999;
  font-size: 14px;
}

.cookie-banner[hidden] {
  display: none !important;
}

.cookie-text a {
  text-decoration: underline;
  font-weight: 600;
}

.cookie-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cookie-btn {
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
}

.cookie-btn.primary {
  background: var(--sage-dark);
  color: #fff;
  border: none;
}

.cookie-btn.secondary {
  background: transparent;
  border: 2px solid var(--sage-dark);
  color: var(--sage-dark);
}



/* Mini-cards (come layout Contacts: 2 colonne desktop, 1 colonna mobile) */
.mini-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 20px;                /* uguale vibe delle contact cards */
  margin-top: 12px;

  /* le centri come blocco, ma lasci le card larghe */
  max-width: 100%;
}

/* Mobile: una sotto l’altra */
@media (max-width: 640px) {
  .mini-cards {
    grid-template-columns: 1fr;
  }
}

/* Card più piccole delle Contacts, ma con stessa “presenza” */
.mini-card {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;              /* IMPORTANTISSIMO: riempie la colonna */
  padding: 12px 16px;

  border-radius: 14px;
  border: 1px solid var(--sage-light);
  background: #fff;
  color: var(--sage-dark);

  font-weight: 600;
  font-size: 14px;          /* leggermente più piccolo delle Contacts */
  text-decoration: none;

  transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}

/* Hover coerente con CTA secondarie */
.mini-card:hover {
  border-color: var(--sage-dark);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
  transform: translateY(-1px);
}

.mini-card:active {
  transform: translateY(0);
}

