/* Home editorial imagery — original ComeOggi assets, not live weather maps. */
.a2 { max-width: 100%; overflow-x: clip; }
.a2 .v2-guscio, .a2 .v2-sez, .a2 figure, .a2 img { min-width: 0; max-width: 100%; }
.a2 .a2-feature__grid > *, .a2 .a2-national-grid > *, .a2 .a2-radar-grid > * { min-width: 0; max-width: 100%; }
.a2 .a2-feature__grid {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  background: var(--c-superficie);
  box-shadow: 0 18px 44px rgba(5, 35, 58, .15);
}

.a2 .a2-feature__visual {
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #0a304e;
}

.a2 .a2-feature__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.a2 .a2-feature__copy {
  display: grid;
  align-content: center;
  gap: var(--s2);
  min-width: 0;
  padding: var(--s4);
}

.a2 .a2-feature__eyebrow {
  color: var(--c-accento);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.a2 .a2-feature__copy h2 {
  margin: 0;
  font-family: var(--f-display, 'Fraunces', serif);
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.08;
}

.a2 .a2-feature__copy p { margin: 0; color: var(--c-testo-soft); line-height: 1.4; }
.a2 .a2-feature__meta { font-size: var(--t-micro); }
.a2 .a2-feature__news { display: grid; border-top: 1px solid var(--c-bordo); }
.a2 .a2-feature__news a { padding: 10px 0; border-bottom: 1px solid var(--c-bordo); color: var(--c-testo); font-size: var(--t-piccolo); font-weight: 700; text-decoration: none; }

.a2 .a2-national-grid {
  display: grid;
  min-width: 0;
  width: 100%;
  gap: var(--s3);
}

.a2 .a2-national-visual {
  position: relative;
  overflow: hidden;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  background: #96bace;
  box-shadow: 0 16px 34px rgba(12, 42, 62, .13);
}

.a2 .a2-national-visual::after {
  content: "";
  position: absolute;
  inset: 62% 0 0;
  background: linear-gradient(transparent, rgba(3, 20, 34, .82));
  pointer-events: none;
}

.a2 .a2-national-visual img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.a2 .a2-national-visual__live {
  position: absolute;
  z-index: 2;
  top: var(--s3);
  right: var(--s3);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: var(--raggio-pill);
  color: #fff;
  background: rgba(7, 40, 61, .78);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.a2 .a2-national-visual__live i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #42d38b;
  box-shadow: 0 0 0 4px rgba(66, 211, 139, .18);
}

.a2 .a2-national-visual figcaption {
  position: absolute;
  z-index: 1;
  right: var(--s3);
  bottom: var(--s3);
  left: var(--s3);
  color: #fff;
  font-size: var(--t-micro);
  line-height: 1.35;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
}

.a2 .a2-national-unavailable {
  display: grid;
  align-content: center;
  gap: var(--s2);
  min-width: 0;
  min-height: 220px;
  padding: var(--s5);
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  color: var(--c-testo-soft);
  background: linear-gradient(145deg, #eaf2f6, var(--c-superficie));
}

.a2 .a2-national-unavailable b { color: var(--c-testo); }
.a2 .a2-national-unavailable span { font-size: var(--t-piccolo); }

.a2 .a2-radar-grid {
  display: grid;
  min-width: 0;
  width: 100%;
  gap: var(--s3);
}

.a2 .a2-radar-visual {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  color: #fff;
  background: #96bace;
  box-shadow: 0 16px 34px rgba(12, 42, 62, .13);
  text-decoration: none;
}

.a2 .a2-radar-visual::after {
  content: "";
  position: absolute;
  inset: 62% 0 0;
  background: linear-gradient(transparent, rgba(3, 20, 34, .82));
  pointer-events: none;
}

.a2 .a2-radar-visual img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.a2 .a2-radar-visual__live {
  position: absolute;
  z-index: 2;
  top: var(--s3);
  right: var(--s3);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: var(--raggio-pill);
  color: #fff;
  background: rgba(7, 40, 61, .78);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.a2 .a2-radar-visual__live i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #42d38b;
  box-shadow: 0 0 0 4px rgba(66, 211, 139, .18);
}

.a2 .a2-radar-visual__caption {
  position: absolute;
  z-index: 2;
  right: var(--s3);
  bottom: var(--s3);
  left: var(--s3);
  color: #fff;
  font-size: var(--t-micro);
  line-height: 1.35;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
}

.a2 .a2-radar-copy {
  align-content: center;
  padding: var(--s5);
  background: linear-gradient(145deg, var(--atm-sereno-1), var(--c-superficie));
}

.a2 .a2-radar-copy__lead {
  margin: 0;
  font-family: var(--f-display, 'Fraunces', serif);
  font-size: clamp(21px, 5vw, 28px);
  font-weight: 600;
  line-height: 1.18;
}

.a2 .a2-europe {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  background: #0d3758;
  box-shadow: 0 18px 40px rgba(5, 35, 58, .18);
}

.a2 .a2-europe img {
  display: block;
  width: 100%;
  height: clamp(300px, 48vw, 520px);
  object-fit: cover;
  transition: transform .45s ease;
}

.a2 .a2-europe figcaption {
  display: grid;
  gap: 4px;
  padding: var(--s3) var(--s4) var(--s4);
  color: var(--c-testo);
  background: var(--c-superficie);
}

.a2 .a2-europe figcaption b {
  font-family: var(--f-display, 'Fraunces', serif);
  font-size: clamp(19px, 4vw, 25px);
  line-height: 1.15;
}

.a2 .a2-europe figcaption span { color: var(--c-testo-soft); font-size: var(--t-micro); }

.a2 .a2-europe-regions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s3);
  margin-top: var(--s3);
}

