/* =============================================================
   AZZURRISSIMO.IT — main.css v7.4.20
   ============================================================= */
:root {
  /* ── Palette v6: blu alleggerito, stessa identità Napoli ── */
  --az-blue:       #1248c8;   /* era #0033a0 — +12% luminosità, meno pesante */
  --az-blue-dk:    #0a2d8a;   /* era #001f6a — header/nav/footer, leggermente più chiaro */
  --az-blue-lt:    #2860e8;   /* era #1a4fc4 — hover più vivace */
  --az-sky:        #5fa8d3;
  --az-red:        #d10019;
  --az-off:        #f4f6fb;   /* era #f4f5f7 — leggermente più freddo per contrasto */
  --az-border:     #dde3ee;   /* era #e0e4ec — leggermente più definito */
  --az-text:       #111827;
  --az-muted:      #6b7280;
  --az-white:      #ffffff;
  --font-h:        'Poppins', sans-serif;
  --font-b:        'Poppins', sans-serif;
  --wrap:          1160px;
  --gap:           20px;

  /* ── Sticky offset — aggiornato via JS al resize ── */
  --header-h:      56px;
  --sticky-top:    108px;
}

/* v7.4.20: blocchi homepage configurabili da backend. */
.az-home-promo {
  margin-bottom: 28px;
}

.az-home-promo__link {
  display: grid;
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(204,217,238,.95);
  border-radius: var(--az-box-radius, 14px);
  background: #fff;
  color: var(--az-text);
  box-shadow: 0 16px 36px rgba(8,36,92,.06);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.az-home-promo__link:hover,
.az-home-promo__link:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(18,72,200,.32);
  box-shadow: 0 20px 42px rgba(8,36,92,.10);
}

.az-home-promo__media {
  min-height: 220px;
  background: linear-gradient(135deg, rgba(18,72,200,.15), rgba(95,168,211,.28));
}

.az-home-promo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.az-home-promo__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 28px 30px;
}

.az-home-promo__kicker {
  color: var(--az-blue);
  font-family: var(--font-h);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.az-home-promo__title {
  font-family: var(--font-h);
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight: 850;
  line-height: 1.08;
  color: var(--az-text);
  overflow-wrap: break-word;
}

.az-home-promo__text {
  max-width: 64ch;
  color: var(--az-muted);
  font-size: 15px;
  line-height: 1.55;
}

.az-home-promo__button {
  align-self: flex-start;
  margin-top: 4px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(18,72,200,.08);
  color: var(--az-blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.az-home-promo--card .az-home-promo__link {
  grid-template-columns: 1fr;
}

.az-home-promo--no-media .az-home-promo__link {
  grid-template-columns: 1fr;
}

.az-home-promo--card .az-home-promo__media {
  min-height: 240px;
}

.az-home-promo--strip .az-home-promo__link {
  grid-template-columns: 160px minmax(0, 1fr);
}

.az-home-promo--strip .az-home-promo__media {
  min-height: 150px;
}

.az-home-promo--strip .az-home-promo__body {
  padding: 20px 22px;
}

.az-home-promo--strip .az-home-promo__title {
  font-size: 22px;
}

.az-home-promo--hero .az-home-promo__link {
  position: relative;
  min-height: 360px;
  grid-template-columns: 1fr;
  background: var(--az-blue-dk);
}

.az-home-promo--hero .az-home-promo__media {
  position: absolute;
  inset: 0;
  min-height: 100%;
  opacity: .62;
}

.az-home-promo--hero .az-home-promo__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,20,58,.88) 0%, rgba(3,20,58,.56) 48%, rgba(3,20,58,.20) 100%);
}

.az-home-promo--hero .az-home-promo__body {
  position: relative;
  max-width: 760px;
  min-height: 360px;
  padding: 42px;
}

.az-home-promo--hero .az-home-promo__title,
.az-home-promo--hero .az-home-promo__text {
  color: #fff;
}

.az-home-promo--hero .az-home-promo__text {
  color: rgba(255,255,255,.78);
}

.az-home-promo--hero .az-home-promo__button {
  background: #fff;
  color: var(--az-blue-dk);
}

@media (max-width: 760px) {
  .az-home-promo__link,
  .az-home-promo--strip .az-home-promo__link {
    grid-template-columns: 1fr;
  }

  .az-home-promo__media,
  .az-home-promo--strip .az-home-promo__media {
    min-height: 190px;
  }

  .az-home-promo__body,
  .az-home-promo--hero .az-home-promo__body {
    padding: 22px;
  }

  .az-home-promo--hero .az-home-promo__link,
  .az-home-promo--hero .az-home-promo__body {
    min-height: 300px;
  }
}

/* ── RESET ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-b); background: var(--az-off); color: var(--az-text); font-size: 15px; line-height: 1.6; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }

/* ── CONTAINER ───────────────────────────────────────────────── */
.az-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gap); }

