/* ═══════════════════════════════════════════════════════════
   FOOTER
   Fondo grigio chiarissimo, barra scura in fondo.
   Contenuti dalle costanti, nessuna area widget.
   ═══════════════════════════════════════════════════════════ */

.ec-footer {
  --ec-footer-bg:        #f7f7f7;
  --ec-footer-bottom-bg: #1e1e1e;

  background: var(--ec-footer-bg);
  color: var(--ec-testo-med);
  font-size: 0.9375rem;
}

/* Stesso contenitore di .ec-main e dell'header: sopra il breakpoint
   il footer parte esattamente dal bordo sinistro delle fasce. */
.ec-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: clamp(24px, 3vw, 36px);
  max-width: var(--ec-contenuto-max);
  margin: 0 auto;
  padding: clamp(32px, 4vw, 44px) var(--ec-gutter);
}

@media (min-width: 1081px) {
  .ec-footer-grid { padding-left: 0; padding-right: 0; }
  .ec-footer-bottom { padding-left: 0; padding-right: 0; }
}

/* La prima colonna respira di più: contiene due righe di indirizzo
   e due link lunghi agli studi. */
@media (min-width: 980px) {
  .ec-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
}

.ec-footer-col p { margin: 0 0 4px; }

.ec-footer a {
  color: inherit;
  text-decoration: none;
  transition: color var(--ec-transizione);
}

.ec-footer a:hover,
.ec-footer a:focus-visible { color: var(--ec-oro-scuro); }

@media (prefers-reduced-motion: reduce) {
  .ec-footer a { transition: none; }
}


/* ═══════ Colonna 1 — identità ═══════ */

.ec-footer-nome {
  font-family: var(--ec-serif);
  font-size: 1.375rem;
  line-height: 1.3;
  color: var(--ec-teal);
}

.ec-footer-qualifica {
  margin-bottom: 16px;
  color: var(--ec-oro);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.ec-footer-via {
  font-weight: 700;
  color: var(--ec-testo);
}

.ec-footer-citta { margin-bottom: 16px; }

.ec-footer-studio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--ec-oro);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

.ec-footer-studio + .ec-footer-studio { margin-top: 2px; }

.ec-footer-studio .ec-freccia { transition: transform var(--ec-transizione); }

.ec-footer-studio:hover .ec-freccia,
.ec-footer-studio:focus-visible .ec-freccia { transform: translateX(4px); }

@media (prefers-reduced-motion: reduce) {
  .ec-footer-studio .ec-freccia { transition: none; }
  .ec-footer-studio:hover .ec-freccia { transform: none; }
}


/* ═══════ Titoli di colonna ═══════ */

.ec-footer-titolo {
  margin-bottom: 14px;
  font-family: var(--ec-serif);
  font-size: 1.0625rem;
  color: var(--ec-teal);
}


/* ═══════ Colonna 2 — contatti ═══════ */

.ec-footer-etichetta {
  margin-bottom: 2px;
  color: var(--ec-testo-chiaro);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

.ec-footer-tel { margin-bottom: 14px; }

.ec-footer-tel a {
  font-weight: 700;
  font-size: 1rem;
  color: var(--ec-testo);
}

.ec-footer-mail a { color: var(--ec-oro); }

/* Le mail lunghe non devono sfondare la colonna */
.ec-footer-mail a { overflow-wrap: anywhere; }


/* ═══════ Colonna 3 — Esplora ═══════ */

.ec-footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ec-footer-menu a {
  display: flex;
  align-items: center;
  min-height: 34px;
}


/* ═══════ Colonna 4 — social ═══════ */

.ec-social-list {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ec-footer .ec-social {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-family: var(--ec-serif);
  font-size: 0.875rem;
  line-height: 1;
  color: var(--ec-bianco);
  transition: transform var(--ec-transizione), opacity var(--ec-transizione);
}

.ec-footer .ec-social-fb { background: var(--ec-teal); }
.ec-footer .ec-social-ig { background: var(--ec-oro); }

.ec-footer .ec-social:hover,
.ec-footer .ec-social:focus-visible {
  color: var(--ec-bianco);
  opacity: 0.85;
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .ec-footer .ec-social { transition: none; }
  .ec-footer .ec-social:hover { transform: none; }
}


/* ═══════ Barra scura in fondo ═══════ */

.ec-footer-bottom {
  background: var(--ec-footer-bottom-bg);
  padding: 16px var(--ec-gutter);
}

.ec-footer-bottom-inner {
  max-width: var(--ec-contenuto-max);
  margin: 0 auto;
}

.ec-footer-bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8125rem;
  line-height: 1.8;
}

.ec-footer-bottom a { color: rgba(255, 255, 255, 0.72); }

.ec-footer-bottom a:hover,
.ec-footer-bottom a:focus-visible { color: var(--ec-oro); }

.ec-footer-bottom .ec-pipe {
  padding: 0 6px;
  color: rgba(255, 255, 255, 0.35);
}


/* Sotto i 700px le colonne si impilano: centrarle evita la banda vuota
   a destra e allinea i cerchi social con il resto. */
/* Su mobile le colonne si impilano ma restano allineate a sinistra:
   centrare quattro blocchi di lunghezza diversa crea un bordo
   frastagliato e si legge peggio. */
@media (max-width: 700px) {
  .ec-footer-grid { gap: 28px; text-align: left; }
  .ec-footer-menu a,
  .ec-footer-studio { justify-content: flex-start; }
  .ec-social-list { justify-content: flex-start; }
  .ec-footer-bottom-inner { text-align: left; }
}