.a2 .a2-europe-region {
  overflow: hidden;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  background: var(--c-superficie);
  box-shadow: 0 8px 24px rgba(12, 42, 62, .08);
}

.a2 .a2-europe-region img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.a2 .a2-europe-region figcaption {
  display: grid;
  gap: 3px;
  padding: var(--s3);
  font-weight: 750;
}

.a2 .a2-europe-region figcaption span {
  color: var(--c-testo-soft);
  font-size: var(--t-micro);
  font-weight: 500;
}

.a2 .v2-news {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s3);
}

.a2 .v2-news__v {
  overflow: hidden;
  min-width: 0;
  padding: 0;
  gap: 0;
  border: 1px solid var(--c-bordo);
  border-radius: var(--raggio-l);
  background: var(--c-superficie);
  box-shadow: 0 8px 24px rgba(12, 42, 62, .07);
}

.a2 .v2-news__v:last-child { border-bottom: 1px solid var(--c-bordo); }

.a2 .v2-news__media {
  display: block;
  overflow: hidden;
  min-width: 0;
  aspect-ratio: 16 / 9;
  background: #d8e7ef;
}

.a2 .v2-news__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.a2 .v2-news__copy {
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: var(--s3) var(--s4) var(--s4);
}

.a2 .v2-news__h {
  font-family: var(--f-display, 'Fraunces', serif);
  font-size: clamp(18px, 4.8vw, 23px);
  line-height: 1.18;
}

@media (hover: hover) {
  .a2 .a2-feature__visual:hover img,
  .a2 .a2-national-visual:hover img,
  .a2 .a2-radar-visual:hover img,
  .a2 .a2-europe:hover img,
  .a2 .v2-news__v:hover .v2-news__media img { transform: scale(1.025); }
}

@media (min-width: 720px) {
  .a2 .a2-feature__grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); align-items: start; }
  .a2 .a2-national-grid { grid-template-columns: minmax(320px, .85fr) minmax(320px, 1.15fr); }
  .a2 .a2-national-visual { max-height: 540px; }
  .a2 .a2-national-unavailable { min-height: 420px; }
  .a2 .a2-live { height: 100%; align-content: center; }
  .a2 .a2-radar-grid { grid-template-columns: minmax(320px, .85fr) minmax(320px, 1.15fr); }
  .a2 .a2-radar-visual { max-height: 540px; }
  .a2 .a2-europe-regions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .a2 .v2-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a2 .v2-news__v:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
  .a2 .v2-news__v:first-child:nth-last-child(odd) {
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
    align-items: stretch;
  }
  .a2 .v2-news__v:first-child:nth-last-child(odd) .v2-news__media { aspect-ratio: auto; min-height: 270px; }
  .a2 .v2-news__v:first-child:nth-last-child(odd) .v2-news__copy { align-content: end; padding: var(--s5); }
}

@media (prefers-reduced-motion: reduce) {
  .a2 .a2-national-visual img,
  .a2 .a2-radar-visual img,
  .a2 .v2-news__media img { transition: none; }
}