/* ── TOPBAR ──────────────────────────────────────────────────── */
.az-topbar { background: var(--az-blue-dk); color: rgba(255,255,255,.5); font-size: 11px; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.az-topbar .az-wrap { display: flex; justify-content: space-between; align-items: center; }
.az-topbar__social { display: flex; gap: 14px; }
.az-topbar__social a { color: rgba(255,255,255,.42); transition: color .2s; }
.az-topbar__social a:hover { color: #fff; }

/* ── HEADER ──────────────────────────────────────────────────── */
.az-header { background: var(--az-blue); padding: 13px 0 11px; position: sticky; top: 0; z-index: 300; box-shadow: 0 2px 12px rgba(0,0,0,.18); }
.az-header .az-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.az-logo { font-family: var(--font-h); font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -.5px; line-height: 1; }
.az-logo span { color: var(--az-sky); }
.az-logo sup { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.4); vertical-align: super; margin-left: 1px; font-family: var(--font-b); }
.az-search-wrap { display: flex; align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 4px; padding: 6px 12px; gap: 8px; transition: background .2s; }
.az-search-wrap:focus-within { background: rgba(255,255,255,.18); }
.az-search-wrap svg { color: rgba(255,255,255,.4); flex-shrink: 0; width: 15px; height: 15px; }
.az-search-wrap input { background: none; border: none; outline: none; color: #fff; font-size: 13px; width: 190px; font-family: var(--font-b); }
.az-search-wrap input::placeholder { color: rgba(255,255,255,.36); }

/* ── NAV ─────────────────────────────────────────────────────── */
.az-nav-wrap { background: var(--az-blue-dk); border-bottom: 3px solid var(--az-sky); position: sticky; top: var(--header-h, 56px); z-index: 9999; }
.az-nav { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0; padding: 0; }
.az-nav::-webkit-scrollbar { display: none; }

.az-nav > li { position: relative; flex-shrink: 0; outline: none; }
.az-nav > li > a {
  display: flex; align-items: center; gap: 4px;
  font-family: var(--font-h); font-size: 14px; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase;
  color: rgba(255,255,255,.72);
  padding: 10px 14px;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.az-nav > li > a:hover,
.az-nav > li.current-menu-item > a,
.az-nav > li.current-menu-ancestor > a,
.az-nav > li.current-category-ancestor > a { color: #fff; border-bottom-color: var(--az-sky); }

.az-nav > li.menu-item-has-children > a::after { content: ' ▾'; font-size: 10px; opacity: .55; transition: transform .2s; display: inline-block; }
.az-nav > li.menu-item-has-children:hover > a::after,
.az-nav > li.menu-item-has-children.az-open > a::after { transform: rotate(180deg); }

/* ── DROPDOWN ── */
.az-nav > li > ul {
  display: none;
  position: absolute; top: calc(100% + 3px); left: 0;
  background: var(--az-blue-dk);
  border-top: 3px solid var(--az-sky);
  min-width: 230px;
  list-style: none; margin: 0; padding: 6px 0;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  border-radius: 0 0 4px 4px;
}
.az-nav > li:hover > ul  { display: block !important; }
.az-nav > li.az-open > ul { display: block !important; }

.az-nav > li > ul > li { list-style: none; }
.az-nav > li > ul > li > a {
  display: block; padding: 9px 18px;
  font-family: var(--font-h); font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  color: rgba(255,255,255,.7); white-space: nowrap;
  transition: color .15s, background .15s;
}
.az-nav > li > ul > li > a:hover { color: #fff; background: rgba(255,255,255,.08); }

/* HAMBURGER (mobile) */
.az-hamburger { display: none; background: none; border: none; color: #fff; padding: 6px; margin-left: auto; cursor: pointer; }
.az-hamburger svg { width: 22px; height: 22px; display: block; }
.az-nav-wrap.az-nav-open .az-nav { display: flex; flex-direction: column; overflow: visible; }

/* ── BREAKING NEWS ───────────────────────────────────────────── */
.az-breaking { background: var(--az-red); color: #fff; padding: 7px 0; overflow: hidden; }
.az-breaking .az-wrap { display: flex; align-items: center; gap: 12px; }
.az-breaking__label { font-family: var(--font-h); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: rgba(0,0,0,.2); padding: 2px 8px; border-radius: 3px; white-space: nowrap; flex-shrink: 0; }
.az-breaking__text { font-size: 13px; font-weight: 500; opacity: .93; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity .3s; }

/* ── MAIN ────────────────────────────────────────────────────── */
.az-main { max-width: var(--wrap); margin: 0 auto; padding: 24px var(--gap); }

/* ── LAYOUT GRID ─────────────────────────────────────────────── */
.az-layout { display: grid; grid-template-columns: 1fr 300px; gap: 28px; align-items: start; }
.az-layout--full { display: block; }
/* Stabilità: previene overflow di colonne con contenuto lungo */
.az-layout > * { min-width: 0; }

/* ── AD SLOTS ────────────────────────────────────────────────── */
.az-ad { background: var(--az-white); border: 1px dashed var(--az-border); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: var(--az-muted); font-size: 11px; text-align: center; overflow: hidden; }
.az-ad--board { height: 90px; margin-bottom: 24px; }
.az-ad--side { min-height: 250px; margin-bottom: 20px; }
.az-ad--art { height: 90px; margin: 28px 0; }

/* ── BZSCORE SLOT ────────────────────────────────────────────── */
.az-scores { background: var(--az-blue-dk); border-radius: 6px; padding: 10px 16px; margin-bottom: 24px; overflow-x: auto; }

/* ── SECTION HEADER ──────────────────────────────────────────── */
.az-section { margin-bottom: 32px; }
.az-sh { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 2px solid var(--az-blue); margin-bottom: 18px; }
.az-sh__title {
  font-family: var(--font-h); font-size: 15px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; color: var(--az-text);
  display: flex; align-items: center; gap: 8px;
}
.az-sh__title::before {
  content: ''; display: block;
  width: 3px; height: 16px;
  background: linear-gradient(180deg, var(--az-blue), var(--az-blue-lt));
  border-radius: 2px; flex-shrink: 0;
}
.az-sh__more { font-size: 12px; color: var(--az-blue); font-weight: 600; transition: color .15s; }
.az-sh__more:hover { color: var(--az-blue-lt); text-decoration: underline; }

/* ── HERO ────────────────────────────────────────────────────── */
.az-hero { position: relative; border-radius: 8px; overflow: hidden; margin-bottom: 24px; display: block; background: var(--az-blue-dk); }
.az-hero__img { display: block; width: 100%; height: 360px; object-fit: cover; background: var(--az-blue-dk); }
.az-hero__img--ph { width: 100%; height: 360px; background: linear-gradient(160deg, #001244 0%, #1040a8 100%); }
.az-hero__overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,0) 100%); padding: 52px 24px 22px; }
.az-hero__cat { display: inline-block; background: var(--az-blue); color: var(--az-sky); font-family: var(--font-h); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 3px; margin-bottom: 10px; }
.az-hero__title { font-family: var(--font-h); font-size: 26px; font-weight: 700; line-height: 1.2; color: #fff; margin-bottom: 8px; transition: opacity .15s; overflow-wrap: break-word; }
.az-hero:hover .az-hero__title { opacity: .88; }
.az-hero__meta { font-size: 12px; color: rgba(255,255,255,.55); display: flex; gap: 10px; }

.az-hero-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.az-hero--half .az-hero__img,
.az-hero--half .az-hero__img--ph { height: 240px; }
.az-hero__title--sm { font-size: 20px; }
.az-hero-duo .az-hero { margin-bottom: 0; }

/* ── CARD GRID ───────────────────────────────────────────────── */
.az-grid { display: grid; gap: 16px; }
.az-grid--2 { grid-template-columns: repeat(2, 1fr); }
.az-grid--3 { grid-template-columns: repeat(3, 1fr); }
.az-grid--4 { grid-template-columns: repeat(4, 1fr); }
/* Stabilità: previene overflow di titoli lunghi */
.az-grid > * { min-width: 0; }

.az-card {
  background: var(--az-white);
  border-radius: 7px;
  overflow: hidden;
  border: 1px solid var(--az-border);
  display: flex; flex-direction: column;
  transition: box-shadow .22s, transform .18s;
}
.az-card:hover { box-shadow: 0 6px 22px rgba(18, 72, 200, .13); transform: translateY(-3px); }

/* Immagine card: aspect-ratio 16:9 per consistenza visiva */
.az-card__link { display: block; overflow: hidden; flex-shrink: 0; aspect-ratio: 16 / 9; position: relative; }
.az-card__img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; background: var(--az-blue-dk);
  transition: transform .32s ease;
}
.az-card__img--ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--az-blue-dk) 0%, var(--az-blue) 100%);
}
.az-img-broken {
  opacity: 0 !important;
  visibility: hidden !important;
}
.az-media-fallback,
.az-art__figure--fallback,
.az-card__link--fallback,
.az-card-wide__img-wrap--fallback {
  background:
    radial-gradient(circle at 22% 20%, rgba(92, 178, 255, .18), transparent 32%),
    linear-gradient(135deg, var(--az-blue-dk) 0%, var(--az-blue) 100%) !important;
}
.az-card__link--fallback::after,
.az-art__figure--fallback::after,
.az-card-wide__img-wrap--fallback::after {
  content: "Azzurrissimo";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.72);
  font-family: var(--font-h);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.az-card:hover .az-card__img { transform: scale(1.04); }

.az-card__body { padding: 13px 14px; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.az-card__cat { font-family: var(--font-h); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--az-blue); }
.az-card__cat a { color: var(--az-blue); }
.az-card__title { font-size: 14px; font-weight: 600; line-height: 1.38; color: var(--az-text); flex: 1; overflow-wrap: break-word; }
.az-card__title a { color: var(--az-text); }
.az-card__title a:hover { color: var(--az-blue); }
.az-card__meta { font-size: 11px; color: var(--az-muted); margin-top: 2px; }

/* ── LIST (sidebar) ──────────────────────────────────────────── */
.az-list { display: flex; flex-direction: column; }
.az-list__item { display: flex; gap: 12px; align-items: flex-start; padding: 11px 0; border-bottom: 1px solid var(--az-border); }
.az-list__item:last-child { border-bottom: none; padding-bottom: 0; }
.az-list__thumb { width: 72px; height: 52px; border-radius: 4px; object-fit: cover; background: linear-gradient(135deg, var(--az-blue-dk), var(--az-blue)); flex-shrink: 0; display: block; }
.az-list__cat { font-family: var(--font-h); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--az-blue); margin-bottom: 3px; }
.az-list__title { font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--az-text); overflow-wrap: break-word; }
.az-list__title:hover { color: var(--az-blue); }
.az-list__meta { font-size: 10px; color: var(--az-muted); margin-top: 4px; }

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.az-sidebar {
  display: flex; flex-direction: column; gap: 22px;
  /* Sticky: rimane visibile durante lo scroll desktop */
  position: sticky;
  top: var(--sticky-top, 112px);
  align-self: start;
}
.az-sb { background: var(--az-white); border: 1px solid var(--az-border); border-radius: 7px; overflow: hidden; }
.az-sb__title {
  font-family: var(--font-h); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em; color: #fff;
  background: linear-gradient(135deg, var(--az-blue-dk) 0%, var(--az-blue) 100%);
  padding: 9px 14px;
  border-radius: 0;
}
.az-sb__body { padding: 12px 14px; }

/* ── ARCHIVE HEADER ──────────────────────────────────────────── */
.az-arch-head { background: var(--az-blue); color: #fff; padding: 22px var(--gap); margin-bottom: 28px; }
.az-arch-head h1 { font-family: var(--font-h); font-size: 26px; font-weight: 800; text-transform: uppercase; overflow-wrap: break-word; }
.az-arch-head p { font-size: 14px; opacity: .7; margin-top: 4px; }

/* ── BREADCRUMB ──────────────────────────────────────────────── */
.az-breadcrumb { font-size: 12px; color: var(--az-muted); padding: 10px 0 18px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.az-breadcrumb a { color: var(--az-blue); }
.az-breadcrumb a:hover { text-decoration: underline; }
.az-breadcrumb__sep { color: var(--az-border); }

/* ── ARTICLE SINGLE ──────────────────────────────────────────── */
.az-art__cats { font-family: var(--font-h); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--az-blue); margin-bottom: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.az-art__cats a { color: var(--az-blue); }
.az-art__cats a:hover { text-decoration: underline; }
.az-art__cats .sep { color: var(--az-muted); }
.az-art__title { font-family: var(--font-h); font-size: 32px; font-weight: 800; line-height: 1.15; color: var(--az-text); margin-bottom: 14px; overflow-wrap: break-word; }
.az-art__sub { font-size: 17px; color: var(--az-muted); font-weight: 400; line-height: 1.55; margin-bottom: 18px; border-left: 3px solid var(--az-sky); padding-left: 14px; }
.az-art__byline { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--az-border); border-bottom: 1px solid var(--az-border); margin-bottom: 22px; flex-wrap: wrap; }
.az-byline__av { width: 38px; height: 38px; border-radius: 50%; background: var(--az-blue); display: flex; align-items: center; justify-content: center; font-family: var(--font-h); font-size: 14px; font-weight: 700; color: #fff; flex-shrink: 0; }
.az-byline__info { flex: 1; min-width: 100px; }
.az-byline__name { font-size: 13px; font-weight: 600; color: var(--az-text); }
.az-byline__meta { font-size: 11px; color: var(--az-muted); }
.az-byline__share { display: flex; gap: 8px; flex-wrap: wrap; }
.az-share { background: var(--az-blue); color: #fff; font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 4px; font-family: var(--font-h); letter-spacing: .04em; text-transform: uppercase; border: none; display: inline-block; transition: background .15s; }
.az-share:hover { background: var(--az-blue-lt); }

.az-art__feat { display: block; width: 100%; max-height: 420px; object-fit: cover; border-radius: 6px; margin-bottom: 10px; background: var(--az-blue-dk); }
.az-art__caption { font-size: 11px; color: var(--az-muted); font-style: italic; text-align: center; margin-bottom: 22px; }

.az-art__body { font-size: 16px; line-height: 1.78; color: var(--az-text); }
.az-art__body p { margin-bottom: 18px; overflow-wrap: break-word; }
.az-art__body h2 { font-family: var(--font-h); font-size: 22px; font-weight: 700; color: var(--az-text); margin: 32px 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--az-border); }
.az-art__body h3 { font-family: var(--font-h); font-size: 19px; font-weight: 700; color: var(--az-text); margin: 24px 0 10px; }
.az-art__body blockquote { border-left: 4px solid var(--az-blue); background: #eef2fb; padding: 14px 18px; border-radius: 0 6px 6px 0; margin: 22px 0; font-style: italic; color: #334; font-size: 15px; }
.az-art__body ul { margin: 0 0 18px 20px; list-style: disc; }
.az-art__body ol { margin: 0 0 18px 20px; list-style: decimal; }
.az-art__body li { margin-bottom: 6px; }
.az-art__body a { color: var(--az-blue); }
.az-art__body a:hover { text-decoration: underline; }
.az-art__body img { border-radius: 6px; margin: 22px auto; max-width: 100%; }
.az-art__body figure { margin: 22px 0; }
.az-art__body figcaption { font-size: 12px; color: var(--az-muted); text-align: center; margin-top: 6px; font-style: italic; }

/* ── READING PROGRESS BAR ────────────────────────────────────── */
.az-progress { position: fixed; top: 0; left: 0; height: 3px; background: var(--az-sky); width: 0%; z-index: 99999; transition: width .1s linear; }

/* ── TAGS ────────────────────────────────────────────────────── */
.az-tags { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--az-border); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.az-tags__lbl { font-size: 12px; color: var(--az-muted); font-weight: 600; }
.az-tag { background: #eef2fb; color: var(--az-blue); font-size: 12px; padding: 4px 10px; border-radius: 3px; font-weight: 500; transition: background .15s; display: inline-block; }
.az-tag:hover { background: #dde7f5; }

/* ── COMMENTS ────────────────────────────────────────────────── */
.az-comments { margin-top: 36px; padding-top: 22px; border-top: 2px solid var(--az-border); }
.az-comments__title { font-family: var(--font-h); font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--az-text); margin-bottom: 16px; }
#disqus_thread { min-height: 200px; }

/* ── PAGINATION ──────────────────────────────────────────────── */
.az-pag { display: flex; justify-content: center; gap: 8px; padding: 28px 0; flex-wrap: wrap; }
.az-pag a, .az-pag span { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 4px; font-size: 13px; font-weight: 600; border: 1px solid var(--az-border); background: var(--az-white); color: var(--az-text); transition: background .15s, color .15s; }
.az-pag a:hover, .az-pag .current { background: var(--az-blue); color: #fff; border-color: var(--az-blue); }

/* ── SEARCH FORM ─────────────────────────────────────────────── */
.az-search-form { display: flex; gap: 0; max-width: 500px; margin: 0 auto 28px; }
.az-search-form input { flex: 1; padding: 10px 14px; border: 1px solid var(--az-border); border-right: none; border-radius: 4px 0 0 4px; font-family: var(--font-b); font-size: 14px; outline: none; color: var(--az-text); background: #fff; }
.az-search-form button { background: var(--az-blue); color: #fff; border: none; padding: 10px 18px; border-radius: 0 4px 4px 0; font-family: var(--font-h); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: background .15s; }
.az-search-form button:hover { background: var(--az-blue-lt); }

/* ── NO RESULTS ──────────────────────────────────────────────── */
.az-nores { text-align: center; padding: 60px 20px; color: var(--az-muted); }
.az-nores h2 { font-family: var(--font-h); font-size: 22px; margin-bottom: 10px; color: var(--az-text); }

/* ── BACK TO TOP ─────────────────────────────────────────────── */
.az-top { position: fixed; bottom: 24px; right: 24px; width: 40px; height: 40px; background: var(--az-blue); color: #fff; border: none; border-radius: 50%; font-size: 18px; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; z-index: 500; box-shadow: 0 2px 10px rgba(18, 72, 200, .28); }
.az-top.az-top--show { opacity: 1; pointer-events: auto; }
.az-top:hover { transform: translateY(-3px); }

/* ── FOOTER ──────────────────────────────────────────────────── */
.az-footer { background: var(--az-blue-dk); color: rgba(255,255,255,.6); margin-top: 48px; }
.az-footer__top { max-width: var(--wrap); margin: 0 auto; padding: 32px var(--gap) 24px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 36px; }
.az-footer__logo { font-family: var(--font-h); font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 10px; }
.az-footer__logo span { color: var(--az-sky); }
.az-footer__desc { font-size: 12px; line-height: 1.65; max-width: 290px; }
.az-footer__col-title { font-family: var(--font-h); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.35); margin-bottom: 12px; }
.az-footer__col nav { display: flex; flex-direction: column; }
.az-footer__col nav a, .az-footer__col ul li a, .az-footer__col li a { display: block; font-size: 13px; color: rgba(255,255,255,.6); padding: 3px 0; transition: color .15s; list-style: none; }
.az-footer__col nav a:hover, .az-footer__col li a:hover { color: #fff; }
.az-footer__col ul, .az-footer__col li { list-style: none; }
.az-footer__bot { border-top: 1px solid rgba(255,255,255,.07); }
.az-footer__bot-in { max-width: var(--wrap); margin: 0 auto; padding: 12px var(--gap); display: flex; justify-content: space-between; align-items: center; font-size: 11px; flex-wrap: wrap; gap: 8px; }
.az-footer__links { display: flex; gap: 16px; }
.az-footer__links a { color: rgba(255,255,255,.4); transition: color .15s; }
.az-footer__links a:hover { color: rgba(255,255,255,.75); }

/* ── WP ALIGN ────────────────────────────────────────────────── */
.wp-block-image.alignleft { float: left; margin: 0 22px 16px 0; }
.wp-block-image.alignright { float: right; margin: 0 0 16px 22px; }
.wp-block-image.aligncenter { margin: 22px auto; }
.clearfix::after { content: ''; display: table; clear: both; }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .az-layout { grid-template-columns: 1fr 260px; }
}
@media (max-width: 860px) {
  .az-layout { grid-template-columns: 1fr; }
  /* Sidebar: disattiva sticky su tablet/mobile */
  .az-sidebar { position: static; top: auto; }
  .az-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
  .az-footer__top { grid-template-columns: 1fr 1fr; }
  .az-grid--3, .az-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .az-hero-duo { grid-template-columns: 1fr; }
  .az-art__title { font-size: 26px; }

  /* hamburger mobile */
  .az-hamburger { display: flex; }
  .az-nav-wrap .az-wrap { position: relative; }
  .az-nav {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--az-blue-dk);
    flex-direction: column;
    border-top: 2px solid var(--az-sky);
    z-index: 500;
    padding: 8px 0;
    box-shadow: 0 8px 20px rgba(0,0,0,.3);
  }
  .az-nav-wrap.az-nav-open .az-nav { display: flex; }
  .az-nav > li > a { padding: 11px 20px; border-bottom: none; margin-bottom: 0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .az-nav > li > ul { position: static; border-top: none; box-shadow: none; border-radius: 0; background: rgba(0,0,0,.2); padding: 0; }
  .az-nav > li > ul > li > a { padding: 8px 32px; }
}
@media (max-width: 600px) {
  :root { --gap: 14px; }
  .az-grid--2, .az-grid--3, .az-grid--4 { grid-template-columns: 1fr; }
  .az-sidebar { display: flex; }
  .az-footer__top { grid-template-columns: 1fr; }
  .az-logo { font-size: 22px; }
  .az-search-wrap { display: none; }
  .az-art__title { font-size: 22px; }
  .az-byline__share { display: none; }
  .az-topbar { display: none; }
  .az-top { bottom: 16px; right: 16px; }
}

/* ── LOGO IMAGE ──────────────────────────────────────────────── */
.az-logo-text { font-family: var(--font-h); font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -.5px; line-height: 1; }
.az-logo-text span { color: var(--az-sky); }
.az-logo-text sup { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.4); vertical-align: super; margin-left: 1px; font-family: var(--font-b); }

.az-logo-img { width: 200px; height: 50px; object-fit: contain; object-position: left center; display: block; }
.az-logo-img--mob { display: none; }
@media (max-width: 860px) {
  .az-logo-img--desk { display: none; }
  .az-logo-img--mob { display: block; }
}

.az-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }

/* ============================================================
   v7.0.0 — Hero triplo, card wide, load more
   ============================================================ */

/* ── HERO TRIPLO (1 grande + 2 affiancati) ───────────────────── */
.az-hero-triple {
  display: grid;
  grid-template-columns: 7fr 5fr;
  grid-template-rows: 232px 232px;
  gap: 4px;
  margin-bottom: 28px;
  border-radius: 8px;
  overflow: hidden;
}
/* Hero principale: span su entrambe le righe */
.az-hero-triple__main {
  grid-row: 1 / 3;
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--az-blue-dk);
}
.az-hero-triple__main img,
.az-hero-triple__main .az-hero__img,
.az-hero-triple__main .az-hero__img--ph {
  width: 100%; height: 100%;
  min-height: 468px;
  object-fit: cover;
  display: block;
}
/* Colonna destra: flex column per i 2 secondari */
.az-hero-triple__right {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* Articoli secondari */
.az-hero-triple__sec {
  position: relative;
  display: block;
  overflow: hidden;
  flex: 1;
  background: var(--az-blue-dk);
  min-height: 0;
}
.az-hero-triple__sec img,
.az-hero-triple__sec .az-hero__img,
.az-hero-triple__sec .az-hero__img--ph {
  width: 100%; height: 100%;
  min-height: 232px;
  object-fit: cover;
  display: block;
}
/* Overlay più piccolo per i secondari */
.az-hero__overlay--sm {
  padding: 38px 16px 16px;
}
/* Hover scale sulle immagini del triplo */
.az-hero-triple__main img,
.az-hero-triple__sec img {
  transition: transform .4s ease;
}
.az-hero-triple__main:hover img,
.az-hero-triple__sec:hover img { transform: scale(1.04); }

/* Responsive hero triplo */
@media (max-width: 860px) {
  .az-hero-triple {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .az-hero-triple__main {
    grid-row: auto;
    height: 280px;
  }
  .az-hero-triple__main img,
  .az-hero-triple__main .az-hero__img,
  .az-hero-triple__main .az-hero__img--ph { min-height: 280px; height: 280px; }
  .az-hero-triple__right { flex-direction: row; }
  .az-hero-triple__sec { height: 180px; }
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph { min-height: 180px; height: 180px; }
}
@media (max-width: 600px) {
  .az-hero-triple__right { flex-direction: column; }
  .az-hero-triple__sec { height: 160px; }
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph { min-height: 160px; height: 160px; }
}

/* ── FEATURED CARD WIDE ───────────────────────────────────────── */
.az-card-wide {
  display: grid;
  grid-template-columns: 320px 1fr;
  background: var(--az-white);
  border: 1px solid var(--az-border);
  border-radius: 7px;
  overflow: hidden;
  margin-bottom: 20px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .22s, transform .18s;
}
.az-card-wide:hover {
  box-shadow: 0 6px 22px rgba(18,72,200,.13);
  transform: translateY(-2px);
}
.az-card-wide__img-wrap {
  overflow: hidden;
  height: 100%;
  min-height: 170px;
  background: linear-gradient(135deg, var(--az-blue-dk), var(--az-blue));
}
.az-card-wide__img {
  display: block;
  width: 100%; height: 100%;
  min-height: 170px;
  object-fit: cover;
  background: linear-gradient(135deg, var(--az-blue-dk), var(--az-blue));
  transition: transform .32s;
}
.az-card-wide:hover .az-card-wide__img { transform: scale(1.04); }
.az-card-wide__body {
  padding: 22px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.az-card-wide__cat {
  font-family: var(--font-h);
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  color: var(--az-blue);
}
.az-card-wide__title {
  font-family: var(--font-h);
  font-size: 21px; font-weight: 800;
  line-height: 1.22;
  color: var(--az-text);
  overflow-wrap: break-word;
}
.az-card-wide__title:hover { color: var(--az-blue); }
.az-card-wide__excerpt {
  font-size: 13px;
  color: var(--az-muted);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.az-card-wide__meta {
  font-size: 11px;
  color: var(--az-muted);
}

/* Responsive card wide */
@media (max-width: 860px) {
  .az-card-wide { grid-template-columns: 1fr; }
  .az-card-wide__img-wrap { height: 210px; min-height: 210px; }
  .az-card-wide__img { height: 210px; min-height: 210px; }
}

/* ── LOAD MORE ────────────────────────────────────────────────── */
.az-loadmore-wrap {
  display: flex;
  justify-content: center;
  padding: 30px 0 8px;
}
.az-loadmore-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: transparent;
  color: var(--az-blue);
  border: 2px solid var(--az-blue);
  border-radius: 4px;
  font-family: var(--font-h);
  font-size: 13px; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  padding: 11px 38px;
  cursor: pointer;
  transition: background .18s, color .18s, opacity .2s;
}
.az-loadmore-btn:hover {
  background: var(--az-blue);
  color: #fff;
}
.az-loadmore-btn:disabled {
  opacity: .55;
  cursor: default;
}
.az-loadmore-btn.az-lm-hide { display: none; }

.az-loadmore-spinner {
  width: 14px; height: 14px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: az-spin .65s linear infinite;
  display: none;
  flex-shrink: 0;
}
.az-loadmore-btn:disabled .az-loadmore-spinner { display: inline-block; }
.az-loadmore-btn:disabled .az-loadmore-arrow  { display: none; }

@keyframes az-spin { to { transform: rotate(360deg); } }

/* Card appese via AJAX: fade-in */
@keyframes az-fadein {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.az-card--new { animation: az-fadein .3s ease both; }

/* ============================================================
   v7.1.0 — Fix immagini rotte hero, design improvements
   ============================================================ */

/* ── HERO TRIPLO: gradient sempre visibile come sfondo ───────── */
/* Quando img è rotta/mancante, il gradient copre tutta l'area */
.az-hero-triple__main {
  background: linear-gradient(160deg, #001244 0%, #0a2d8a 100%) !important;
}
.az-hero-triple__sec {
  background: linear-gradient(160deg, #001244 0%, #0a2d8a 100%) !important;
}
/* L'immagine copre il gradient quando carica correttamente */
.az-hero-triple__main > img.az-hero__img,
.az-hero-triple__sec > img.az-hero__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  z-index: 1;
}
/* Overlay e titoli sopra l'immagine */
.az-hero-triple__main > .az-hero__overlay,
.az-hero-triple__sec > .az-hero__overlay {
  z-index: 2;
}
/* Overlay più lungo: copre meglio anche quando l'area è grande */
.az-hero-triple__main .az-hero__overlay {
  background: linear-gradient(0deg,
    rgba(0,0,0,.92) 0%,
    rgba(0,0,0,.5)  40%,
    rgba(0,0,0,0)   100%);
  padding: 64px 24px 24px;
}
.az-hero-triple__sec .az-hero__overlay--sm {
  background: linear-gradient(0deg,
    rgba(0,0,0,.9)  0%,
    rgba(0,0,0,.45) 50%,
    rgba(0,0,0,0)   100%);
  padding: 44px 14px 14px;
}
/* Titolo secondario: dimensione più gestibile */
.az-hero-triple__sec .az-hero__title--sm {
  font-size: 14px !important;
  line-height: 1.3;
}

/* ── CARD WIDE: gradient sfondo garantito ────────────────────── */
.az-card-wide__img-wrap {
  background: linear-gradient(160deg, #001244 0%, #0a2d8a 100%);
}
/* Immagine absolute fill nel wrapper */
.az-card-wide__img-wrap > img.az-card-wide__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
/* Il wrapper ha position relative */
.az-card-wide__img-wrap {
  position: relative;
  min-height: 180px;
}

/* ── ARTICOLO SINGOLO: miglioramenti tipografici ─────────────── */
/* Titolo H1 più respirato */
.az-art__title {
  font-size: 30px;
  line-height: 1.18;
  letter-spacing: -.01em;
}
/* Lead/excerpt più leggibile */
.az-art__sub {
  font-size: 16px;
  line-height: 1.6;
  color: #4b5563;
  border-left-color: var(--az-blue);
}
/* Body articolo: link più visibili */
.az-art__body a {
  color: var(--az-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* H2 nel body: bordo più sottile */
.az-art__body h2 {
  font-size: 20px;
  border-bottom-color: var(--az-border);
  color: var(--az-text);
}
/* Byline: avatar leggermente più grande */
.az-byline__av {
  width: 40px;
  height: 40px;
  background: var(--az-blue);
}
/* Share bottom: margine migliorato */
.az-art__body + div[style*="margin-top:28px"] {
  border-top: 1px solid var(--az-border);
}

/* ── CORRELATI "LEGGI ANCHE": stile sezione distinto ─────────── */
/* Bordo sinistro verde/cielo per differenziarsi dai "Potrebbe interessarti" Disqus */
.az-art__leggi-anche .az-sh__title::before {
  background: var(--az-sky);
}

/* ── CARD GRIGLIA: gradient sfondo su card__link ─────────────── */
/* Quando img mancante/rotta, il gradient è visibile tramite il background */
/* aspect-ratio:16/9 è già definito sopra nel CSS base */
.az-card__link {
  position: relative;
  background: linear-gradient(135deg, var(--az-blue-dk) 0%, var(--az-blue) 100%);
}
/* Immagine come absolute fill: copre il gradient quando carica */
.az-card__link > img.az-card__img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  z-index: 1;
}

/* ── SIDEBAR: lista thumbnail più grande ─────────────────────── */
.az-list__thumb {
  width: 76px;
  height: 56px;
  border-radius: 4px;
  flex-shrink: 0;
}

/* ── SECTION HEADER: accent color più visibile ───────────────── */
.az-sh {
  border-bottom-color: var(--az-blue);
  margin-bottom: 20px;
}

/* ============================================================
   v7.2.0 — Wrap 1250px, sidebar 320px, più respiro ovunque
   ============================================================ */

/* ── VIEWPORT e LAYOUT BASE ───────────────────────────────────── */
:root {
  --wrap: 1250px;   /* era 1160px */
  --gap:  24px;     /* era 20px — più margine laterale */
}

/* Sidebar più ampia, gap layout più respirato */
.az-layout {
  grid-template-columns: 1fr 320px;  /* era 300px */
  gap: 36px;                          /* era 28px */
}
@media (max-width: 1100px) {
  .az-layout { grid-template-columns: 1fr 280px; gap: 28px; }
}

/* ── MAIN: più aria sopra e sotto ─────────────────────────────── */
.az-main { padding: 32px var(--gap); }  /* era 24px */

/* ── HERO TRIPLO: più respiro ─────────────────────────────────── */
.az-hero-triple {
  grid-template-rows: 244px 244px;   /* era 232px */
  gap: 6px;                           /* era 4px */
  margin-bottom: 36px;               /* era 28px */
}
.az-hero-triple__main .az-hero__overlay { padding: 72px 28px 28px; }
.az-hero-triple__sec  .az-hero__overlay--sm { padding: 50px 16px 16px; }

/* Hero titolo principale: più grande su viewport ampio */
.az-hero-triple__main .az-hero__title {
  font-size: 28px;
  line-height: 1.18;
}

/* Hero singolo/doppio: stesso respiro */
.az-hero { margin-bottom: 36px; }

/* ── SECTION HEADER: più staccato ────────────────────────────── */
.az-section { margin-bottom: 44px; }   /* era 32px */
.az-sh { margin-bottom: 24px; }        /* era 18px */
.az-sh__title::before { height: 20px; } /* era 16px — barra più visibile */

/* ── CARD GRIGLIA: più gap e padding ─────────────────────────── */
.az-grid { gap: 20px; }   /* era 16px */
.az-card { border-radius: 8px; }
.az-card__body { padding: 16px 16px; gap: 5px; }  /* era 13px 14px */
.az-card__title { font-size: 14.5px; line-height: 1.4; }

/* Hover più pronunciato: brightness + lift */
.az-card:hover {
  box-shadow: 0 8px 28px rgba(18,72,200,.15);
  transform: translateY(-4px);
}
.az-card:hover .az-card__img { transform: scale(1.05); filter: brightness(1.04); }

/* ── FEATURED CARD WIDE: più alta ────────────────────────────── */
.az-card-wide { margin-bottom: 28px; }  /* era 20px */
.az-card-wide__img-wrap { min-height: 200px; }  /* era 180px */
.az-card-wide__body { padding: 26px 30px; gap: 10px; }  /* era 22px 26px */
.az-card-wide__title { font-size: 22px; }  /* era 21px */

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.az-sidebar { gap: 28px; }             /* era 22px */
.az-sb { border-radius: 8px; }
.az-sb__title { padding: 11px 16px; font-size: 12.5px; }
.az-sb__body  { padding: 14px 16px; }
.az-list__item { padding: 13px 0; }    /* era 11px */

/* ── BOX AUTORE (widget custom + fallback sidebar singolo) ───── */
.az-author-box { display: flex; flex-direction: column; gap: 12px; }
.az-author-box__head {
  display: flex; align-items: center; gap: 14px;
}
.az-author-box__avatar {
  width: 58px; height: 58px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid var(--az-off);
}
.az-author-box__label {
  display: block;
  font-family: var(--font-h); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  color: var(--az-blue); margin-bottom: 2px;
}
.az-author-box__name {
  font-weight: 700; font-size: 14px; color: var(--az-text);
  line-height: 1.2;
}
.az-author-box__bio {
  font-size: 12.5px; color: var(--az-muted);
  line-height: 1.6; margin: 0;
}
.az-author-box__link {
  display: inline-block;
  font-family: var(--font-h); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--az-blue); transition: color .15s;
}
.az-author-box__link:hover { color: var(--az-blue-lt); text-decoration: underline; }

/* ── BADGE NUOVO ─────────────────────────────────────────────── */
.az-badge-new {
  display: inline-block;
  background: var(--az-red); color: #fff;
  font-family: var(--font-h); font-size: 9px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  padding: 2px 5px; border-radius: 2px;
  vertical-align: middle; margin-right: 3px;
  flex-shrink: 0;
}

/* ── ARTICOLO SINGOLO: più respiro ───────────────────────────── */
.az-breadcrumb { padding: 14px 0 24px; }      /* era 10px 0 18px */
.az-art__title { margin-bottom: 18px; }        /* era 14px */
.az-art__byline { padding: 16px 0; margin-bottom: 28px; }  /* era 12px / 22px */
.az-art__body { font-size: 16px; }
.az-art__body p { margin-bottom: 20px; }       /* era 18px */
.az-art__body h2 { margin: 36px 0 16px; }     /* era 32px 0 14px */
.az-art__body h3 { margin: 28px 0 12px; }     /* era 24px 0 10px */
.az-tags { margin-top: 32px; padding-top: 20px; }

/* ── FOOTER: più aria ────────────────────────────────────────── */
.az-footer { margin-top: 60px; }               /* era 48px */
.az-footer__top { padding: 40px var(--gap) 32px; }  /* era 32px / 24px */

/* ── PAGINATION ──────────────────────────────────────────────── */
.az-pag { padding: 36px 0; }  /* era 28px */

/* ── TOPBAR: fix var(--gap) ──────────────────────────────────── */
/* Topbar usa --gap aggiornato automaticamente */

/* ── ARCH HEAD: più spazio ───────────────────────────────────── */
.az-arch-head { padding: 28px var(--gap); margin-bottom: 36px; }

/* ============================================================
   v7.3.0 — Backend-editable redazione, contatti, footer, UX fix
   ============================================================ */

/* Accessibilità */
.az-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* Sidebar sticky più sicura su desktop */
@media (min-width: 861px) {
  .az-sidebar {
    max-height: calc(100vh - var(--sticky-top, 112px) - 20px);
    overflow-y: auto;
    scrollbar-width: thin;
    padding-right: 2px;
  }
}

/* Pagine statiche editoriali */
.az-page-card {
  background: var(--az-white);
  border: 1px solid var(--az-border);
  border-radius: 10px;
  padding: 34px;
  box-shadow: 0 8px 28px rgba(18,72,200,.055);
}
.az-page-hero {
  border-bottom: 1px solid var(--az-border);
  padding-bottom: 24px;
  margin-bottom: 28px;
}
.az-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-h);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--az-blue);
  margin-bottom: 10px;
}
.az-page-kicker::before {
  content: '';
  width: 3px; height: 16px;
  border-radius: 2px;
  background: var(--az-blue);
}
.az-page-title {
  font-family: var(--font-h);
  font-size: 34px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 0 0 12px;
  color: var(--az-text);
}
.az-page-lead {
  max-width: 740px;
  font-size: 17px;
  line-height: 1.65;
  color: #4b5563;
  margin: 0;
}
.az-page-content {
  margin-bottom: 32px;
}
.az-empty-box {
  background: #eef4ff;
  border: 1px solid #cddcff;
  color: #1f3763;
  border-radius: 8px;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.6;
}

/* Redazione */
.az-team-section { margin-top: 10px; }
.az-team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.az-team-card {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  background: #fff;
  transition: box-shadow .18s, transform .18s, border-color .18s;
}
.az-team-card:hover {
  transform: translateY(-2px);
  border-color: #c9d6f1;
  box-shadow: 0 8px 24px rgba(18,72,200,.09);
}
.az-team-card__photo img,
.az-team-card__initials {
  width: 88px; height: 88px;
  border-radius: 50%;
  object-fit: cover;
  background: linear-gradient(135deg, var(--az-blue-dk), var(--az-blue));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-h);
  font-size: 32px;
  font-weight: 800;
  border: 4px solid var(--az-off);
}
.az-team-card__name {
  font-family: var(--font-h);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--az-text);
}
.az-team-card__role {
  color: var(--az-blue);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 10px;
}
.az-team-card__bio {
  font-size: 14px;
  line-height: 1.65;
  color: #4b5563;
}
.az-team-card__bio p:last-child { margin-bottom: 0; }
.az-team-card__links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.az-team-card__links a {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-h);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--az-blue);
}
.az-team-card__links a:hover { color: var(--az-blue-lt); text-decoration: underline; }

/* Contatti */
.az-contact-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  align-items: start;
}
.az-contact-box {
  background: #eef4ff;
  border: 1px solid #d5e1ff;
  border-radius: 10px;
  padding: 20px;
}
.az-contact-box h2 {
  font-family: var(--font-h);
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 8px;
}
.az-contact-box p {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.6;
  margin-bottom: 16px;
}
.az-contact-meta {
  padding-top: 14px;
  border-top: 1px solid #d5e1ff;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.az-contact-meta span {
  font-family: var(--font-h);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--az-blue);
}
.az-contact-meta strong {
  font-size: 13px;
  color: var(--az-text);
  overflow-wrap: anywhere;
}
.az-contact-form-wrap {
  background: #fff;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  padding: 22px;
}
.az-contact-form p { margin-bottom: 16px; }
.az-contact-form label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--az-text);
  margin-bottom: 6px;
}
.az-contact-form label span { color: var(--az-red); }
.az-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.az-contact-form input,
.az-contact-form textarea,
.az-art__body .wpcf7 input,
.az-art__body .wpcf7 textarea,
.az-art__body .wpcf7 select {
  width: 100%;
  border: 1px solid var(--az-border);
  border-radius: 7px;
  background: #fff;
  color: var(--az-text);
  padding: 11px 12px;
  font-family: var(--font-b);
  font-size: 14px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.az-contact-form textarea,
.az-art__body .wpcf7 textarea { resize: vertical; min-height: 150px; }
.az-contact-form input:focus,
.az-contact-form textarea:focus,
.az-art__body .wpcf7 input:focus,
.az-art__body .wpcf7 textarea:focus,
.az-art__body .wpcf7 select:focus {
  border-color: var(--az-blue);
  box-shadow: 0 0 0 3px rgba(18,72,200,.12);
}
.az-btn,
.az-art__body .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  padding: 11px 18px;
  font-family: var(--font-h);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: var(--az-blue);
  color: #fff;
  cursor: pointer;
  transition: background .15s, transform .15s;
}
.az-btn:hover,
.az-art__body .wpcf7-submit:hover { background: var(--az-blue-lt); transform: translateY(-1px); }
.az-form-alert {
  border-radius: 7px;
  padding: 12px 14px;
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.5;
}
.az-form-alert--ok { background: #edf9f0; border: 1px solid #b9e5c4; color: #155724; }
.az-form-alert--err { background: #fff1f1; border: 1px solid #f2c5c5; color: #8a1f1f; }
.az-hp-field { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }

/* Footer gestibile da backend */
.az-footer__top {
  grid-template-columns: 1.7fr 1fr 1fr 1fr;
  align-items: start;
}
.az-footer__brand { min-width: 0; }
.az-footer__col nav ul,
.az-footer__col ul {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 0;
}
.az-footer__col nav a,
.az-footer__col ul li a,
.az-footer__col li a {
  padding: 0;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.az-footer__links { align-items: center; flex-wrap: wrap; }
.az-footer__links nav, .az-footer__links ul { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 0; padding: 0; }
.az-footer__links li { list-style: none; }
.az-footer__links li a { color: rgba(255,255,255,.4); }
.az-footer__links li a:hover { color: rgba(255,255,255,.75); }

/* Menu mobile: evita blocchi troppo invadenti */
@media (max-width: 860px) {
  .az-page-card { padding: 26px; }
  .az-page-title { font-size: 30px; }
  .az-team-grid { grid-template-columns: 1fr; }
  .az-contact-layout { grid-template-columns: 1fr; }
  .az-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .az-page-card { padding: 20px; border-radius: 8px; }
  .az-page-title { font-size: 26px; }
  .az-page-lead { font-size: 15.5px; }
  .az-team-card { grid-template-columns: 1fr; text-align: left; }
  .az-team-card__photo img,
  .az-team-card__initials { width: 74px; height: 74px; font-size: 28px; }
  .az-form-grid { grid-template-columns: 1fr; gap: 0; }
  .az-contact-form-wrap { padding: 18px; }
  .az-footer__top { grid-template-columns: 1fr; }
}


/* ============================================================
   v7.3.1 — Mobile sidebar fix + articolo singolo evoluto
   ============================================================ */

/* Fix definitivo: dopo i breakpoint v7.2 la regola max-width:1100
   riattivava la seconda colonna anche sotto 860px. */
@media (max-width: 860px) {
  .az-layout,
  .az-layout--single {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
    width: 100% !important;
  }
  .az-sidebar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding-right: 0 !important;
    z-index: auto !important;
  }
  .az-sidebar > * {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 600px) {
  .az-main { padding: 20px var(--gap) 24px; }
  .az-main--single { padding-top: 18px; }
  .az-sb__body { padding: 13px 14px; }
  .az-list__item { gap: 10px; }
  .az-list__thumb { width: 68px; height: 50px; }
}

/* Layout articolo */
.az-main--single {
  max-width: 1250px;
}
.az-layout--single {
  align-items: start;
}
.az-article {
  background: var(--az-white);
  border: 1px solid var(--az-border);
  border-radius: 12px;
  padding: 34px 38px 38px;
  box-shadow: 0 10px 32px rgba(18,72,200,.055);
  min-width: 0;
}
.az-art__head {
  max-width: 820px;
}
.az-breadcrumb--single {
  max-width: 850px;
}
.az-art__cats {
  margin-bottom: 12px;
}
.az-art__cats a {
  display: inline-flex;
  align-items: center;
  border-radius: 4px;
  background: #eef4ff;
  padding: 4px 9px;
  text-decoration: none;
}
.az-art__title {
  font-size: var(--az-typo-article-h1, clamp(30px, 3.4vw, 44px));
  line-height: var(--az-typo-article-h1-lh, 1.06);
  letter-spacing: -.02em;
  margin-bottom: 16px;
}
.az-art__sub {
  max-width: 780px;
  font-size: 18px;
  line-height: 1.62;
  background: #f6f8fd;
  border-left: 4px solid var(--az-blue);
  border-radius: 0 8px 8px 0;
  padding: 14px 18px;
  margin-bottom: 22px;
}
.az-art__byline {
  max-width: 820px;
  background: #f9fbff;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  padding: 13px 14px;
  margin-bottom: 28px;
}
.az-byline__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  line-height: 1.45;
}
.az-meta-dot {
  color: #c5ccda;
}
.az-art__figure {
  margin: 0 0 26px;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.az-art__feat {
  max-height: none;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  margin: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.az-art__caption {
  margin: 9px 0 0;
  text-align: left;
}
.az-art__body {
  max-width: 780px;
  font-size: 17px;
  line-height: 1.82;
}
.az-art__body > *:first-child { margin-top: 0; }
.az-art__body p {
  margin-bottom: 22px;
}
.az-art__body h2 {
  position: relative;
  border-bottom: 0;
  padding: 0 0 0 16px;
  margin: 42px 0 16px;
  font-size: 25px;
  line-height: 1.18;
}
.az-art__body h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: .12em;
  width: 4px;
  height: 1.05em;
  border-radius: 3px;
  background: var(--az-blue);
}
.az-art__body h3 {
  font-size: 21px;
  line-height: 1.25;
}
.az-art__body blockquote {
  background: #f1f6ff;
  border-left-color: var(--az-blue);
  border-radius: 0 10px 10px 0;
  padding: 18px 20px;
  font-size: 16px;
}
.az-art__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 26px 0;
  font-size: 14px;
  overflow: hidden;
  border-radius: 8px;
}
.az-art__body th,
.az-art__body td {
  border: 1px solid var(--az-border);
  padding: 10px 12px;
  text-align: left;
}
.az-art__body th {
  background: #eef4ff;
  color: var(--az-text);
  font-weight: 700;
}
.az-tags,
.az-sharebox,
.az-post-nav,
.az-art__leggi-anche,
.az-comments {
  max-width: 820px;
}
.az-sharebox {
  margin-top: 30px;
  padding: 18px;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  background: #f9fbff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.az-sharebox p {
  font-size: 13px;
  color: var(--az-muted);
  font-weight: 600;
  margin: 0;
}
.az-sharebox .az-byline__share {
  display: flex;
}
.az-post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}
.az-post-nav__item {
  display: block;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  background: #fff;
  padding: 14px 16px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.az-post-nav__item:hover {
  border-color: #c6d5f2;
  box-shadow: 0 8px 22px rgba(18,72,200,.09);
  transform: translateY(-1px);
}
.az-post-nav__item span {
  display: block;
  font-family: var(--font-h);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--az-blue);
  margin-bottom: 5px;
}
.az-post-nav__item strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.35;
  color: var(--az-text);
}
.az-post-nav__item--next {
  text-align: right;
}
.az-art__leggi-anche {
  margin-top: 34px;
}
.az-related-grid .az-card__title {
  font-size: 14px;
}
.az-comments {
  margin-top: 38px;
}

