/* ===========================================================
   Premium overlay — Santi e Virtuosi di Scab
   Caricato DOPO il tema: solo rifiniture, non tocca i contenuti.
   Palette: navy #001b4c, azzurro #f0f4fb, oro #b08a3c
   =========================================================== */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* --- Card pubblicazioni: rifinitura + micro-interazioni --- */
.uk-card-default {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0, 27, 76, .06);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.uk-card-default:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0, 27, 76, .18);
}
.uk-card-media-top { overflow: hidden; }
.uk-card-media-top .el-image {
  width: 100%;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.uk-card-default:hover .uk-card-media-top .el-image { transform: scale(1.06); }
.uk-card-body { padding: 22px 24px 26px; }
.el-title {
  letter-spacing: .005em;
  transition: color .25s ease;
}
.uk-card-default:hover .el-title { color: #001b4c; }
.el-content { color: #6b7585; }

/* sottile filo dorato in cima alla card al passaggio */
.uk-card-media-top { position: relative; }
.uk-card-media-top::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, #b08a3c, #e6c87a);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s ease;
}
.uk-card-default:hover .uk-card-media-top::after { transform: scaleX(1); }

/* --- Titoli di sezione --- */
.uk-heading-bullet { letter-spacing: .01em; }

/* --- Menu a tendina Pubblicazioni: piu' raffinato --- */
.svp .svp-list {
  border-radius: 6px;
  box-shadow: 0 20px 56px rgba(0, 27, 76, .20);
  padding: 14px 0;
  animation: svpIn .22s ease;
}
@keyframes svpIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.svp .svp-list a { transition: background .2s ease, color .2s ease, padding-left .2s ease; }
.svp .svp-list a:hover { padding-left: 34px; }

/* --- Bottoni --- */
.uk-button {
  border-radius: 3px;
  letter-spacing: .06em;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.uk-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,27,76,.18); }

/* --- Pagine scheda: copertina con ombra premium --- */
.uk-container-small .el-image,
main .uk-container-small img {
  border-radius: 8px;
  box-shadow: 0 34px 80px -24px rgba(0, 27, 76, .45);
}

/* --- Link generici --- */
a { transition: color .2s ease; }

/* --- Footer un filo piu' arioso --- */
.uk-section-secondary { letter-spacing: .04em; }

/* --- Rispetto preferenze movimento --- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::after { transition: none !important; animation: none !important; }
  .uk-card-default:hover { transform: none; }
}

/* === Allineamento uniforme del corpo scheda === */
.tm-article { text-align: left; }
.tm-article p { text-align: left !important; line-height: 1.85; margin: 0 0 18px; }
.tm-article h1, .tm-article h2, .tm-article h3 {
  text-align: center; color: #001b4c; margin: 38px 0 16px;
  font-family: inherit; line-height: 1.25;
}
.tm-article .uk-text-center, .tm-article div[style*="center"] { text-align: left !important; }
.tm-article h1 div, .tm-article h2 div, .tm-article h3 div { text-align: center !important; }
.tm-article figure { margin: 30px auto; }
.tm-article strong { color: #001b4c; }