@media (min-width: 861px) {
  .az-layout--single {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
  .az-article {
    overflow: hidden;
  }
}

@media (max-width: 860px) {
  .az-article {
    padding: 26px;
    border-radius: 10px;
  }
  .az-breadcrumb--single {
    padding-bottom: 16px;
  }
  .az-art__head,
  .az-art__body,
  .az-tags,
  .az-sharebox,
  .az-post-nav,
  .az-art__leggi-anche,
  .az-comments {
    max-width: none;
  }
  .az-art__byline {
    max-width: none;
  }
  .az-byline__share {
    width: 100%;
    margin-top: 8px;
  }
  .az-art__feat {
    border-radius: 8px;
  }
  .az-post-nav {
    grid-template-columns: 1fr;
  }
  .az-post-nav__item--next {
    text-align: left;
  }
}

@media (max-width: 600px) {
  .az-article {
    padding: 20px 18px 24px;
    margin-left: -2px;
    margin-right: -2px;
  }
  .az-art__title {
    font-size: 30px;
    line-height: 1.08;
  }
  .az-art__sub {
    font-size: 16px;
    padding: 12px 14px;
  }
  .az-art__byline {
    gap: 10px;
    padding: 12px;
  }
  .az-art__body {
    font-size: 16.5px;
    line-height: 1.78;
  }
  .az-art__body h2 {
    font-size: 22px;
    margin-top: 36px;
  }
  .az-sharebox {
    padding: 15px;
  }
  .az-sharebox .az-byline__share,
  .az-sharebox .az-share {
    width: 100%;
  }
  .az-sharebox .az-share {
    justify-content: center;
  }
}

/* ============================================================
   v7.3.2 — Sidebar latest stabile + refinements singolo articolo
   ============================================================ */

/* Sidebar ultime notizie: layout text-only intenzionale.
   Evita disallineamenti quando i titoli iniziano con emoji o quando
   le thumbnail sono assenti/rotte in uploads. */
.az-sb--latest .az-sb__body {
  padding: 0 16px;
}
.az-list--sidebar-latest {
  display: block;
}
.az-list--sidebar-latest .az-list__item {
  display: block !important;
  padding: 20px 0;
  border-bottom: 1px solid var(--az-border);
  text-align: left !important;
}
.az-list--sidebar-latest .az-list__item:last-child {
  border-bottom: 0;
}
.az-list--sidebar-latest .az-list__content {
  min-width: 0;
  width: 100%;
}
.az-list--sidebar-latest .az-list__cat {
  display: block;
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.1;
  text-align: left !important;
}
.az-list--sidebar-latest .az-list__title {
  display: block;
  font-size: 15px;
  line-height: 1.42;
  font-weight: 800;
  letter-spacing: -.01em;
  text-align: left !important;
  overflow-wrap: break-word;
  hyphens: auto;
}
.az-list--sidebar-latest .az-list__meta {
  margin-top: 8px;
  font-size: 11.5px;
  line-height: 1.2;
  text-align: left !important;
}
.az-list--sidebar-latest .az-title-with-emoji {
  display: grid;
  grid-template-columns: 1.35em minmax(0, 1fr);
  column-gap: .24em;
  align-items: start;
}
.az-list--sidebar-latest .az-title-emoji {
  display: block;
  width: 1.35em;
  line-height: 1.25;
  text-align: center;
  transform: translateY(.03em);
}
.az-list--sidebar-latest .az-title-text {
  min-width: 0;
}

/* Articolo: autore inline vicino al contenuto su mobile/tablet.
   Su desktop resta sufficiente il box autore nella sidebar. */
.az-author-inline {
  display: none;
  max-width: 820px;
  margin: 30px 0 0;
  padding: 18px;
  border: 1px solid var(--az-border);
  border-radius: 12px;
  background: #f9fbff;
}
.az-author-inline__title {
  font-family: var(--font-h);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--az-blue);
  margin-bottom: 12px;
}
.az-author-inline .az-author-box {
  gap: 10px;
}
.az-author-inline .az-author-box__bio {
  color: #4b5563;
}

/* Singolo articolo: più tenuta su contenuti lunghi, embed e tabelle. */
.az-art__body iframe,
.az-art__body video,
.az-art__body embed,
.az-art__body object {
  max-width: 100%;
}
.az-art__body .wp-block-table,
.az-art__body table {
  overflow-x: auto;
}
.az-art__body .wp-block-image img,
.az-art__body img {
  height: auto;
}
.az-art__body > ul,
.az-art__body > ol {
  padding-left: 1.15em;
}
.az-art__body li::marker {
  color: var(--az-blue);
  font-weight: 700;
}

/* Correlati: titoli più ordinati e card meno compresse nel singolo. */
.az-art__leggi-anche .az-card__body {
  min-height: 118px;
}
.az-art__leggi-anche .az-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 860px) {
  .az-author-inline {
    display: block;
    max-width: none;
  }
  .az-sidebar .az-sb--author {
    display: none;
  }
  .az-sb--latest .az-sb__body {
    padding: 0 14px;
  }
  .az-list--sidebar-latest .az-list__item {
    padding: 17px 0;
  }
  .az-list--sidebar-latest .az-list__title {
    font-size: 14.5px;
  }
}

@media (max-width: 600px) {
  .az-author-inline {
    margin-top: 26px;
    padding: 15px;
  }
  .az-art__body table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* ============================================================
   v7.3.4 — Fix slug emoji, sidebar autore e title article
   ============================================================ */

/* Sidebar desktop: niente clipping interno dei widget. La sticky resta,
   ma i box non vengono più tagliati da max-height/overflow del contenitore. */
@media (min-width: 861px) {
  .az-sidebar {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }
  .az-sb--author,
  .az-sb--author .az-sb__body,
  .az-sb--author .az-author-box {
    overflow: visible !important;
  }
}
.az-sb--author .az-sb__body {
  padding-bottom: 20px;
}
.az-sb--author .az-author-box {
  min-height: 0;
}
.az-sb--author .az-author-box__head {
  min-width: 0;
}
.az-sb--author .az-author-box__name,
.az-sb--author .az-author-box__bio,
.az-sb--author .az-author-box__link {
  overflow-wrap: anywhere;
}
.az-sb--author .az-author-box__link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  line-height: 1.25;
  margin-top: 1px;
}

/* H1 articolo con emoji iniziale: emoji e testo restano allineati,
   senza intaccare il titolo editoriale. */
.az-art__title .az-title-with-emoji {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: .16em;
}
.az-art__title .az-title-emoji {
  display: inline-block;
  line-height: .95;
  transform: translateY(.04em);
}
.az-art__title .az-title-text {
  min-width: 0;
}

/* Link nel corpo articolo più riconoscibili senza effetto troppo invasivo. */
.az-art__body a {
  color: var(--az-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.az-art__body a:hover {
  color: var(--az-blue-dk);
}

/* Metadati più stabili quando data/tempo lettura vanno su più righe. */
.az-byline__info {
  min-width: 0;
}
.az-byline__name,
.az-byline__meta {
  overflow-wrap: anywhere;
}

/* ============================================================
   v7.3.5/7.3.6 — Refactor header + menu desktop/mobile
   ============================================================ */
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.az-topbar {
  background: #0b2f91;
  color: rgba(255,255,255,.64);
  font-size: 11px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.az-topbar__inner,
.az-breaking__inner {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.az-topbar__date {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.az-topbar__social {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.az-topbar__social a {
  color: rgba(255,255,255,.58);
}
.az-topbar__social a:hover {
  color: #fff;
}

.az-header {
  position: sticky !important;
  top: 0;
  z-index: 10020;
  background: linear-gradient(180deg, #1553db 0%, var(--az-blue) 100%);
  box-shadow: 0 2px 16px rgba(0, 20, 80, .2);
}
body.admin-bar .az-header {
  top: 32px;
}
.az-header__inner {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  gap: 18px;
  min-height: 54px;
}
.az-header__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
  outline-offset: 6px;
}
.az-header__spacer {
  flex: 1 1 auto;
  min-width: 16px;
}
.az-logo-img {
  max-width: min(240px, 34vw);
}
.az-logo-img--mob {
  display: none;
}
.az-search-wrap--desktop {
  margin-left: auto;
  width: min(320px, 28vw);
  min-width: 220px;
  display: flex !important;
  align-items: center;
  gap: 9px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  padding: 9px 12px;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.az-search-wrap--desktop:focus-within {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.42);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1);
}
.az-search-wrap--desktop input {
  width: 100%;
  min-width: 0;
  font-size: 13px;
}
.az-header__actions {
  display: none;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.az-icon-btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.az-icon-btn:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.34);
}
.az-icon-btn:active {
  transform: translateY(1px);
}
.az-icon-btn:focus-visible,
.az-nav a:focus-visible,
.az-submenu-toggle:focus-visible {
  outline: 3px solid rgba(95,168,211,.9);
  outline-offset: 3px;
}
.az-icon-btn svg {
  width: 20px;
  height: 20px;
}
.az-hamburger {
  display: none;
  margin-left: 0;
  padding: 0;
}
.az-hamburger__line {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: #fff;
  transition: transform .18s ease, opacity .18s ease;
}
.az-hamburger__line + .az-hamburger__line {
  margin-top: 4px;
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(2) {
  opacity: 0;
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
.az-mobile-search {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 10px 0 12px;
}
.az-mobile-search[hidden] {
  display: none !important;
}
.az-mobile-search__form,
.az-drawer-search {
  display: flex;
  gap: 8px;
}
.az-mobile-search__form input,
.az-drawer-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  padding: 11px 12px;
  background: rgba(255,255,255,.1);
  color: #fff;
  outline: none;
  font-family: var(--font-b);
}
.az-mobile-search__form input::placeholder,
.az-drawer-search input::placeholder {
  color: rgba(255,255,255,.62);
}
.az-mobile-search__form button,
.az-drawer-search button {
  border: 0;
  border-radius: 10px;
  padding: 0 14px;
  background: #fff;
  color: var(--az-blue-dk);
  font-family: var(--font-h);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Desktop navigation */
.az-nav-wrap {
  position: sticky !important;
  top: var(--header-h, 56px) !important;
  z-index: 9998 !important;
  background: #0b2f91;
  border-bottom: 3px solid var(--az-sky);
  box-shadow: 0 4px 14px rgba(0,24,90,.12);
  transition: transform .2s ease, visibility .2s ease;
}
body.admin-bar .az-nav-wrap {
  top: calc(var(--header-h, 56px) + 32px) !important;
}
.az-nav-container {
  display: flex;
  align-items: center;
  min-height: 43px;
}
.az-drawer-head,
.az-drawer-search {
  display: none;
}
.az-nav-scroll {
  width: 100%;
  min-width: 0;
  overflow: visible;
}
.az-nav {
  display: flex !important;
  align-items: stretch;
  gap: 2px;
  width: 100%;
  overflow: visible !important;
  scrollbar-width: none;
}
.az-nav > li {
  position: relative;
  flex: 0 0 auto;
}
.az-nav__row {
  display: flex;
  align-items: stretch;
  height: 100%;
}
.az-nav__row > a,
.az-nav > li > a {
  display: flex;
  align-items: center;
  min-height: 43px;
  padding: 0 13px;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
  font-family: var(--font-h);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  white-space: nowrap;
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.az-nav__row > a:hover,
.az-nav > li:hover > .az-nav__row > a,
.az-nav > li.current-menu-item > .az-nav__row > a,
.az-nav > li.current-menu-ancestor > .az-nav__row > a,
.az-nav > li.current-category-ancestor > .az-nav__row > a {
  color: #fff;
  border-bottom-color: var(--az-sky);
  background: rgba(255,255,255,.055);
}
.az-submenu-toggle {
  display: none;
}
.az-nav > li.menu-item-has-children > .az-nav__row > a::after {
  content: '';
  width: 7px;
  height: 7px;
  margin-left: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: .72;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .15s ease;
}
.az-nav > li.menu-item-has-children:hover > .az-nav__row > a::after,
.az-nav > li.menu-item-has-children:focus-within > .az-nav__row > a::after {
  transform: rotate(225deg) translateY(-1px);
}
.az-nav > li > ul,
.az-nav > li > .az-submenu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 250px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 8px 0;
  margin: 0;
  background: #071f66;
  border: 1px solid rgba(95,168,211,.25);
  border-top: 3px solid var(--az-sky);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 18px 36px rgba(0,16,70,.34);
  z-index: 99999;
}
.az-nav > li:hover > ul,
.az-nav > li:focus-within > ul,
.az-nav > li.az-open > ul,
.az-nav > li:hover > .az-submenu,
.az-nav > li:focus-within > .az-submenu,
.az-nav > li.az-open > .az-submenu {
  display: block !important;
}
.az-nav .az-submenu--right {
  left: auto !important;
  right: 0 !important;
}
.az-nav > li > ul > li,
.az-nav > li > .az-submenu > li {
  list-style: none;
}
.az-nav > li > ul > li > a,
.az-nav > li > .az-submenu > li > a {
  display: block;
  padding: 10px 16px;
  font-family: var(--font-h);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(255,255,255,.76);
  white-space: normal;
  line-height: 1.25;
  transition: color .15s ease, background .15s ease, padding-left .15s ease;
}
.az-nav > li > ul > li > a:hover,
.az-nav > li > .az-submenu > li > a:hover {
  color: #fff;
  background: rgba(255,255,255,.08);
  padding-left: 20px;
}

.az-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10040;
  background: rgba(0, 10, 40, .58);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.az-menu-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.az-menu-open {
  overflow: hidden;
  touch-action: none;
}

@media (max-width: 1120px) and (min-width: 861px) {
  .az-search-wrap--desktop {
    width: 250px;
    min-width: 190px;
  }
  .az-nav__row > a,
  .az-nav > li > a {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
    letter-spacing: .045em;
  }
}

@media (max-width: 860px) {
  body.admin-bar .az-header {
    top: 46px;
  }
  .az-topbar {
    display: none !important;
  }
  .az-header {
    z-index: 10030;
  }
  .az-header__inner {
    min-height: 54px;
    gap: 10px;
  }
  .az-header__spacer {
    flex: 1 1 auto;
    min-width: 8px;
  }
  .az-logo-img--desk {
    display: none !important;
  }
  .az-logo-img--mob {
    display: block !important;
  }
  .az-logo-img {
    max-width: min(180px, 52vw);
  }
  .az-search-wrap--desktop {
    display: none !important;
  }
  .az-header__actions {
    display: flex;
  }
  .az-search-toggle,
  .az-hamburger {
    display: inline-flex !important;
  }

  .az-nav-wrap {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(92vw, 400px) !important;
    max-width: 400px !important;
    height: 100dvh;
    padding: 0;
    background: linear-gradient(180deg, #113da8 0%, #071f66 100%);
    border-bottom: 0;
    box-shadow: -18px 0 48px rgba(0,0,0,.32);
    transform: translateX(105%) !important;
    visibility: hidden !important;
    opacity: 1;
    pointer-events: none !important;
    overflow: hidden;
    z-index: 10050 !important;
  }
  body.admin-bar .az-nav-wrap {
    top: 0 !important;
  }
  .az-nav-wrap.az-nav-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .az-nav-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 0 !important;
  }
  .az-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: calc(14px + env(safe-area-inset-top)) 18px 12px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    flex: 0 0 auto;
  }
  .az-drawer-logo {
    display: inline-flex;
    min-width: 0;
  }
  .az-drawer-logo .az-logo-text {
    font-size: 24px;
  }
  .az-drawer-close {
    flex: 0 0 auto;
    font-size: 34px;
    line-height: 1;
  }
  .az-drawer-close span {
    transform: translateY(-1px);
  }
  .az-drawer-search {
    display: flex;
    flex: 0 0 auto;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .az-nav-scroll {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 10px 10px calc(22px + env(safe-area-inset-bottom));
  }
  .az-nav {
    display: flex !important;
    position: static !important;
    width: 100%;
    flex-direction: column;
    gap: 4px;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .az-nav > li {
    width: 100%;
    flex: 0 0 auto;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255,255,255,.055);
  }
  .az-nav__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    min-height: 50px;
  }
  .az-nav__row > a,
  .az-nav > li > a {
    min-height: 50px;
    width: 100%;
    padding: 14px 14px;
    margin: 0;
    border: 0;
    font-size: 15px;
    line-height: 1.15;
    color: rgba(255,255,255,.92);
    background: transparent;
    white-space: normal;
  }
  .az-nav > li.current-menu-item,
  .az-nav > li.current-menu-ancestor,
  .az-nav > li.current-category-ancestor {
    background: rgba(255,255,255,.12);
  }
  .az-nav > li.menu-item-has-children > .az-nav__row > a::after {
    display: none !important;
  }
  .az-submenu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-height: 50px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.055);
    color: #fff;
  }
  .az-submenu-toggle span {
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
  }
  .az-submenu-toggle[aria-expanded="true"] span {
    transform: rotate(225deg) translateY(-1px);
  }
  .az-nav > li > ul,
  .az-nav > li > .az-submenu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 4px 0 8px !important;
    margin: 0 !important;
    background: rgba(0,0,0,.16) !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .az-nav > li.az-open > ul,
  .az-nav > li.az-open > .az-submenu {
    display: block !important;
  }
  .az-nav > li:hover > ul,
  .az-nav > li:hover > .az-submenu {
    display: none !important;
  }
  .az-nav > li.az-open:hover > ul,
  .az-nav > li.az-open:hover > .az-submenu {
    display: block !important;
  }
  .az-nav > li > ul > li > a,
  .az-nav > li > .az-submenu > li > a {
    padding: 11px 18px 11px 28px !important;
    font-size: 13.5px;
    line-height: 1.2;
    white-space: normal;
    color: rgba(255,255,255,.78);
  }
  .az-nav > li > ul > li > a:hover,
  .az-nav > li > .az-submenu > li > a:hover {
    padding-left: 30px !important;
  }
}

@media (max-width: 600px) {
  body.admin-bar .az-header {
    top: 0;
  }
  .az-header__inner {
    min-height: 52px;
  }
  .az-icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 9px;
  }
  .az-mobile-search__form button,
  .az-drawer-search button {
    padding-inline: 12px;
  }
}

/* ============================================================
   v7.3.6 — Header/logo backend controls + hamburger mobile fix
   ============================================================ */
.az-header__brand,
.az-drawer-logo {
  min-width: 0;
}
.az-logo-img,
.az-logo-img--desk,
.az-logo-img--mob,
.az-logo-img--drawer {
  object-fit: contain;
  object-position: left center;
}
.az-drawer-logo .az-logo-img,
.az-drawer-logo .az-logo-img--drawer {
  object-position: left center;
}
.az-header__actions {
  flex: 0 0 auto;
}
.az-icon-btn {
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}
.az-icon-btn svg {
  flex: 0 0 auto;
  display: block;
}
.az-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  line-height: 1;
}
.az-hamburger__bars {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: var(--az-hamburger-w, 24px);
  height: 18px;
  pointer-events: none;
}
.az-hamburger__line {
  display: block !important;
  width: 100% !important;
  height: 2.5px !important;
  margin: 0 !important;
  border-radius: 999px;
  background: #fff !important;
  opacity: 1;
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease;
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(1) {
  transform: translateY(7.75px) rotate(45deg);
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(2) {
  opacity: 0;
  transform: scaleX(.55);
}
.az-hamburger[aria-expanded="true"] .az-hamburger__line:nth-child(3) {
  transform: translateY(-7.75px) rotate(-45deg);
}

@media (max-width: 860px) {
  .az-header__inner {
    display: grid !important;
    grid-template-columns: minmax(0, auto) 1fr auto;
    align-items: center;
    width: 100%;
  }
  .az-header__brand {
    max-width: min(52vw, 230px);
  }
  .az-header__actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    justify-self: end;
  }
  .az-search-toggle,
  .az-hamburger {
    display: inline-flex !important;
  }
  .az-hamburger__bars {
    height: max(16px, calc(var(--az-hamburger-w, 24px) * .72));
  }
  .az-nav-wrap {
    width: min(92vw, var(--az-drawer-max, 400px)) !important;
    max-width: var(--az-drawer-max, 400px) !important;
  }
}

@media (max-width: 380px) {
  .az-header__inner { gap: 8px; }
  .az-header__actions { gap: 7px; }
  .az-header__brand { max-width: 46vw; }
}

/* ============================================================
   v7.3.7 — Mobile hero spacing, H1 emoji flow, sondaggi
   ============================================================ */
@media (max-width: 860px) {
  .az-hero-triple {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 16px !important;
    margin-bottom: 36px !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }
  .az-hero-triple__right {
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
  }
  .az-hero-triple__main,
  .az-hero-triple__sec {
    flex: 0 0 auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 22px rgba(0, 24, 90, .10);
  }
  .az-hero-triple__main {
    height: 300px !important;
    min-height: 300px !important;
  }
  .az-hero-triple__sec {
    height: 170px !important;
    min-height: 170px !important;
  }
  .az-hero-triple__main img,
  .az-hero-triple__main .az-hero__img,
  .az-hero-triple__main .az-hero__img--ph {
    min-height: 300px !important;
    height: 300px !important;
  }
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph {
    min-height: 170px !important;
    height: 170px !important;
  }
}
@media (max-width: 600px) {
  .az-hero-triple {
    gap: 18px !important;
  }
  .az-hero-triple__right {
    flex-direction: column !important;
    gap: 18px !important;
  }
  .az-hero__overlay { padding: 48px 18px 18px; }
  .az-hero__overlay--sm { padding: 36px 16px 16px; }
  .az-hero-triple__main { height: 300px !important; }
  .az-hero-triple__sec {
    height: 160px !important;
    min-height: 160px !important;
  }
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph {
    min-height: 160px !important;
    height: 160px !important;
  }
}

/* L'H1 resta naturale: se il titolo va a capo, la riga successiva usa tutto lo spazio,
   anche sotto l'emoji iniziale. La sidebar continua ad avere il suo layout stabile. */
.az-art__title .az-title-with-emoji {
  display: inline !important;
}
.az-art__title .az-title-emoji,
.az-art__title .az-title-text {
  display: inline !important;
  min-width: 0;
}
.az-art__title .az-title-emoji {
  transform: none !important;
  margin-right: .08em;
}

/* Sondaggi */
.az-poll {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
  border: 1px solid var(--az-border);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(0, 33, 120, .06);
}
.az-sb .az-poll {
  border: 0;
  box-shadow: none;
  padding: 0;
  background: transparent;
}
.az-poll__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--az-blue);
  font-family: var(--font-h);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.az-poll__eyebrow::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--az-sky);
  box-shadow: 0 0 0 4px rgba(95,168,211,.18);
}
.az-poll__title {
  font-family: var(--font-h);
  font-size: var(--az-typo-poll-title, clamp(22px, 3vw, 34px));
  line-height: var(--az-typo-poll-title-lh, 1.05);
  margin: 0 0 12px;
  color: var(--az-ink);
}
.az-poll--compact .az-poll__title {
  font-size: 22px;
  line-height: 1.12;
}
.az-poll__intro {
  margin: -2px 0 14px;
  color: var(--az-muted);
  font-size: 15px;
  line-height: 1.55;
}
.az-poll-form {
  display: grid;
  gap: 10px;
}
.az-poll__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid var(--az-border);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.az-poll__option:hover,
.az-poll__option:focus-within {
  border-color: rgba(24,81,203,.45);
  box-shadow: 0 6px 16px rgba(24,81,203,.08);
}
.az-poll__option:active { transform: translateY(1px); }
.az-poll__option input { flex: 0 0 auto; }
.az-poll__option span {
  min-width: 0;
  font-weight: 700;
  color: var(--az-ink);
  line-height: 1.25;
}
.az-poll__submit {
  margin-top: 4px;
  border: 0;
  border-radius: 10px;
  background: var(--az-blue);
  color: #fff;
  padding: 12px 16px;
  font-family: var(--font-h);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.az-poll__submit:hover { background: var(--az-blue-dk); }
.az-poll__submit:active { transform: translateY(1px); }
.az-poll__submit[disabled] { opacity: .65; cursor: wait; }
.az-poll__msg {
  min-height: 18px;
  color: var(--az-muted);
  font-size: 13px;
}
.az-poll__result + .az-poll__result { margin-top: 13px; }
.az-poll__result-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-weight: 800;
  color: var(--az-ink);
  line-height: 1.25;
  margin-bottom: 6px;
}
.az-poll__result-head span { min-width: 0; }
.az-poll__bar {
  height: 9px;
  border-radius: 999px;
  background: #e9eef8;
  overflow: hidden;
}
.az-poll__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--az-blue) 0%, var(--az-sky) 100%);
}
.az-poll__votes,
.az-poll__total {
  margin-top: 5px;
  color: var(--az-muted);
  font-size: 12px;
}
.az-poll__total {
  margin-top: 14px;
  font-weight: 700;
}
.az-poll-page-list {
  display: grid;
  gap: 22px;
  margin-top: 24px;
}


/* Anteprima sondaggio in sidebar: la sidebar non mostra il form completo, ma porta alla pagina Sondaggi */
.az-sb--poll-preview .az-sb__body,
.az_widget_poll .az-sb__body {
  padding: 0;
}
.az-poll-preview {
  display: grid;
  gap: 9px;
  padding: 16px;
  color: inherit;
  text-decoration: none;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
  border-radius: 0 0 8px 8px;
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.az-poll-preview:hover,
.az-poll-preview:focus-visible {
  background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px rgba(24, 81, 203, .14);
  outline: none;
}
.az-poll-preview__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  color: var(--az-blue);
  font-family: var(--font-h);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.az-poll-preview__eyebrow::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--az-sky);
  box-shadow: 0 0 0 4px rgba(95,168,211,.18);
}
.az-poll-preview__title {
  display: block;
  color: var(--az-ink);
  font-family: var(--font-h);
  font-size: 22px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.az-poll-preview__intro {
  display: block;
  color: var(--az-muted);
  font-size: 13.5px;
  line-height: 1.42;
}
.az-poll-preview__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: var(--az-muted);
  font-size: 12px;
  font-weight: 700;
}
.az-poll-preview__meta span + span::before {
  content: '•';
  margin-right: 10px;
  color: #b2bdd0;
}
.az-poll-preview__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 2px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--az-blue);
  color: #fff;
  font-family: var(--font-h);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.az-poll-preview:hover .az-poll-preview__cta,
.az-poll-preview:focus-visible .az-poll-preview__cta {
  background: var(--az-blue-dk);
}
.widget_az_widget_poll {
  background: var(--az-white);
  border: 1px solid var(--az-border);
  border-radius: 8px;
  overflow: hidden;
}
.widget_az_widget_poll .az-sb__body {
  padding: 0;
}

/* ============================================================
   v7.3.17 — Sidebar latest con thumbnail uniformi + emoji inline
   ============================================================ */
.az-sb--latest .az-sb__body {
  padding: 0 16px !important;
}
.az-list--sidebar-latest {
  display: block !important;
}
.az-list--sidebar-latest .az-list__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--az-border) !important;
  text-align: left !important;
}
.az-list--sidebar-latest .az-list__item:last-child {
  border-bottom: 0 !important;
}
.az-list--sidebar-latest .az-list__thumb {
  width: 78px !important;
  height: 58px !important;
  flex: 0 0 78px !important;
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, var(--az-blue-dk), var(--az-blue)) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
  margin-top: 2px !important;
}
.az-list--sidebar-latest .az-list__thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 55%);
  pointer-events: none;
}
.az-list--sidebar-latest .az-list__thumb-img,
.az-list--sidebar-latest .az-list__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}
.az-list--sidebar-latest .az-list__content {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  width: auto !important;
}
.az-list--sidebar-latest .az-list__cat {
  margin: 0 0 6px !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
}
.az-list--sidebar-latest .az-list__title {
  display: block !important;
  line-height: 1.36 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: none !important;
}
.az-list--sidebar-latest .az-list__meta {
  margin-top: 7px !important;
}
/* Titoli con emoji: l'icona resta inline. Le righe successive partono dall'inizio
   del titolo e non lasciano più lo spazio bianco sotto lo slot emoji. */
.az-list--sidebar-latest .az-title-with-emoji,
.az-sidebar .az-title-with-emoji {
  display: inline !important;
}
.az-list--sidebar-latest .az-title-emoji,
.az-sidebar .az-title-emoji {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 .25em 0 0 !important;
  line-height: inherit !important;
  text-align: inherit !important;
  transform: none !important;
  vertical-align: baseline !important;
}
.az-list--sidebar-latest .az-title-text,
.az-sidebar .az-title-text {
  display: inline !important;
  min-width: 0 !important;
}
@media (max-width: 600px) {
  .az-sb--latest .az-sb__body {
    padding: 0 14px !important;
  }
  .az-list--sidebar-latest .az-list__item {
    gap: 10px !important;
    padding: 17px 0 !important;
  }
  .az-list--sidebar-latest .az-list__thumb {
    width: 72px !important;
    height: 54px !important;
    flex-basis: 72px !important;
    border-radius: 8px !important;
  }
}

/* ============================================================
   v7.3.19 — Articolo piu arioso, social icon, sidebar leggera
   ============================================================ */
.az-layout--single {
  gap: 44px;
}
.az-article {
  padding: 44px 44px 48px;
}
.az-art__head {
  max-width: 860px;
  margin-bottom: 34px;
}
.az-art__cats {
  margin-bottom: 18px;
}
.az-art__title {
  margin-bottom: 24px !important;
  letter-spacing: -.018em;
}
.az-art__sub {
  margin: 0 0 30px;
}
.az-art__byline {
  max-width: 860px;
  padding: 18px 20px;
  margin-bottom: 38px;
  gap: 18px;
}
.az-byline__av {
  flex: 0 0 auto;
}
.az-byline__info {
  min-width: 0;
}
.az-art__figure {
  margin-bottom: 38px;
}
.az-art__body {
  max-width: 800px;
}
.az-art__body p {
  margin-bottom: 28px;
}
.az-art__body h2 {
  margin-top: 52px;
  margin-bottom: 20px;
}
.az-art__body h3 {
  margin-top: 38px;
  margin-bottom: 16px;
}
.az-author-inline,
.az-tags,
.az-sharebox,
.az-post-nav,
.az-art__leggi-anche,
.az-comments {
  margin-top: 44px;
}

.az-byline__share {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.az-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: #fff !important;
  font-family: var(--font-h);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: none;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(10, 34, 88, .12);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.az-share:hover,
.az-share:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(10, 34, 88, .18);
  filter: brightness(1.04);
  outline: none;
}
.az-share__icon {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
}
.az-share__icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}
.az-share--facebook {
  background: #1877f2;
}
.az-share--x {
  background: #111827;
}
.az-share--whatsapp {
  background: #25d366;
}
.az-sharebox {
  padding: 22px 24px;
  margin-top: 48px;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.az-sidebar {
  gap: 22px !important;
}
.az-sb,
.az-widget,
.widget_az_widget_poll {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(201, 211, 232, .82) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(16, 38, 85, .055) !important;
  overflow: hidden !important;
}
.az-sb__title,
.az-widget .az-sb__title,
.widget .az-sb__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 18px 10px !important;
  background: transparent !important;
  color: var(--az-ink) !important;
  border: 0 !important;
  letter-spacing: .04em !important;
}
.az-sb__title::before,
.az-widget .az-sb__title::before,
.widget .az-sb__title::before {
  content: '';
  width: 4px;
  height: 18px;
  border-radius: 999px;
  background: var(--az-blue);
  flex: 0 0 auto;
}
.az-sb__body,
.az-widget .az-sb__body,
.widget .az-sb__body {
  padding: 8px 18px 18px !important;
}

.az-author-box {
  gap: 16px !important;
}
.az-author-box__head {
  align-items: center;
  gap: 15px;
}
.az-author-box__avatar {
  width: 78px !important;
  height: 78px !important;
  border-radius: 18px !important;
  object-fit: cover;
  box-shadow: 0 8px 22px rgba(12, 31, 73, .14);
}
.az-author-box__avatar--custom {
  display: block;
}
.az-author-box--large .az-author-box__avatar,
.az-author-box--large .az-author-box__avatar--custom {
  width: 112px !important;
  height: 112px !important;
}
.az-author-box__label {
  color: var(--az-blue) !important;
}
.az-author-box__name {
  font-size: 18px;
  line-height: 1.15;
}
.az-author-box__bio {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.62;
  color: #596579;
}
.az-author-box__link {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  width: fit-content;
  min-height: 36px;
  padding: 9px 12px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--az-blue) !important;
  text-decoration: none !important;
}
.az-author-box__link:hover,
.az-author-box__link:focus-visible {
  background: #dfeaff;
  outline: none;
}
.az-author-box__link-icon {
  display: inline-grid;
  place-items: center;
}

.az-poll-preview {
  padding: 10px 18px 18px !important;
  border-radius: 0 0 14px 14px !important;
  background: transparent !important;
}
.az-poll-preview:hover,
.az-poll-preview:focus-visible {
  background: #f8fbff !important;
  box-shadow: none !important;
}
.az-poll-preview__title {
  font-size: 19px !important;
  line-height: 1.14 !important;
}
.az-poll-preview__cta {
  border-radius: 999px !important;
  min-height: 40px !important;
}

.az-sb--latest .az-sb__body {
  padding: 0 18px 8px !important;
}
.az-list--sidebar-latest .az-list__item {
  padding: 15px 0 !important;
  gap: 12px !important;
  border-bottom-color: rgba(221, 227, 238, .75) !important;
}
.az-list--sidebar-latest .az-list__thumb {
  width: 72px !important;
  height: 54px !important;
  flex-basis: 72px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.az-list--sidebar-latest .az-list__cat {
  margin-bottom: 5px !important;
}
.az-list--sidebar-latest .az-list__title {
  line-height: 1.32 !important;
}
.az-list--sidebar-latest .az-list__meta {
  margin-top: 6px !important;
  color: #7b8494;
}

@media (max-width: 860px) {
  .az-layout--single {
    gap: 34px;
  }
  .az-article {
    padding: 30px 26px 34px;
  }
  .az-art__head {
    margin-bottom: 28px;
  }
  .az-art__byline {
    margin-bottom: 32px;
  }
  .az-hero-triple {
    gap: 24px !important;
    margin-bottom: 42px !important;
  }
  .az-hero-triple__right {
    gap: 22px !important;
  }
}
@media (max-width: 600px) {
  .az-article {
    padding: 24px 18px 30px;
  }
  .az-art__title {
    margin-bottom: 22px !important;
  }
  .az-art__byline {
    padding: 16px;
    margin-bottom: 30px;
  }
  .az-byline__share,
  .az-sharebox .az-byline__share {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }
  .az-share {
    width: 100%;
    min-width: 0;
    padding: 10px 8px;
  }
  .az-share__text {
    font-size: 0;
  }
  .az-share--facebook .az-share__text::after {
    content: 'FB';
    font-size: 11px;
  }
  .az-share--x .az-share__text::after {
    content: 'X';
    font-size: 11px;
  }
  .az-share--whatsapp .az-share__text::after {
    content: 'WA';
    font-size: 11px;
  }
  .az-hero-triple {
    gap: 26px !important;
  }
  .az-hero-triple__right {
    gap: 22px !important;
  }
  .az-sidebar {
    gap: 18px !important;
  }
}


/* ============================================================
   v7.3.20 — Hero ratio robusto, social mobile compatti, niente tempo lettura
   ============================================================ */

/* Desktop/tablet largo: la colonna destra della hero deve occupare sempre
   tutta l'altezza della card principale. Prima il wrapper destro finiva nella
   sola prima riga della griglia e i due articoli risultavano schiacciati. */
@media (min-width: 861px) {
  .az-hero-triple {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    height: clamp(430px, 38vw, 560px) !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }
  .az-hero-triple__main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  .az-hero-triple__right {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  .az-hero-triple__sec {
    height: auto !important;
    min-height: 0 !important;
  }
  .az-hero-triple__main img,
  .az-hero-triple__main .az-hero__img,
  .az-hero-triple__main .az-hero__img--ph,
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
}

/* Mobile: le hero secondarie restano piu basse della principale, ma non sono
   piu strisce orizzontali troppo basse. */
@media (max-width: 860px) {
  .az-hero-triple {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    height: auto !important;
    gap: 22px !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }
  .az-hero-triple__main {
    grid-column: auto !important;
    grid-row: auto !important;
    height: 360px !important;
    min-height: 0 !important;
    border-radius: 14px !important;
  }
  .az-hero-triple__right {
    grid-column: auto !important;
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 18px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .az-hero-triple__sec {
    height: 260px !important;
    min-height: 0 !important;
    border-radius: 14px !important;
  }
  .az-hero-triple__main img,
  .az-hero-triple__main .az-hero__img,
  .az-hero-triple__main .az-hero__img--ph,
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
}
@media (max-width: 600px) {
  .az-hero-triple {
    gap: 18px !important;
    margin-bottom: 36px !important;
  }
  .az-hero-triple__right {
    gap: 16px !important;
  }
  .az-hero-triple__main {
    height: 330px !important;
  }
  .az-hero-triple__sec {
    height: 235px !important;
  }
  .az-hero-triple__main .az-hero__overlay {
    padding: 62px 18px 20px !important;
  }
  .az-hero-triple__sec .az-hero__overlay--sm {
    padding: 54px 16px 18px !important;
  }
}
@media (max-width: 380px) {
  .az-hero-triple__main {
    height: 310px !important;
  }
  .az-hero-triple__sec {
    height: 220px !important;
  }
}

/* Social share mobile: niente pulsanti quadrati/enormi. Manteniamo 3 bottoni
   compatti e blocchiamo esplicitamente dimensioni icona/svg. */
.az-share__icon,
.az-share__icon svg,
.az-share svg {
  max-width: 18px !important;
  max-height: 18px !important;
}
@media (max-width: 600px) {
  .az-sharebox {
    display: block !important;
    padding: 16px !important;
  }
  .az-sharebox p {
    width: 100% !important;
    margin: 0 0 12px !important;
  }
  .az-sharebox .az-byline__share {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .az-sharebox .az-share,
  .az-byline__share .az-share {
    aspect-ratio: auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }
  .az-sharebox .az-share__icon,
  .az-sharebox .az-share__icon svg,
  .az-sharebox .az-share svg,
  .az-byline__share .az-share__icon,
  .az-byline__share .az-share__icon svg,
  .az-byline__share .az-share svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    flex: 0 0 16px !important;
  }
  .az-sharebox .az-share__text {
    font-size: 0 !important;
  }
  .az-sharebox .az-share--facebook .az-share__text::after {
    content: 'FB';
    font-size: 11px !important;
  }
  .az-sharebox .az-share--x .az-share__text::after {
    content: 'X';
    font-size: 11px !important;
  }
  .az-sharebox .az-share--whatsapp .az-share__text::after {
    content: 'WA';
    font-size: 11px !important;
  }
}

/* Metadati articolo: il tempo di lettura è stato rimosso dal template. Questo
   override evita residui visuali/campi custom legacy eventualmente iniettati. */
.az-reading-time,
.az-meta-reading-time,
[data-az-reading-time] {
  display: none !important;
}


/* ============================================================
   v7.3.21 — Hero piu ariosa + evidenza homepage gestibile da backend
   ============================================================ */

/* Spaziatura hero valida per tutti i layout homepage: singolo, doppio e triplo. */
.az-hero,
.az-hero-duo,
.az-hero-triple {
  margin-bottom: clamp(34px, 4vw, 58px) !important;
}
.az-hero-duo,
.az-hero-triple {
  gap: clamp(20px, 1.8vw, 32px) !important;
}
.az-hero-triple__right {
  gap: clamp(20px, 1.5vw, 28px) !important;
}

/* Desktop: le due card di destra continuano ad avere la stessa altezza complessiva
   della card principale, ma con aria reale tra i blocchi. */
@media (min-width: 861px) {
  .az-hero-triple {
    height: clamp(460px, 39vw, 580px) !important;
    overflow: visible !important;
  }
  .az-hero-triple__main,
  .az-hero-triple__sec {
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  .az-hero-triple__right {
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  }
  .az-hero-triple__main > img.az-hero__img,
  .az-hero-triple__main > .az-hero__img--ph,
  .az-hero-triple__sec > img.az-hero__img,
  .az-hero-triple__sec > .az-hero__img--ph {
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* Mobile: le news secondarie sono piu basse della principale, ma non schiacciate,
   e hanno distanza sufficiente per respirare. */
@media (max-width: 860px) {
  .az-hero-triple {
    gap: 28px !important;
    margin-bottom: 46px !important;
  }
  .az-hero-triple__right {
    gap: 24px !important;
  }
  .az-hero-duo {
    gap: 24px !important;
    margin-bottom: 46px !important;
  }
  .az-hero-triple__main {
    height: clamp(330px, 78vw, 430px) !important;
    min-height: 330px !important;
  }
  .az-hero-triple__sec {
    height: clamp(230px, 54vw, 310px) !important;
    min-height: 230px !important;
  }
  .az-hero-triple__main img,
  .az-hero-triple__main .az-hero__img,
  .az-hero-triple__main .az-hero__img--ph,
  .az-hero-triple__sec img,
  .az-hero-triple__sec .az-hero__img,
  .az-hero-triple__sec .az-hero__img--ph {
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
}
@media (max-width: 420px) {
  .az-hero-triple {
    gap: 24px !important;
  }
  .az-hero-triple__right {
    gap: 22px !important;
  }
  .az-hero-triple__main { height: 330px !important; }
  .az-hero-triple__sec { height: 245px !important; }
}

/* Layout speciale per la news più recente o per un articolo marcato da backend
   come "In primo piano in homepage". La resa è evidente ma resta coerente col brand. */
.az-home-spotlight {
  position: relative !important;
  box-shadow: 0 20px 44px rgba(0, 38, 132, .18), 0 0 0 1px rgba(110, 205, 255, .34) !important;
}
.az-home-spotlight::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 3px rgba(108, 201, 255, .72), inset 0 -80px 120px rgba(27, 91, 255, .18);
}
.az-home-spotlight::after {
  content: 'IN PRIMO PIANO';
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--az-blue-dk);
  font-family: var(--font-h);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(0, 18, 68, .16);
  pointer-events: none;
}
.az-home-spotlight .az-hero__overlay,
.az-home-spotlight .az-card-wide__body,
.az-home-spotlight .az-card__body {
  position: relative;
  z-index: 3;
}
.az-hero-triple__sec.az-home-spotlight::after,
.az-hero--half.az-home-spotlight::after {
  top: 10px;
  left: 10px;
  min-height: 22px;
  padding: 4px 8px;
  font-size: 9px;
}
.az-card-wide.az-home-spotlight,
.az-card.az-home-spotlight {
  border-color: rgba(108, 201, 255, .62) !important;
  transform: translateZ(0);
}
.az-card-wide.az-home-spotlight::before,
.az-card.az-home-spotlight::before {
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px rgba(108, 201, 255, .62) !important;
}
.az-card-wide.az-home-spotlight::after,
.az-card.az-home-spotlight::after {
  top: 12px;
  left: 12px;
  font-size: 9px;
  min-height: 22px;
  padding: 4px 8px;
}
@media (max-width: 600px) {
  .az-home-spotlight::before {
    box-shadow: inset 0 0 0 2px rgba(108, 201, 255, .78), inset 0 -70px 110px rgba(27, 91, 255, .16) !important;
  }
  .az-home-spotlight::after {
    top: 12px;
    left: 12px;
  }
}


/* ============================================================
   v7.3.22 — Spotlight hero più naturale + bordo evidenza più chiaro
   ============================================================ */

/* La precedente evidenza poteva sembrare una fascia scura “tagliata” in mezzo
   alla foto. Ora l'overlay copre tutta la card e il contenuto resta ancorato
   in basso, così l'immagine rimane naturale sia desktop sia mobile. */
.az-hero-triple__main,
.az-hero-triple__sec,
.az-hero,
.az-hero--half {
  isolation: isolate !important;
}

.az-hero-triple__main > img.az-hero__img,
.az-hero-triple__sec > img.az-hero__img,
.az-hero > img.az-hero__img,
.az-hero--half > img.az-hero__img {
  object-position: center center !important;
}

.az-hero-triple__main .az-hero__overlay,
.az-hero .az-hero__overlay {
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  background: linear-gradient(180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, .18) 42%,
    rgba(0, 0, 0, .72) 72%,
    rgba(0, 0, 0, .92) 100%) !important;
  padding: 96px 28px 28px !important;
}

.az-hero-triple__sec .az-hero__overlay--sm,
.az-hero--half .az-hero__overlay {
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  background: linear-gradient(180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, .12) 38%,
    rgba(0, 0, 0, .70) 76%,
    rgba(0, 0, 0, .92) 100%) !important;
  padding: 78px 18px 18px !important;
}

/* Evidenza più riconoscibile: bordo reale + alone esterno + marker laterale.
   Il badge è brandizzato e non sembra un elemento casuale appoggiato sulla foto. */
.az-home-spotlight {
  border: 4px solid #6bd8ff !important;
  box-shadow:
    0 0 0 4px rgba(32, 126, 255, .16),
    0 22px 50px rgba(0, 38, 132, .24),
    0 8px 18px rgba(0, 0, 0, .10) !important;
}

.az-home-spotlight::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  box-shadow:
    inset 0 0 0 2px rgba(255, 255, 255, .38),
    inset 7px 0 0 rgba(108, 216, 255, .95) !important;
}

.az-home-spotlight::after {
  z-index: 7 !important;
  top: 16px !important;
  left: 16px !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffffff 0%, #dff6ff 100%) !important;
  color: #07276d !important;
  border: 1px solid rgba(108, 216, 255, .85) !important;
  box-shadow: 0 10px 24px rgba(0, 18, 68, .24) !important;
}

.az-home-spotlight .az-hero__overlay,
.az-home-spotlight .az-card-wide__body,
.az-home-spotlight .az-card__body {
  z-index: 6 !important;
}

.az-hero-triple__main.az-home-spotlight .az-hero__title,
.az-hero.az-home-spotlight .az-hero__title {
  text-shadow: 0 3px 18px rgba(0, 0, 0, .55) !important;
}

.az-hero-triple__sec.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border-width: 3px !important;
}

.az-hero-triple__sec.az-home-spotlight::after,
.az-hero--half.az-home-spotlight::after {
  top: 12px !important;
  left: 12px !important;
  min-height: 24px !important;
  padding: 5px 9px !important;
  font-size: 9px !important;
}

/* Mobile: la card in evidenza deve essere chiara ma non pesante. */
@media (max-width: 860px) {
  .az-hero-triple__main .az-hero__overlay,
  .az-hero .az-hero__overlay {
    padding: 86px 18px 20px !important;
  }
  .az-hero-triple__sec .az-hero__overlay--sm,
  .az-hero--half .az-hero__overlay {
    padding: 72px 16px 18px !important;
  }
  .az-home-spotlight {
    border-width: 3px !important;
    box-shadow:
      0 0 0 3px rgba(32, 126, 255, .14),
      0 18px 34px rgba(0, 38, 132, .20) !important;
  }
  .az-home-spotlight::before {
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, .42),
      inset 5px 0 0 rgba(108, 216, 255, .95) !important;
  }
  .az-home-spotlight::after {
    top: 12px !important;
    left: 12px !important;
    min-height: 24px !important;
    padding: 5px 9px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 420px) {
  .az-hero-triple__main {
    height: 350px !important;
  }
  .az-hero-triple__sec {
    height: 250px !important;
  }
  .az-hero-triple__main .az-hero__overlay,
  .az-hero .az-hero__overlay {
    padding: 84px 16px 18px !important;
  }
  .az-hero-triple__sec .az-hero__overlay--sm,
  .az-hero--half .az-hero__overlay {
    padding: 70px 14px 16px !important;
  }
}


/* ============================================================
   v7.3.23 — Hero spotlight rifatta da zero: niente fascia nera / niente doppio bordo
   ============================================================ */

/* Base hero: una sola gerarchia di layer.
   1 immagine, 2 gradient card-wide, 3 contenuto, 4 badge evidenza.
   Questo evita la vecchia fascia nera rettangolare causata da overlay sovrapposti. */
.az-hero-triple__main,
.az-hero-triple__sec,
.az-hero,
.az-hero--half {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: linear-gradient(160deg, #001244 0%, #0a2d8a 100%) !important;
}

.az-hero-triple__main > img.az-hero__img,
.az-hero-triple__sec > img.az-hero__img,
.az-hero > img.az-hero__img,
.az-hero--half > img.az-hero__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 1 !important;
  display: block !important;
}

/* Il gradient adesso è sul container, non sull'overlay testuale.
   Così non può più apparire come rettangolo scuro a metà immagine. */
.az-hero-triple__main::before,
.az-hero-triple__sec::before,
.az-hero::before,
.az-hero--half::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, .04) 0%,
      rgba(0, 18, 68, .06) 36%,
      rgba(0, 18, 68, .58) 72%,
      rgba(0, 0, 0, .88) 100%) !important;
  box-shadow: none !important;
}

.az-hero-triple__sec::before,
.az-hero--half::before {
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, .03) 0%,
      rgba(0, 18, 68, .10) 42%,
      rgba(0, 18, 68, .62) 76%,
      rgba(0, 0, 0, .88) 100%) !important;
}

/* L'overlay torna a essere solo contenitore testo: nessuno sfondo proprio. */
.az-hero-triple__main .az-hero__overlay,
.az-hero-triple__sec .az-hero__overlay,
.az-hero .az-hero__overlay,
.az-hero--half .az-hero__overlay,
.az-hero-triple__sec .az-hero__overlay--sm {
  position: absolute !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 3 !important;
  display: block !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.az-hero-triple__main .az-hero__overlay,
.az-hero .az-hero__overlay {
  padding: 0 28px 30px !important;
}

.az-hero-triple__sec .az-hero__overlay--sm,
.az-hero--half .az-hero__overlay {
  padding: 0 18px 20px !important;
}

/* Spotlight: un bordo solo, pulito. Nessun inner border e nessun pseudo bordo sovrapposto. */
.az-home-spotlight {
  border: 3px solid #64d8ff !important;
  outline: 0 !important;
  box-shadow:
    0 16px 38px rgba(0, 67, 180, .22),
    0 2px 0 rgba(255, 255, 255, .50) inset !important;
  transform: translateZ(0);
}

/* Lo stesso ::before resta solo gradient. Per la card in evidenza aggiungiamo
   una lieve tinta azzurra nella parte alta, non un rettangolo nero. */
.az-home-spotlight::before {
  background:
    linear-gradient(180deg,
      rgba(91, 216, 255, .10) 0%,
      rgba(0, 18, 68, .06) 34%,
      rgba(0, 18, 68, .56) 72%,
      rgba(0, 0, 0, .88) 100%) !important;
  box-shadow: none !important;
}

/* Badge evidenza chiaro, separato dal bordo e sempre sopra testo/immagine. */
.az-home-spotlight::after {
  content: 'IN PRIMO PIANO' !important;
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 13px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #092762 !important;
  border: 1px solid rgba(100, 216, 255, .55) !important;
  font-family: var(--font-h) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(0, 18, 68, .22) !important;
  pointer-events: none !important;
}

/* Il contenuto resta sempre sopra al gradient, sotto al badge. */
.az-home-spotlight .az-hero__overlay,
.az-home-spotlight .az-card-wide__body,
.az-home-spotlight .az-card__body {
  position: relative !important;
  z-index: 3 !important;
}

.az-hero-triple__main.az-home-spotlight .az-hero__cat,
.az-hero.az-home-spotlight .az-hero__cat {
  margin-top: 44px !important;
}

.az-hero-triple__main.az-home-spotlight .az-hero__title,
.az-hero.az-home-spotlight .az-hero__title {
  text-shadow: 0 3px 18px rgba(0, 0, 0, .58) !important;
}

/* Le secondarie eventualmente marcate in evidenza restano più sobrie. */
.az-hero-triple__sec.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border-width: 2px !important;
}
.az-hero-triple__sec.az-home-spotlight::after,
.az-hero--half.az-home-spotlight::after {
  top: 12px !important;
  left: 12px !important;
  min-height: 23px !important;
  padding: 5px 9px !important;
  font-size: 9px !important;
}
.az-hero-triple__sec.az-home-spotlight .az-hero__cat,
.az-hero--half.az-home-spotlight .az-hero__cat {
  margin-top: 36px !important;
}

/* Mobile: niente fascia, altezza stabile, bordo visibile ma leggero. */
@media (max-width: 860px) {
  .az-hero-triple__main .az-hero__overlay,
  .az-hero .az-hero__overlay {
    padding: 0 18px 20px !important;
  }
  .az-hero-triple__sec .az-hero__overlay--sm,
  .az-hero--half .az-hero__overlay {
    padding: 0 16px 18px !important;
  }
  .az-home-spotlight {
    border-width: 2px !important;
    box-shadow:
      0 12px 28px rgba(0, 67, 180, .20),
      0 1px 0 rgba(255, 255, 255, .45) inset !important;
  }
  .az-home-spotlight::after {
    top: 12px !important;
    left: 12px !important;
    min-height: 23px !important;
    padding: 5px 9px !important;
    font-size: 9px !important;
  }
  .az-hero-triple__main.az-home-spotlight .az-hero__cat,
  .az-hero.az-home-spotlight .az-hero__cat {
    margin-top: 34px !important;
  }
}

@media (max-width: 420px) {
  .az-hero-triple__main .az-hero__overlay,
  .az-hero .az-hero__overlay {
    padding: 0 16px 18px !important;
  }
  .az-hero-triple__sec .az-hero__overlay--sm,
  .az-hero--half .az-hero__overlay {
    padding: 0 14px 16px !important;
  }
}

/* ============================================================
   v7.3.24 — Spotlight hero definitivo: contenuto in basso + bordo singolo premium
   ============================================================ */

/* La card in evidenza deve distinguersi senza creare doppi bordi o fasce scure.
   Badge in alto, contenuto editoriale sempre ancorato in basso. */
.az-hero-triple__main.az-home-spotlight,
.az-hero.az-home-spotlight {
  border: 4px solid #21c8ff !important;
  outline: none !important;
  box-shadow:
    0 18px 42px rgba(0, 77, 190, .26),
    0 0 0 1px rgba(255, 255, 255, .34) !important;
}

.az-hero-triple__sec.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border: 3px solid #21c8ff !important;
  outline: none !important;
  box-shadow: 0 12px 28px rgba(0, 77, 190, .20) !important;
}

/* Un solo overlay: niente rettangoli separati. Il gradiente serve solo
   a proteggere il testo nella parte bassa della foto. */
.az-hero-triple__main.az-home-spotlight::before,
.az-hero.az-home-spotlight::before {
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, 0) 0%,
      rgba(0, 18, 68, .04) 38%,
      rgba(0, 18, 68, .36) 62%,
      rgba(0, 0, 0, .82) 100%) !important;
  box-shadow: none !important;
}

.az-hero-triple__sec.az-home-spotlight::before,
.az-hero--half.az-home-spotlight::before {
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, 0) 0%,
      rgba(0, 18, 68, .07) 42%,
      rgba(0, 18, 68, .48) 70%,
      rgba(0, 0, 0, .84) 100%) !important;
  box-shadow: none !important;
}

/* Testo sempre in basso. Il badge resta sopra perché è ::after. */
.az-hero-triple__main.az-home-spotlight .az-hero__overlay,
.az-hero.az-home-spotlight .az-hero__overlay {
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 32px 34px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.az-hero-triple__sec.az-home-spotlight .az-hero__overlay--sm,
.az-hero--half.az-home-spotlight .az-hero__overlay {
  top: auto !important;
  bottom: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 18px 20px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.az-hero-triple__main.az-home-spotlight .az-hero__cat,
.az-hero.az-home-spotlight .az-hero__cat,
.az-hero-triple__sec.az-home-spotlight .az-hero__cat,
.az-hero--half.az-home-spotlight .az-hero__cat {
  margin-top: 0 !important;
}

/* Badge più pulito e leggibile, senza interferire con titolo/categoria. */
.az-home-spotlight::after {
  top: 18px !important;
  left: 18px !important;
  z-index: 8 !important;
  border: 1px solid rgba(33, 200, 255, .70) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(232,248,255,.98)) !important;
  color: #08276a !important;
  box-shadow: 0 9px 22px rgba(0, 18, 68, .20) !important;
}

/* Piccolo marker discreto per rendere evidente lo stato senza doppio bordo. */
.az-hero-triple__main.az-home-spotlight .az-hero__overlay::before,
.az-hero.az-home-spotlight .az-hero__overlay::before {
  content: '';
  width: 46px;
  height: 4px;
  border-radius: 999px;
  background: #21c8ff;
  box-shadow: 0 0 18px rgba(33, 200, 255, .70);
  margin-bottom: 14px;
}

@media (max-width: 860px) {
  .az-hero-triple__main.az-home-spotlight,
  .az-hero.az-home-spotlight {
    border-width: 3px !important;
    box-shadow:
      0 14px 30px rgba(0, 77, 190, .22),
      0 0 0 1px rgba(255, 255, 255, .30) !important;
  }
  .az-hero-triple__main.az-home-spotlight .az-hero__overlay,
  .az-hero.az-home-spotlight .az-hero__overlay {
    padding: 0 18px 22px !important;
  }
  .az-hero-triple__sec.az-home-spotlight .az-hero__overlay--sm,
  .az-hero--half.az-home-spotlight .az-hero__overlay {
    padding: 0 16px 18px !important;
  }
  .az-home-spotlight::after {
    top: 12px !important;
    left: 12px !important;
  }
  .az-hero-triple__main.az-home-spotlight .az-hero__overlay::before,
  .az-hero.az-home-spotlight .az-hero__overlay::before {
    width: 36px;
    height: 3px;
    margin-bottom: 10px;
  }
}


/* ============================================================
   v7.3.25 — Spotlight hero rebuild reale: contenuto fissato in basso
   ============================================================ */

/* Wrapper neutro per le hero normali. Serve a rendere il layout deterministico
   e a sganciare testo/badge dalle vecchie regole ereditate. */
.az-hero__content {
  position: relative;
  z-index: 4;
  max-width: 100%;
}

/* Spotlight: card pulita, senza doppio bordo. Il bordo è uno solo,
   più spesso e più visibile, con glow esterno morbido. */
.az-hero-triple__main.az-home-spotlight,
.az-hero.az-home-spotlight {
  border: 5px solid #22c8ff !important;
  outline: 0 !important;
  border-radius: 14px !important;
  box-shadow:
    0 24px 56px rgba(0, 72, 190, .30),
    0 0 0 6px rgba(34, 200, 255, .13) !important;
}

.az-hero-triple__sec.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border: 3px solid #22c8ff !important;
  outline: 0 !important;
  border-radius: 13px !important;
  box-shadow:
    0 16px 36px rgba(0, 72, 190, .22),
    0 0 0 4px rgba(34, 200, 255, .10) !important;
}

/* Il gradient è full-card: niente fasce rettangolari a metà immagine. */
.az-hero-triple__main.az-home-spotlight::before,
.az-hero.az-home-spotlight::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, .00) 0%,
      rgba(0, 18, 68, .06) 42%,
      rgba(0, 18, 68, .42) 70%,
      rgba(0, 0, 0, .88) 100%) !important;
  box-shadow: none !important;
}

.az-hero-triple__sec.az-home-spotlight::before,
.az-hero--half.az-home-spotlight::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg,
      rgba(0, 18, 68, .02) 0%,
      rgba(0, 18, 68, .10) 44%,
      rgba(0, 18, 68, .50) 72%,
      rgba(0, 0, 0, .88) 100%) !important;
  box-shadow: none !important;
}

/* L'overlay copre la card, ma il contenuto viene posizionato in basso
   tramite .az-hero__content. Questo evita che vecchi padding/top spostino
   categoria, H2 e meta nella parte alta della foto. */
.az-hero-triple__main.az-home-spotlight > .az-hero__overlay,
.az-hero.az-home-spotlight > .az-hero__overlay,
.az-hero-triple__sec.az-home-spotlight > .az-hero__overlay,
.az-hero--half.az-home-spotlight > .az-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 3 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
}

/* Spegne definitivamente il marker creato nelle patch precedenti. */
.az-hero-triple__main.az-home-spotlight > .az-hero__overlay::before,
.az-hero.az-home-spotlight > .az-hero__overlay::before,
.az-hero-triple__sec.az-home-spotlight > .az-hero__overlay::before,
.az-hero--half.az-home-spotlight > .az-hero__overlay::before {
  content: none !important;
  display: none !important;
}

.az-hero-triple__main.az-home-spotlight > .az-hero__overlay > .az-hero__content,
.az-hero.az-home-spotlight > .az-hero__overlay > .az-hero__content {
  position: absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: 34px !important;
  top: auto !important;
  z-index: 4 !important;
  display: block !important;
  width: auto !important;
  max-width: min(760px, calc(100% - 64px)) !important;
}

.az-hero-triple__sec.az-home-spotlight > .az-hero__overlay > .az-hero__content,
.az-hero--half.az-home-spotlight > .az-hero__overlay > .az-hero__content {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 20px !important;
  top: auto !important;
  z-index: 4 !important;
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 36px) !important;
}

.az-home-spotlight .az-hero__cat,
.az-home-spotlight .az-hero__title,
.az-home-spotlight .az-hero__meta {
  margin-top: 0 !important;
}

.az-home-spotlight .az-hero__title {
  text-shadow: 0 4px 20px rgba(0, 0, 0, .68) !important;
}

/* Badge alto separato dal contenuto basso. */
.az-home-spotlight::after {
  content: 'IN PRIMO PIANO' !important;
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffffff 0%, #e9f9ff 100%) !important;
  color: #08276a !important;
  border: 1px solid rgba(34, 200, 255, .78) !important;
  font-family: var(--font-h) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 24px rgba(0, 18, 68, .24) !important;
  pointer-events: none !important;
}

@media (max-width: 860px) {
  .az-hero-triple__main.az-home-spotlight,
  .az-hero.az-home-spotlight {
    border-width: 3px !important;
    border-radius: 13px !important;
    box-shadow:
      0 16px 34px rgba(0, 72, 190, .24),
      0 0 0 4px rgba(34, 200, 255, .12) !important;
  }

  .az-hero-triple__main.az-home-spotlight > .az-hero__overlay > .az-hero__content,
  .az-hero.az-home-spotlight > .az-hero__overlay > .az-hero__content {
    left: 16px !important;
    right: 16px !important;
    bottom: 18px !important;
    max-width: calc(100% - 32px) !important;
  }

  .az-hero-triple__sec.az-home-spotlight > .az-hero__overlay > .az-hero__content,
  .az-hero--half.az-home-spotlight > .az-hero__overlay > .az-hero__content {
    left: 14px !important;
    right: 14px !important;
    bottom: 16px !important;
    max-width: calc(100% - 28px) !important;
  }

  .az-home-spotlight::after {
    top: 12px !important;
    left: 12px !important;
    min-height: 24px !important;
    padding: 5px 10px !important;
    font-size: 9px !important;
  }
}


/* v7.3.26 — Sidebar manager: widget manuali + blocchi automatici */
.az-sidebar .az-widget,
.az-sidebar .widget {
  width: 100%;
}
.az-sidebar .az-widget > :last-child,
.az-sidebar .widget > :last-child {
  margin-bottom: 0;
}
.az-sidebar .az-widget ul,
.az-sidebar .widget ul {
  margin: 0;
  padding-left: 18px;
}
.az-sidebar .az-widget li + li,
.az-sidebar .widget li + li {
  margin-top: 8px;
}
.az-ad--side:empty {
  display: none;
}

/* ============================================================
   v7.4.0 — Design system leggero, hardening UX e Redazione full width
   ============================================================ */
:root {
  --az-blue: #1769dc;
  --az-blue-dk: #082f78;
  --az-blue-lt: #2c8cff;
  --az-sky: #61c4ff;
  --az-off: #f7f9fc;
  --az-border: #e5eaf2;
  --az-soft: #eef6ff;
  --az-shadow-sm: 0 6px 20px rgba(8, 47, 120, .07);
  --az-shadow-md: 0 14px 34px rgba(8, 47, 120, .10);
}

body {
  background:
    linear-gradient(180deg, #fafdff 0%, var(--az-off) 260px),
    var(--az-off);
}

.az-main {
  padding-top: 28px;
}

.az-topbar {
  background: #072964;
  color: rgba(255,255,255,.68);
}

.az-header {
  box-shadow: 0 2px 14px rgba(8, 47, 120, .16);
}

.az-nav-wrap {
  border-bottom-width: 1px;
  box-shadow: 0 8px 18px rgba(8, 47, 120, .10);
}

.az-breaking {
  background: #e31b2f;
}

.az-section {
  margin-bottom: 38px;
}

.az-sh {
  border-bottom: 1px solid var(--az-border);
  padding-bottom: 12px;
  margin-bottom: 20px;
}

.az-sh__title {
  letter-spacing: .03em;
  text-transform: none;
  font-size: 18px;
}

.az-sh__title::before {
  width: 4px;
  height: 18px;
  background: var(--az-blue-lt);
}

.az-card,
.az-card-wide,
.az-sb,
.az-page-card,
.az-contact-box,
.az-contact-form-wrap,
.az-poll,
.az-poll-preview,
.az-post-nav__item,
.az-sharebox {
  border-color: var(--az-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.az-card:hover,
.az-card-wide:hover,
.az-team-card:hover,
.az-poll-preview:hover,
.az-poll-preview:focus-visible {
  box-shadow: var(--az-shadow-sm) !important;
  transform: translateY(-2px);
}

.az-card__cat,
.az-card-wide__cat,
.az-art__cats a {
  color: var(--az-blue);
  letter-spacing: .04em;
}

.az-badge-new {
  background: #eef6ff;
  color: var(--az-blue-dk);
  border: 1px solid #cfe2ff;
  border-radius: 999px;
  padding: 2px 7px;
}

/* Hero: overlay unico e leggero, testo ancorato in basso senza fasce sporche. */
.az-hero,
.az-hero-triple,
.az-hero-triple__main,
.az-hero-triple__sec,
.az-hero--half {
  border-radius: 8px !important;
}

.az-hero-triple {
  gap: 12px !important;
  overflow: visible !important;
}

.az-hero-triple__main,
.az-hero-triple__sec,
.az-hero,
.az-hero--half {
  background:
    radial-gradient(circle at 16% 12%, rgba(97, 196, 255, .20), transparent 32%),
    linear-gradient(135deg, #082f78 0%, #1769dc 100%) !important;
  overflow: hidden !important;
}

.az-hero-triple__main::before,
.az-hero-triple__sec::before,
.az-hero::before,
.az-hero--half::before,
.az-hero-triple__main.az-home-spotlight::before,
.az-hero-triple__sec.az-home-spotlight::before,
.az-hero.az-home-spotlight::before,
.az-hero--half.az-home-spotlight::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(2, 14, 44, 0) 0%, rgba(2, 14, 44, .18) 48%, rgba(2, 14, 44, .74) 100%) !important;
  box-shadow: none !important;
}

.az-hero__overlay,
.az-hero-triple__main .az-hero__overlay,
.az-hero-triple__sec .az-hero__overlay,
.az-hero-triple__sec .az-hero__overlay--sm,
.az-hero-triple__main.az-home-spotlight > .az-hero__overlay,
.az-hero-triple__sec.az-home-spotlight > .az-hero__overlay,
.az-hero.az-home-spotlight > .az-hero__overlay,
.az-hero--half.az-home-spotlight > .az-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 24px !important;
  background: transparent !important;
}

.az-hero-triple__sec .az-hero__overlay,
.az-hero-triple__sec .az-hero__overlay--sm,
.az-hero--half .az-hero__overlay {
  padding: 18px !important;
}

.az-hero__content,
.az-hero-triple__main.az-home-spotlight > .az-hero__overlay > .az-hero__content,
.az-hero-triple__sec.az-home-spotlight > .az-hero__overlay > .az-hero__content,
.az-hero.az-home-spotlight > .az-hero__overlay > .az-hero__content,
.az-hero--half.az-home-spotlight > .az-hero__overlay > .az-hero__content {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 760px !important;
}

.az-hero__cat {
  background: rgba(255,255,255,.92) !important;
  color: var(--az-blue-dk) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  margin-bottom: 9px !important;
}

.az-hero__title {
  text-shadow: 0 3px 18px rgba(0,0,0,.45) !important;
  letter-spacing: -.01em;
}

.az-home-spotlight,
.az-hero-triple__main.az-home-spotlight,
.az-hero-triple__sec.az-home-spotlight,
.az-hero.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border: 1px solid rgba(97, 196, 255, .72) !important;
  outline: 0 !important;
  box-shadow: 0 14px 34px rgba(23, 105, 220, .16) !important;
}

.az-home-spotlight::after {
  content: 'In primo piano' !important;
  top: 14px !important;
  left: 14px !important;
  min-height: 26px !important;
  padding: 6px 11px !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--az-blue-dk) !important;
  border: 1px solid rgba(97, 196, 255, .55) !important;
  box-shadow: 0 8px 18px rgba(8, 47, 120, .16) !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

/* Articolo: più respiro, meno box pesanti. */
.az-article {
  border-radius: 8px !important;
  box-shadow: none !important;
  padding: clamp(22px, 3vw, 38px);
}

.az-art__head {
  max-width: 860px;
}

.az-art__sub {
  border-left: 0;
  padding-left: 0;
  color: #526071;
}

.az-art__byline {
  border-top: 1px solid var(--az-border);
  border-bottom: 1px solid var(--az-border);
  gap: 12px;
}

.az-share {
  border-radius: 999px;
  padding: 7px 12px;
  letter-spacing: .02em;
  text-transform: none;
}

.az-sharebox {
  background: #fff;
  padding: 18px;
}

.az-art__body h2 {
  border-bottom: 0;
  padding-bottom: 0;
}

.az-art__body blockquote {
  background: var(--az-soft);
  border-left-color: var(--az-blue-lt);
}

/* Sidebar manager: i blocchi restano modulari ma visivamente più leggeri. */
.az-sidebar {
  gap: 16px !important;
}

.az-sb {
  background: rgba(255,255,255,.92);
}

.az-sb__title {
  background: #fff !important;
  color: var(--az-text) !important;
  border-bottom: 1px solid var(--az-border) !important;
  padding: 12px 14px !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

.az-sb__title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 14px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--az-blue-lt);
  vertical-align: -2px;
}

.az-sb__body {
  padding: 13px 14px !important;
}

.az-list--sidebar-latest .az-list__item {
  gap: 12px;
  padding: 12px 0;
}

.az-list--sidebar-latest .az-list__thumb,
.az-sidebar .az-list__thumb {
  width: 76px !important;
  height: 58px !important;
  border-radius: 7px !important;
}

.az-poll-preview {
  background: #fff !important;
}

.az-poll-preview__eyebrow {
  color: var(--az-blue);
}

/* Redazione full width. */
.az-page-redazione .az-layout--full {
  max-width: 1120px;
  margin: 0 auto;
}

.az-page-card--redazione {
  padding: clamp(24px, 4vw, 46px);
}

.az-page-card--redazione .az-page-hero {
  text-align: left;
  max-width: 820px;
}

.az-page-card--redazione .az-sh {
  margin-top: 12px;
}

.az-team-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.az-team-card {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: clamp(18px, 2.8vw, 34px);
  align-items: stretch;
  min-height: 100%;
  padding: clamp(18px, 2.4vw, 28px);
  border-color: var(--az-border);
  border-radius: 8px;
  box-shadow: none;
}

.az-team-card__photo {
  display: flex;
}

.az-team-card__photo img,
.az-team-card__initials {
  width: 100%;
  min-height: 190px;
  height: 100%;
  border-radius: 8px;
  border: 1px solid #d9e7fb;
  object-fit: cover;
  object-position: center;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.35), transparent 32%),
    linear-gradient(135deg, var(--az-blue-dk), var(--az-blue));
}

.az-team-card__initials {
  display: grid;
  place-items: center;
  color: #fff;
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 800;
}

.az-team-card__name {
  font-size: var(--az-typo-card-title, clamp(20px, 2vw, 24px));
  line-height: var(--az-typo-card-title-lh, 1.18);
}

.az-team-card__bio {
  color: #526071;
}

.az-team-card__body {
  align-self: center;
}

.az-team-card__links {
  gap: 8px;
}

.az-team-card__links a {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--az-soft);
  color: var(--az-blue-dk);
  text-transform: none;
  letter-spacing: 0;
}

.az-team-card__links a:hover {
  background: #dceeff;
  color: var(--az-blue);
  text-decoration: none;
}

/* v7.4.7: categoria temporaneamente nascosta su homepage, articoli,
   correlati, sidebar, archivi e caricamento AJAX. */
.az-hero__cat,
.az-card__cat,
.az-card-wide__cat,
.az-list__cat,
.az-art__cats {
  display: none !important;
}

/* v7.4.7: continuita' visiva col blu storico del sito live. */
:root {
  --az-live-blue: #027ddd;
  --az-live-blue-dark: #0069bd;
}

body {
  background:
    radial-gradient(circle at 0 0, rgba(2, 125, 221, .10), transparent 320px),
    linear-gradient(180deg, #fbfdff 0%, #f6f9fe 320px, #f3f7fd 100%) !important;
}

.az-topbar {
  background: linear-gradient(90deg, var(--az-live-blue) 0%, #0b2f78 100%) !important;
  color: rgba(255,255,255,.88) !important;
}

.az-header {
  border-top: 4px solid var(--az-live-blue) !important;
}

.az-nav-wrap {
  border-bottom: 3px solid var(--az-live-blue) !important;
}

.az-header__brand {
  background: linear-gradient(135deg, #082f78 0%, var(--az-live-blue) 100%) !important;
}

.az-sh__title::before,
.az-sb__title::before {
  background: var(--az-live-blue) !important;
}

.az-page-kicker,
.az-poll-preview__eyebrow,
.az-poll__eyebrow {
  color: var(--az-live-blue-dark) !important;
}

.az-btn,
.az-poll-preview__cta,
.az-poll__submit {
  background: linear-gradient(135deg, var(--az-live-blue) 0%, #0d4ab7 100%) !important;
}

.az-team-card {
  border-left: 4px solid var(--az-live-blue) !important;
}

/* v7.4.7: il primo piano deve avere gerarchia reale, non solo label. */
.az-home-spotlight,
.az-hero-triple__main.az-home-spotlight,
.az-hero-triple__sec.az-home-spotlight,
.az-hero.az-home-spotlight,
.az-hero--half.az-home-spotlight {
  border: 2px solid rgba(2, 125, 221, .84) !important;
  box-shadow:
    0 0 0 4px rgba(2, 125, 221, .12),
    0 18px 42px rgba(8, 36, 92, .16) !important;
}

.az-card.az-home-spotlight,
.az-card-wide.az-home-spotlight {
  position: relative !important;
  border: 2px solid rgba(2, 125, 221, .72) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%) !important;
  box-shadow:
    0 0 0 4px rgba(2, 125, 221, .10),
    0 14px 30px rgba(8, 36, 92, .10) !important;
}

.az-card.az-home-spotlight::before,
.az-card-wide.az-home-spotlight::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  z-index: 5 !important;
  width: 5px !important;
  border-radius: 12px 0 0 12px !important;
  background: linear-gradient(180deg, var(--az-live-blue) 0%, #0b2f78 100%) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.az-home-spotlight::after {
  background: linear-gradient(135deg, #ffffff 0%, #e9f7ff 100%) !important;
  color: #082f78 !important;
  border: 1px solid rgba(2, 125, 221, .46) !important;
  box-shadow: 0 8px 18px rgba(8, 47, 120, .18) !important;
  font-weight: 900 !important;
}

@media (max-width: 860px) {
  .az-header {
    border-top: 0 !important;
    border-bottom: 3px solid var(--az-live-blue) !important;
  }
}

/* Contatti, sondaggi, footer. */
.az-contact-box {
  background: var(--az-soft);
}

.az-main--legal .az-layout--full {
  max-width: 980px;
  margin: 0 auto;
}

.az-page-card--legal {
  padding: clamp(24px, 4vw, 52px);
}

.az-legal-body {
  color: #24324a;
}

.az-legal-body h2 {
  margin-top: 1.55em;
  margin-bottom: .45em;
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.16;
}

.az-legal-body p {
  max-width: 76ch;
}

.az-legal-updated {
  color: #66758b;
  font-size: .92em;
}

/* Widget formazione Napoli. */
.az-lineup-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(2, 125, 221, .24);
  border-radius: 12px;
  background:
    linear-gradient(180deg, #fff 0%, #f7fbff 100%);
  box-shadow: 0 12px 30px rgba(8, 36, 92, .075);
}

.az-lineup-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--az-live-blue, #027ddd), #0b2f78);
}

.az-lineup-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 20px 20px 14px;
}

.az-lineup-card__eyebrow {
  color: var(--az-live-blue-dark, var(--az-blue));
  font-family: var(--font-h);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.az-lineup-card__head h3 {
  margin: 3px 0 0;
  color: var(--az-text);
  font-family: var(--font-h);
  font-size: clamp(21px, 2.6vw, 32px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.az-lineup-card__head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: #e8f4ff;
  color: #082f78;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(2, 125, 221, .08);
  white-space: nowrap;
}

.az-lineup-pitch {
  position: relative;
  display: grid;
  gap: clamp(14px, 2vw, 20px);
  margin: 0 18px;
  padding: clamp(22px, 3vw, 30px) clamp(12px, 2vw, 18px);
  border: 3px solid rgba(255,255,255,.44);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 33px, rgba(255,255,255,.30) 34px 35px, transparent 36px),
    linear-gradient(90deg, rgba(255,255,255,.14) 0 12.5%, transparent 12.5% 25%, rgba(255,255,255,.14) 25% 37.5%, transparent 37.5% 50%, rgba(255,255,255,.14) 50% 62.5%, transparent 62.5% 75%, rgba(255,255,255,.14) 75% 87.5%, transparent 87.5%),
    linear-gradient(180deg, #0f8c55 0%, #087043 100%);
  box-shadow:
    inset 0 0 0 1px rgba(5, 44, 28, .18),
    inset 0 18px 40px rgba(255,255,255,.10),
    0 14px 28px rgba(4, 58, 38, .14);
}

.az-lineup-pitch::before {
  content: '';
  position: absolute;
  left: 20px;
  right: 20px;
  top: 50%;
  height: 1px;
  background: rgba(255,255,255,.34);
}

.az-lineup-pitch::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: min(34%, 150px);
  height: 34px;
  border: 1px solid rgba(255,255,255,.28);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  transform: translateX(-50%);
}

.az-lineup-row {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(6px, 1.3vw, 12px);
  align-items: center;
}

.az-lineup-row--1 { grid-template-columns: minmax(94px, .38fr); justify-content: center; }
.az-lineup-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.az-lineup-row--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.az-lineup-player {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-areas:
    "badge name"
    "badge role";
  column-gap: 6px;
  align-items: center;
  min-width: 0;
  min-height: 46px;
  padding: 7px 7px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  color: #082f78;
  font-family: var(--font-h);
  font-weight: 800;
  box-shadow: 0 10px 20px rgba(2, 20, 44, .14);
  backdrop-filter: blur(4px);
}

.az-lineup-player__badge {
  grid-area: badge;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 36% 30%, #fff 0 16%, transparent 17%),
    linear-gradient(135deg, var(--az-live-blue, #027ddd) 0%, #082f78 100%);
  box-shadow: 0 4px 10px rgba(2, 30, 76, .22);
}

.az-lineup-player__name {
  grid-area: name;
  min-width: 0;
  overflow: visible;
  color: #082f78;
  font-size: clamp(9.5px, 1.05vw, 12px);
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-align: left;
  text-overflow: clip;
  white-space: normal;
}

.az-lineup-player__role {
  grid-area: role;
  margin-top: 2px;
  color: #6d7b91;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.az-lineup-card__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 14px 20px 18px;
  color: #66758b;
  font-size: 12px;
  font-weight: 700;
}

.az-sidebar .az-lineup-card__head {
  padding: 18px 18px 12px;
}

.az-sidebar .az-lineup-card__head h3 {
  font-size: clamp(22px, 2.2vw, 30px);
}

.az-sidebar .az-lineup-pitch {
  gap: 14px;
  margin: 0 14px;
  padding: 22px 10px;
}

.az-sidebar .az-lineup-player {
  grid-template-columns: 17px minmax(0, 1fr);
  column-gap: 5px;
  min-height: 42px;
  padding: 6px;
  border-radius: 10px;
}

.az-sidebar .az-lineup-player__badge {
  width: 17px;
  height: 17px;
}

.az-sidebar .az-lineup-player__name {
  font-size: 11px;
}

.az-sidebar .az-lineup-player__role {
  font-size: 8px;
}

.az-contact-form input,
.az-contact-form textarea,
.az-art__body .wpcf7 input,
.az-art__body .wpcf7 textarea,
.az-art__body .wpcf7 select {
  border-radius: 8px;
}

.az-poll {
  background: #fff;
}

.az-poll__submit,
.az-btn,
.az-art__body .wpcf7-submit {
  border-radius: 999px;
}

.az-footer {
  background: #072964;
  margin-top: 52px;
}

.az-footer__top {
  gap: 26px;
}

.az-footer__col nav ul,
.az-footer__col ul {
  gap: 9px;
}

.az-footer__col-title {
  color: rgba(255,255,255,.62);
  letter-spacing: .04em;
}

.az-footer__bot-in {
  align-items: flex-start;
}

@media (max-width: 1024px) {
  .az-team-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .az-main {
    padding-top: 22px;
  }

  .az-hero-triple {
    gap: 14px !important;
  }

  .az-hero__overlay,
  .az-hero-triple__main .az-hero__overlay,
  .az-hero-triple__sec .az-hero__overlay,
  .az-hero-triple__sec .az-hero__overlay--sm {
    padding: 18px !important;
  }

  .az-card-wide {
    gap: 0;
  }

  .az-sidebar {
    display: flex !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .az-footer__top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  :root {
    --gap: 16px;
  }

  .az-main {
    padding-top: 18px;
  }

  .az-hero-triple__main {
    height: 330px !important;
  }

  .az-hero-triple__sec {
    height: 230px !important;
  }

  .az-hero__title {
    line-height: 1.17;
  }

  .az-home-spotlight::after {
    top: 10px !important;
    left: 10px !important;
    font-size: 9px !important;
  }

  .az-article,
  .az-page-card,
  .az-contact-form-wrap {
    padding: 20px;
  }

  .az-team-grid {
    grid-template-columns: 1fr;
  }

  .az-team-card {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .az-team-card__photo img,
  .az-team-card__initials {
    min-height: 220px;
  }

  .az-sharebox .az-byline__share,
  .az-byline__share {
    gap: 8px !important;
  }

  .az-share {
    min-height: 36px;
  }

  .az-contact-layout {
    gap: 16px;
  }

  .az-lineup-pitch {
    gap: 14px;
    margin: 0 10px;
    padding: 20px 8px;
  }

  .az-lineup-row {
    gap: 5px;
  }

  .az-lineup-player {
    grid-template-columns: 15px minmax(0, 1fr);
    column-gap: 4px;
    min-height: 38px;
    padding: 5px;
    border-radius: 9px;
  }

  .az-lineup-player__badge {
    width: 15px;
    height: 15px;
  }

  .az-lineup-player__name {
    font-size: 10px;
  }

  .az-lineup-player__role {
    display: none;
  }

  .az-footer__top {
    grid-template-columns: 1fr;
    padding-top: 30px;
  }

  .az-footer__bot-in {
    flex-direction: column;
  }
}

/* v7.4.10: emergency desktop header/menu reset. */
@media (min-width: 861px) {
  .az-header {
    position: relative !important;
    top: auto !important;
    z-index: 60 !important;
    height: auto !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--az-line-soft) !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.admin-bar .az-header {
    top: auto !important;
  }

  .az-header__inner {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    min-height: 76px !important;
    overflow: visible !important;
  }

  .az-header__brand,
  .az-search-wrap--desktop {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .az-nav-wrap {
    position: relative !important;
    top: auto !important;
    z-index: 55 !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 56px !important;
    transform: none !important;
    visibility: visible !important;
    overflow: visible !important;
    border-top: 0 !important;
    border-bottom: 3px solid var(--az-live-blue) !important;
  }

  body.admin-bar .az-nav-wrap {
    top: auto !important;
  }

  .az-nav-container,
  .az-nav-scroll,
  .az-nav {
    height: auto !important;
    min-height: 56px !important;
    overflow: visible !important;
  }

  .az-nav-container,
  .az-nav,
  .az-nav > li,
  .az-nav__row {
    display: flex !important;
    align-items: center !important;
  }

  .az-nav {
    padding: 0 !important;
  }

  .az-nav > li,
  .az-nav__row {
    min-height: 56px !important;
  }

  .az-nav__row > a,
  .az-nav > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 56px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2 !important;
  }

  .az-submenu-toggle {
    align-self: center !important;
  }
}

/* v7.4.10: footer semplificato per produzione. */
.az-footer__top {
  grid-template-columns: minmax(280px, 1fr) minmax(180px, 260px) !important;
  justify-content: space-between !important;
  align-items: start !important;
  column-gap: clamp(36px, 9vw, 140px) !important;
  row-gap: 26px !important;
}

.az-footer__brand {
  max-width: 430px !important;
}

.az-footer__desc {
  max-width: 360px !important;
}

.az-footer__col {
  justify-self: end !important;
  min-width: 180px !important;
}

.az-footer__col nav ul,
.az-footer__col ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.az-footer__bot-in {
  align-items: center !important;
}

@media (max-width: 860px) {
  .az-footer__top {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .az-footer__col {
    justify-self: start !important;
    min-width: 0 !important;
  }

  .az-footer__bot-in {
    align-items: flex-start !important;
  }
}

/* v7.4.10: formazione Napoli leggibile, desktop-only, senza nomi a capo. */
@media (min-width: 861px) {
  .az-layout,
  .az-layout--single {
    grid-template-columns: minmax(0, 1fr) 350px !important;
  }

  .az-lineup-card {
    border-radius: var(--az-box-radius) !important;
    border-color: rgba(2, 125, 221, .20) !important;
    background:
      radial-gradient(circle at 100% 0, rgba(2, 125, 221, .10), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
    box-shadow: 0 8px 22px rgba(8, 36, 92, .07) !important;
  }

  .az-lineup-card__head {
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 18px 18px 12px !important;
    min-width: 0 !important;
  }

  .az-lineup-card__head > div {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .az-lineup-card__eyebrow {
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  .az-lineup-card__head h3 {
    max-width: 100% !important;
    margin-top: 4px !important;
    font-size: 22px !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .az-lineup-card__head > span {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  .az-lineup-pitch--list {
    display: grid !important;
    gap: 8px !important;
    margin: 0 14px !important;
    padding: 14px 10px !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    border-radius: 12px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.12) 0 12.5%, transparent 12.5% 25%, rgba(255,255,255,.12) 25% 37.5%, transparent 37.5% 50%, rgba(255,255,255,.12) 50% 62.5%, transparent 62.5% 75%, rgba(255,255,255,.12) 75% 87.5%, transparent 87.5%),
      linear-gradient(180deg, #0f8c55 0%, #087043 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(5, 44, 28, .16),
      inset 0 18px 34px rgba(255,255,255,.08),
      0 12px 22px rgba(4, 58, 38, .11) !important;
  }

  .az-lineup-pitch--list::before,
  .az-lineup-pitch--list::after {
    display: none !important;
  }

  .az-lineup-line {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding: 6px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 10px !important;
    background: rgba(4, 42, 31, .16) !important;
    backdrop-filter: blur(2px);
  }

  .az-lineup-line__role {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 27px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.18) !important;
    color: rgba(255,255,255,.92) !important;
    font-family: var(--font-h) !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .az-lineup-line__names {
    display: grid !important;
    grid-template-columns: repeat(var(--az-lineup-count), minmax(0, 1fr)) !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  .az-lineup-name {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 6px 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.95) !important;
    color: #082f78 !important;
    font-family: var(--font-h) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 4px 10px rgba(2, 20, 44, .10) !important;
  }

  .az-lineup-line--defense .az-lineup-line__names {
    gap: 4px !important;
  }

  .az-lineup-line--defense .az-lineup-name {
    padding-inline: 4px !important;
    font-size: 8.7px !important;
  }

  .az-lineup-line--keeper .az-lineup-line__names {
    max-width: 128px !important;
  }

  .az-lineup-card__foot {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 13px 18px 17px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .az-lineup-card__foot span {
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 860px) {
  .az-lineup-card {
    display: none !important;
  }
}

/* v7.4.12: byline articolo con autore nascosto globalmente da backend. */
.az-art__byline--no-author {
  align-items: center;
}

.az-art__byline--no-author .az-byline__info {
  flex: 1 1 auto;
}

.az-art__byline--no-author .az-byline__meta {
  font-weight: 600;
}

/* v7.4.14: rollback fix sidebar.
   Niente wrapper interno e niente overflow/max-height sulla sidebar: i widget
   devono restare integri. Lo sticky usa un offset basso perché header/nav desktop
   sono in flusso normale nelle versioni recenti. */
@media (min-width: 861px) {
  .az-layout--single > .az-sidebar,
  .az-sidebar {
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
  }

  .az-sidebar__sticky {
    display: contents !important;
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
  }

  body.admin-bar .az-sidebar {
    top: 56px !important;
  }
}

@media (max-width: 860px) {
  .az-sidebar {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* v7.4.15: barra meta/share articolo riequilibrata.
   Desktop: date a sinistra, condivisioni a destra.
   Mobile: date sopra, bottoni compatti sotto, senza vuoti laterali. */
.az-art__byline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 14px 20px !important;
  max-width: 860px !important;
  padding: 14px 18px !important;
  margin-bottom: 34px !important;
  border: 1px solid rgba(204, 217, 238, .90) !important;
  border-radius: var(--az-box-radius, 14px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.96) 100%) !important;
  box-shadow: 0 12px 28px rgba(8, 36, 92, .055) !important;
}

.az-byline__info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.az-byline__meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px 8px !important;
  color: #667085 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.az-byline__share {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  gap: 9px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

.az-art__byline--no-author {
  padding-block: 13px !important;
}

.az-art__byline--no-author .az-byline__info {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

.az-art__byline--no-author .az-byline__meta {
  font-weight: 700 !important;
}

.az-art__byline--no-author .az-byline__share {
  margin-left: auto !important;
}

.az-art__byline .az-share {
  min-height: 40px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
}

@media (max-width: 700px) {
  .az-art__byline {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px !important;
    margin-bottom: 28px !important;
  }

  .az-art__byline--no-author {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .az-art__byline--no-author .az-byline__info {
    grid-column: 1 !important;
  }

  .az-byline__share {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin-left: 0 !important;
    gap: 8px !important;
  }

  .az-byline__meta {
    font-size: 12px !important;
    gap: 4px 7px !important;
  }

  .az-art__byline .az-share {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
  }
}
