/* Archivio Video — nuovo banner editoriale RC88 */
.archive-banner-new {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 12px 4vw 16px;
  border: 1px solid rgba(255, 220, 164, .48);
  border-radius: 18px;
  background:
    linear-gradient(105deg, rgba(44, 3, 16, .3), transparent 48%),
    radial-gradient(circle at 82% 18%, rgba(255, 128, 85, .44), transparent 27%),
    radial-gradient(circle at 18% 110%, rgba(255, 185, 63, .18), transparent 31%),
    linear-gradient(122deg, #4b061b 0%, #790b29 38%, #b91836 72%, #d9473e 100%);
  color: #fff;
  box-shadow: 0 27px 60px rgba(91, 8, 31, .32), 0 1px 0 rgba(255, 255, 255, .22) inset;
}

.archive-banner-new::before {
  position: absolute;
  z-index: -1;
  top: -44%;
  right: -12%;
  width: min(62vw, 720px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 237, 193, .28);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 20px rgba(255, 237, 193, .055), 0 0 0 58px rgba(255, 237, 193, .035), 0 0 0 112px rgba(255, 237, 193, .022);
}

.archive-banner-new::after {
  position: absolute;
  z-index: -1;
  right: 41%;
  bottom: -72%;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: rgba(255, 190, 76, .14);
  content: "";
  filter: blur(22px);
}

/* La fascia è un unico comando: si tocca ovunque. Niente rettangolo separato,
   niente pulsante giallo, niente riga di testo sotto: resta il titolo, con il
   disegnino che la fa riconoscere al volo, e la fascia è alta quanto il suo
   contenuto — nessuno spazio vuoto sopra o sotto. */
.archive-banner-new-hit {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(12px, 2vw, 18px);
  width: 100%;
  padding: clamp(12px, 1.7vw, 17px) clamp(14px, 2.4vw, 26px);
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .18s ease;
}

.archive-banner-new-hit:hover { background: rgba(255, 255, 255, .08); }
.archive-banner-new-hit:focus-visible { outline: 3px solid #ffd166; outline-offset: -4px; }

/* Disegnino d'identificazione: un fotogramma di pellicola con il tasto play. */
.archive-banner-new-art {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid rgba(255, 244, 214, .45);
  border-radius: 16px;
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .05);
  transform: rotate(-6deg);
  transition: transform .18s ease;
}

.archive-banner-new-hit:hover .archive-banner-new-art { transform: rotate(-2deg) translateY(-1px); }
.archive-banner-new-art svg { display: block; width: 40px; height: 40px; }
.archive-art-frame { fill: none; stroke: #ffe6ac; stroke-width: 2.2; }
.archive-art-holes { fill: none; stroke: rgba(255, 230, 172, .75); stroke-width: 2.4; stroke-linecap: round; }
.archive-art-play { fill: #ffd166; }

.archive-banner-new-copy { display: grid; min-width: 0; }

.archive-banner-new-title {
  display: block;
  max-width: 24ch;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(1.55rem, 3.6vw, 2.4rem);
  font-weight: 950;
  line-height: 1.03;
  letter-spacing: -.03em;
  text-shadow: 0 5px 24px rgba(46, 0, 14, .3);
}

.archive-banner-new-title .culture-word.culture-word--gold { color: #ffd98f; text-shadow: 0 2px 18px rgba(46, 0, 14, .32); }

.archive-banner-new-arrow { color: #ffd166; font-size: 1.45rem; line-height: 1; transition: transform .18s ease; }
.archive-banner-new-hit:hover .archive-banner-new-arrow { transform: translateX(4px); }

@media (max-width: 760px) {
  .archive-banner-new { margin: 10px 4vw 14px; border-radius: 15px; }
  .archive-banner-new-hit { gap: 11px; padding: 12px 14px; }
  .archive-banner-new-art { width: 42px; height: 42px; border-radius: 12px; }
  .archive-banner-new-art svg { width: 30px; height: 30px; }
  .archive-banner-new-arrow { display: none; }
  .archive-banner-new-title { max-width: 20ch; font-size: clamp(1.5rem, 7.2vw, 2rem); }
}

@media (prefers-reduced-motion: reduce) {
  .archive-banner-new-hit, .archive-banner-new-art, .archive-banner-new-arrow { transition: none; }
}

/* Destinazione del giorno — invito editoriale alla scoperta */
.today-destination {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .48fr);
  align-items: center;
  gap: clamp(22px, 4vw, 58px);
  overflow: hidden;
  margin: 4px 4vw 38px;
  padding: clamp(26px, 4vw, 46px) clamp(22px, 5vw, 64px);
  border: 1px solid rgba(236, 195, 112, .48);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 18%, rgba(207, 139, 67, .25), transparent 24%),
    radial-gradient(circle at 8% 110%, rgba(45, 112, 125, .24), transparent 34%),
    linear-gradient(122deg, #152b38 0%, #203f4a 49%, #2b4f55 100%);
  color: #fffaf0;
  box-shadow: 0 22px 50px rgba(25, 47, 52, .25), 0 1px 0 rgba(255, 255, 255, .16) inset;
}

.today-destination::before,
.today-destination::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(244, 207, 129, .19);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.today-destination::before { top: -210px; right: -90px; width: 450px; height: 450px; }
.today-destination::after { right: 82px; bottom: -240px; width: 440px; height: 440px; box-shadow: 0 0 0 26px rgba(244, 207, 129, .05), 0 0 0 72px rgba(244, 207, 129, .035); }
.today-destination-glow { position: absolute; z-index: -1; top: 18%; right: 18%; width: 190px; height: 190px; border-radius: 50%; background: rgba(237, 170, 79, .13); filter: blur(34px); pointer-events: none; }

.today-destination-copy { position: relative; z-index: 1; min-width: 0; }
.today-destination-eyebrow { margin: 0 0 10px; color: #f9d27d; font-size: .7rem; font-weight: 950; letter-spacing: .16em; }
.today-destination-copy h2 { max-width: 14ch; margin: 0 0 18px; color: #fffaf0; font: 900 clamp(2rem, 4.5vw, 3.7rem)/1.08 Georgia, serif; letter-spacing: -.055em; text-wrap: balance; }
.today-destination-place { display: grid; gap: 5px; margin-bottom: 20px; }
.today-destination-location { margin: 0; color: #f9d27d; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.today-destination-place h3 { margin: 0; color: #fff; font-size: clamp(1.5rem, 3.2vw, 2.25rem); line-height: 1; letter-spacing: -.035em; }
.today-destination-abstract { max-width: 66ch; margin: 2px 0 0; color: rgba(255, 250, 240, .86); font-size: .91rem; line-height: 1.55; }
.today-destination-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-width: min(100%, 260px); min-height: 52px; padding: 0 17px; border: 1px solid #f9d27d; border-radius: 12px; background: linear-gradient(180deg, #fff3c7, #f4c665); color: #183441; box-shadow: 0 12px 25px rgba(6, 28, 37, .28); cursor: pointer; font: 900 .78rem/1 system-ui, sans-serif; letter-spacing: .035em; text-transform: uppercase; transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.today-destination-button > span:last-child { font-size: 1.35rem; line-height: 1; }
.today-destination-button:hover:not(:disabled) { filter: brightness(1.06) saturate(1.08); box-shadow: 0 16px 30px rgba(6, 28, 37, .35); transform: translateY(-3px); }
.today-destination-button:active:not(:disabled) { transform: translateY(-1px); }
.today-destination-button:focus-visible { outline: 3px solid rgba(249, 210, 125, .65); outline-offset: 4px; }
.today-destination-button:disabled { cursor: wait; opacity: .7; }
.today-destination-side { position: relative; align-self: stretch; min-height: 260px; overflow: hidden; border-radius: 0; opacity: .58; }
.today-destination-side::after { position: absolute; inset: -2px; background: linear-gradient(90deg, #203f4a 0%, rgba(32, 63, 74, .86) 15%, rgba(32, 63, 74, .4) 52%, rgba(32, 63, 74, .18) 78%, rgba(32, 63, 74, .46) 100%), linear-gradient(180deg, rgba(21, 43, 56, .38), rgba(21, 43, 56, .62)); content: ""; pointer-events: none; }
.today-destination-side img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; object-position: center; filter: saturate(.62) contrast(.86) blur(.3px); opacity: 0; transform: scale(1.08); mask-image: radial-gradient(ellipse at 62% 50%, #000 18%, rgba(0, 0, 0, .82) 55%, transparent 100%); transition: opacity .45s ease, transform 1.2s ease; }
.today-destination[data-photo-ready="1"] .today-destination-side img { opacity: .44; transform: scale(1.02); }

@media (max-width: 760px) {
  .today-destination { grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0 4vw 30px; padding: 25px 19px 22px; border-radius: 23px; }
  .today-destination-copy h2 { margin-bottom: 22px; font-size: clamp(1.9rem, 9vw, 2.8rem); line-height: 1.08; }
  .today-destination-place { margin-bottom: 17px; }
  .today-destination-abstract { font-size: .86rem; }
  .today-destination-button { width: 100%; min-width: 0; }
  .today-destination-side { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; width: 58%; min-height: 0; border-radius: 0; opacity: .46; }
  .today-destination-side img { min-height: 100%; }
  .today-destination-side::after { background: linear-gradient(90deg, #203f4a 0%, rgba(32, 63, 74, .9) 34%, rgba(32, 63, 74, .28) 82%, rgba(32, 63, 74, .5) 100%), linear-gradient(180deg, rgba(21, 43, 56, .42), rgba(21, 43, 56, .66)); }
  .today-destination[data-photo-ready="1"] .today-destination-side img { opacity: .32; }
  .today-destination-copy { z-index: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .today-destination-button { transition: none; }
}

/* Allineamento Home: la destinazione del giorno deve restare nella stessa
   colonna dei box editoriali, senza uscire dal rientro comune. */
main#top > .today-destination {
  width: min(var(--home-feature-max-width, 1120px), calc(100% - (var(--home-feature-gutter, 24px) * 2)));
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

main#top > .today-destination > * {
  min-width: 0;
}

@media (max-width: 760px) {
  main#top > .today-destination {
    width: calc(100% - 18px);
    margin-right: auto;
    margin-left: auto;
  }
}

/* L’itinerario del giorno è il capitolo conclusivo dello stesso racconto
   culturale: conserva la colonna della Home e riprende bordo oro e verde
   bosco del box Cultura. */
main#top > .today-destination {
  margin-top: clamp(18px, 3vw, 32px);
  margin-bottom: 28px;
  border: 1px solid rgba(246, 209, 132, .58);
  border-top: 5px solid #b88332;
  border-radius: 22px;
  background:
    radial-gradient(circle at 86% 18%, rgba(184, 131, 50, .24), transparent 24%),
    linear-gradient(122deg, #173f35 0%, #21443d 52%, #2d594b 100%);
  box-shadow: 0 22px 50px rgba(33, 68, 61, .22), 0 4px 0 rgba(184, 131, 50, .12);
}

main#top > .today-destination .today-destination-side::after {
  background: linear-gradient(90deg, #173f35 0%, rgba(23, 63, 53, .88) 15%, rgba(33, 68, 61, .42) 52%, rgba(33, 68, 61, .18) 78%, rgba(33, 68, 61, .48) 100%), linear-gradient(180deg, rgba(23, 63, 53, .38), rgba(23, 63, 53, .62));
}

@media (max-width: 760px) {
  main#top > .today-destination {
    border-top-width: 4px;
    border-radius: 20px;
  }
}

/* Rifinitura itinerario: foto più presente e banner più compatto. */
.today-destination {
  gap: clamp(18px, 3vw, 42px);
  padding: clamp(20px, 3vw, 30px) clamp(22px, 4vw, 48px);
}

.today-destination-copy h2 {
  margin-bottom: 12px;
  font-size: clamp(1.8rem, 3.8vw, 3rem);
  line-height: 1.04;
}

.today-destination-place {
  gap: 4px;
  margin-bottom: 14px;
}

.today-destination-side {
  min-height: 190px;
  opacity: .9;
}

.today-destination-side::after {
  background: linear-gradient(90deg, #173f35 0%, rgba(23, 63, 53, .7) 14%, rgba(33, 68, 61, .22) 52%, rgba(33, 68, 61, .08) 78%, rgba(33, 68, 61, .2) 100%), linear-gradient(180deg, rgba(23, 63, 53, .18), rgba(23, 63, 53, .34));
}

.today-destination-side img {
  min-height: 190px;
  filter: saturate(.82) contrast(.94);
  transform: scale(1.05);
  mask-image: radial-gradient(ellipse at 62% 50%, #000 28%, rgba(0, 0, 0, .9) 68%, transparent 100%);
}

.today-destination[data-photo-ready="1"] .today-destination-side img {
  opacity: .82;
  transform: scale(1.01);
}

@media (max-width: 760px) {
  .today-destination {
    gap: 12px;
    margin-bottom: 24px;
    padding: 18px 16px 16px;
  }

  .today-destination-copy h2 {
    margin-bottom: 13px;
    font-size: clamp(1.75rem, 8vw, 2.45rem);
    line-height: 1.04;
  }

  .today-destination-place {
    margin-bottom: 13px;
  }

  .today-destination-side {
    width: 62%;
    opacity: .92;
  }

  .today-destination-side::after {
    background: linear-gradient(90deg, #173f35 0%, rgba(23, 63, 53, .72) 30%, rgba(33, 68, 61, .14) 82%, rgba(33, 68, 61, .26) 100%), linear-gradient(180deg, rgba(23, 63, 53, .18), rgba(23, 63, 53, .36));
  }

  .today-destination[data-photo-ready="1"] .today-destination-side img {
    opacity: .7;
  }
}

/* La foto è il soggetto del banner: nessun riquadro, nessun velo pesante.
   Le regole più sopra con l'id della sezione hanno priorità, quindi anche
   questi override usano la stessa specificità: senza di essa il velo verde
   continuava a coprire l'immagine, che restava quasi invisibile. */
main#top > .today-destination .today-destination-side {
  min-height: 168px;
  overflow: visible;
  border-radius: 0;
  opacity: 1;
}

/* Un unico velo leggerissimo: serve solo a far rientrare la foto nel verde
   sul bordo sinistro, dove comincia il testo. Il resto resta libero. */
main#top > .today-destination .today-destination-side::after {
  inset: -2px;
  background:
    linear-gradient(90deg, rgba(23, 63, 53, .62) 0%, rgba(23, 63, 53, .2) 11%, rgba(23, 63, 53, 0) 30%, rgba(23, 63, 53, 0) 100%),
    linear-gradient(180deg, rgba(23, 63, 53, .1), transparent 26%, transparent 78%, rgba(23, 63, 53, .14));
}

/* Opacità piena e colori naturali: la sfumatura morbida sui bordi è affidata
   alla maschera, così la foto si scioglie nel banner senza tagli netti. */
main#top > .today-destination .today-destination-side img,
main#top > .today-destination[data-photo-ready="1"] .today-destination-side img {
  min-height: 168px;
  filter: saturate(1.06) contrast(1.05) brightness(1.04);
  opacity: 1;
  transform: scale(1.02);
  -webkit-mask-image: radial-gradient(ellipse 84% 96% at 54% 50%, #000 0%, #000 44%, rgba(0, 0, 0, .74) 70%, rgba(0, 0, 0, .3) 87%, transparent 100%);
  mask-image: radial-gradient(ellipse 84% 96% at 54% 50%, #000 0%, #000 44%, rgba(0, 0, 0, .74) 70%, rgba(0, 0, 0, .3) 87%, transparent 100%);
}

@media (max-width: 760px) {
  main#top > .today-destination .today-destination-side {
    width: 72%;
    min-height: 100%;
    opacity: 1;
  }

  main#top > .today-destination .today-destination-side::after {
    background:
      linear-gradient(90deg, rgba(23, 63, 53, .66) 0%, rgba(23, 63, 53, .24) 16%, rgba(23, 63, 53, 0) 42%, rgba(23, 63, 53, 0) 100%),
      linear-gradient(180deg, rgba(23, 63, 53, .08), transparent 22%, transparent 80%, rgba(23, 63, 53, .14));
  }

  main#top > .today-destination .today-destination-side img,
  main#top > .today-destination[data-photo-ready="1"] .today-destination-side img {
    min-height: 100%;
    opacity: 1;
    -webkit-mask-image: radial-gradient(ellipse 90% 100% at 58% 50%, #000 0%, #000 40%, rgba(0, 0, 0, .7) 72%, rgba(0, 0, 0, .26) 88%, transparent 100%);
    mask-image: radial-gradient(ellipse 90% 100% at 58% 50%, #000 0%, #000 40%, rgba(0, 0, 0, .7) 72%, rgba(0, 0, 0, .26) 88%, transparent 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  main#top > .today-destination .today-destination-side img { transition: none; }
}

/* Rilancio editoriale: “Oggi ti portiamo a…” diventa un segnale da seguire,
   non un banner tra gli altri. La griglia e la scansione danno un accento
   tecnologico, mentre la fotografia resta il cuore umano della card. */
main#top > .today-destination {
  min-height: 294px;
  border: 1px solid rgba(127, 226, 197, .36);
  border-top: 1px solid rgba(249, 210, 125, .75);
  background:
    radial-gradient(circle at 90% 18%, rgba(71, 207, 185, .2), transparent 24%),
    radial-gradient(circle at 12% 108%, rgba(245, 181, 71, .14), transparent 31%),
    linear-gradient(118deg, #102934 0%, #163d42 47%, #183c42 68%, #142b3b 100%);
  box-shadow: 0 24px 54px rgba(18, 48, 52, .28), 0 0 0 1px rgba(255, 255, 255, .07) inset, 0 4px 0 rgba(249, 210, 125, .12);
}

main#top > .today-destination::before {
  top: -270px;
  right: -110px;
  width: 560px;
  height: 560px;
  border-color: rgba(113, 230, 204, .2);
  box-shadow: 0 0 0 18px rgba(113, 230, 204, .035), 0 0 0 58px rgba(113, 230, 204, .025), 0 0 0 112px rgba(113, 230, 204, .018);
}

main#top > .today-destination::after {
  right: 28%;
  bottom: -320px;
  width: 520px;
  height: 520px;
  background: rgba(68, 211, 187, .1);
  filter: blur(28px);
}

main#top > .today-destination .today-destination-grid {
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: .22;
  background-image: linear-gradient(rgba(166, 235, 216, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(166, 235, 216, .14) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .72) 48%, transparent 100%);
  pointer-events: none;
}

main#top > .today-destination .today-destination-copy {
  z-index: 3;
  align-self: center;
}

.today-destination-signal {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  min-height: 25px;
  margin: -2px 0 15px;
  padding: 0 10px 0 8px;
  border: 1px solid rgba(133, 232, 209, .34);
  border-radius: 999px;
  background: rgba(6, 28, 37, .28);
  color: #a8f0db;
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

.today-destination-signal-dot,
.today-destination-visual-pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #f8cb68;
  box-shadow: 0 0 0 4px rgba(248, 203, 104, .13), 0 0 15px rgba(248, 203, 104, .72);
}

.today-destination-signal-code {
  margin-left: 7px;
  padding-left: 10px;
  border-left: 1px solid rgba(168, 240, 219, .26);
  color: rgba(218, 250, 239, .55);
  font-size: .56rem;
  letter-spacing: .11em;
}

.today-destination-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #f6d17d;
}

.today-destination-eyebrow::before {
  width: 26px;
  height: 1px;
  background: #f6d17d;
  content: "";
  box-shadow: 9px 0 rgba(246, 209, 125, .42), 18px 0 rgba(246, 209, 125, .2);
}

.today-destination-copy h2 {
  max-width: 16ch;
  margin-bottom: 9px;
  color: #f7fff9;
  font-size: clamp(2.15rem, 4.3vw, 3.55rem);
  letter-spacing: -.06em;
  text-shadow: 0 7px 26px rgba(2, 20, 27, .25);
}

.today-destination-hook {
  max-width: 43ch;
  margin: 0 0 18px;
  color: rgba(216, 247, 235, .72);
  font-size: .88rem;
  letter-spacing: .015em;
  line-height: 1.45;
}

.today-destination-place {
  position: relative;
  margin-bottom: 18px;
  padding-left: 15px;
  border-left: 2px solid rgba(105, 225, 195, .78);
}

.today-destination-place h3 {
  color: #fffdf3;
  font-size: clamp(1.65rem, 3.2vw, 2.45rem);
  text-shadow: 0 4px 18px rgba(2, 20, 27, .22);
}

.today-destination-abstract {
  max-width: 58ch;
  color: rgba(242, 252, 245, .78);
  font-size: .87rem;
}

.today-destination-button {
  min-width: min(100%, 292px);
  min-height: 49px;
  border-color: rgba(168, 240, 219, .75);
  border-radius: 10px;
  background: linear-gradient(110deg, #bff3d9 0%, #f6d37d 100%);
  color: #12323a;
  box-shadow: 0 13px 27px rgba(2, 24, 30, .3), 0 0 0 1px rgba(255, 255, 255, .28) inset;
  letter-spacing: .045em;
}

.today-destination-button:hover:not(:disabled) {
  box-shadow: 0 17px 32px rgba(2, 24, 30, .4), 0 0 0 3px rgba(168, 240, 219, .13);
  filter: brightness(1.06) saturate(1.08);
}

main#top > .today-destination .today-destination-side {
  z-index: 1;
  min-height: 224px;
  margin: -6px -8px -6px 0;
  overflow: visible;
}

main#top > .today-destination .today-destination-side::after {
  z-index: 2;
  background: linear-gradient(90deg, rgba(16, 41, 52, .7) 0%, rgba(16, 41, 52, .16) 29%, rgba(16, 41, 52, 0) 65%), linear-gradient(180deg, rgba(16, 41, 52, .1), transparent 27%, transparent 76%, rgba(16, 41, 52, .32));
}

main#top > .today-destination .today-destination-side img,
main#top > .today-destination[data-photo-ready="1"] .today-destination-side img {
  position: relative;
  z-index: 1;
  min-height: 224px;
  filter: saturate(1.12) contrast(1.08) brightness(1.03);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .78) 17%, #000 42%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .78) 17%, #000 42%, #000 100%);
}

.today-destination-scan {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(173, 241, 221, .24);
  border-radius: 16px 3px 16px 3px;
  background: repeating-linear-gradient(0deg, transparent 0 11px, rgba(192, 255, 235, .08) 12px, transparent 13px);
  mix-blend-mode: screen;
  opacity: .54;
  pointer-events: none;
}

.today-destination-scan::after {
  position: absolute;
  top: -20%;
  right: 6%;
  width: 1px;
  height: 140%;
  background: linear-gradient(180deg, transparent, rgba(189, 255, 231, .8), transparent);
  box-shadow: 0 0 19px 2px rgba(112, 242, 207, .35);
  content: "";
  animation: todayDestinationScan 5.5s ease-in-out infinite;
}

.today-destination-visual-label {
  position: absolute;
  z-index: 4;
  top: 15px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(221, 251, 239, .4);
  border-radius: 5px;
  background: rgba(10, 32, 39, .56);
  color: #e2fff1;
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}

.today-destination-visual-pulse {
  width: 5px;
  height: 5px;
  flex-basis: 5px;
  box-shadow: 0 0 0 3px rgba(248, 203, 104, .12), 0 0 11px rgba(248, 203, 104, .75);
}

.today-destination-orbit {
  position: absolute;
  z-index: 3;
  right: 11%;
  bottom: 16%;
  width: 98px;
  aspect-ratio: 1;
  border: 1px solid rgba(200, 255, 235, .46);
  border-radius: 50%;
  box-shadow: 0 0 0 11px rgba(167, 241, 218, .07), 0 0 0 27px rgba(167, 241, 218, .045);
  opacity: .65;
  pointer-events: none;
}

.today-destination-orbit::before,
.today-destination-orbit::after {
  position: absolute;
  border-radius: 50%;
  background: #f6d17d;
  box-shadow: 0 0 12px rgba(246, 209, 125, .9);
  content: "";
}

.today-destination-orbit::before { top: 17%; right: 10%; width: 5px; height: 5px; }
.today-destination-orbit::after { bottom: 9%; left: 21%; width: 3px; height: 3px; }

@keyframes todayDestinationScan {
  0%, 18% { transform: translateX(-125px); opacity: 0; }
  34%, 68% { opacity: .9; }
  84%, 100% { transform: translateX(125px); opacity: 0; }
}

/* Contrasto RC88: il banner "Oggi ti portiamo a..." riprende il fondo scuro
   del banner iniziale, con accenti bordeaux e oro al posto del verde. Queste
   regole sono volutamente in coda al foglio per prevalere sulle rifiniture
   precedenti del componente. */
main#top > .today-destination {
  border-color: rgba(220, 151, 91, .48);
  border-top-color: #a9432d;
  background:
    radial-gradient(circle at 88% 12%, rgba(157, 48, 31, .24), transparent 28%),
    radial-gradient(circle at 8% 108%, rgba(211, 151, 58, .12), transparent 34%),
    linear-gradient(124deg, #171117 0%, #24171b 48%, #321a1e 100%);
  color: #fff8ed;
  box-shadow: 0 24px 54px rgba(8, 5, 7, .42), 0 0 0 1px rgba(255, 244, 220, .08) inset, 0 4px 0 rgba(169, 67, 45, .22);
}

main#top > .today-destination::before {
  border-color: rgba(224, 159, 91, .16);
  box-shadow: 0 0 0 18px rgba(169, 67, 45, .035), 0 0 0 58px rgba(224, 159, 91, .025), 0 0 0 112px rgba(169, 67, 45, .018);
}

main#top > .today-destination::after {
  background: rgba(157, 48, 31, .1);
}

main#top > .today-destination .today-destination-grid {
  background-image: linear-gradient(rgba(255, 216, 157, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 216, 157, .1) 1px, transparent 1px);
}

main#top > .today-destination .today-destination-signal {
  border-color: rgba(246, 183, 111, .4);
  background: rgba(10, 7, 10, .38);
  color: #ffd99b;
}

main#top > .today-destination .today-destination-signal-code {
  border-left-color: rgba(255, 217, 155, .24);
  color: rgba(255, 237, 210, .58);
}

main#top > .today-destination .today-destination-eyebrow,
main#top > .today-destination .today-destination-location {
  color: #f5c878;
}

main#top > .today-destination .today-destination-eyebrow::before {
  background: #f5c878;
  box-shadow: 9px 0 rgba(245, 200, 120, .42), 18px 0 rgba(245, 200, 120, .2);
}

main#top > .today-destination .today-destination-copy h2,
main#top > .today-destination .today-destination-place h3 {
  color: #fff8ed;
  text-shadow: 0 7px 26px rgba(0, 0, 0, .38);
}

main#top > .today-destination .today-destination-hook,
main#top > .today-destination .today-destination-abstract {
  color: rgba(255, 244, 226, .78);
}

main#top > .today-destination .today-destination-place {
  border-left-color: rgba(190, 63, 39, .84);
}

main#top > .today-destination .today-destination-button {
  border-color: #d18b42;
  background: linear-gradient(135deg, #a83b27 0%, #c04d2c 58%, #df9345 100%);
  color: #fff8ed;
  box-shadow: 0 14px 28px rgba(7, 4, 6, .46), 0 0 0 1px rgba(255, 231, 182, .28) inset;
}

main#top > .today-destination .today-destination-button:hover:not(:disabled) {
  box-shadow: 0 18px 34px rgba(7, 4, 6, .58), 0 0 0 3px rgba(242, 177, 100, .18);
  filter: brightness(1.08) saturate(1.08);
}

main#top > .today-destination .today-destination-side::after {
  background: linear-gradient(90deg, #24171b 0%, rgba(36, 23, 27, .92) 15%, rgba(50, 26, 30, .56) 52%, rgba(50, 26, 30, .25) 78%, rgba(50, 26, 30, .62) 100%), linear-gradient(180deg, rgba(23, 17, 23, .42), rgba(23, 17, 23, .76));
}

main#top > .today-destination .today-destination-scan {
  border-color: rgba(255, 216, 157, .2);
  background: repeating-linear-gradient(0deg, transparent 0 11px, rgba(255, 216, 157, .06) 12px, transparent 13px);
}

main#top > .today-destination .today-destination-visual-label {
  border-color: rgba(255, 226, 181, .38);
  background: rgba(17, 10, 13, .64);
  color: #ffe6ba;
}

main#top > .today-destination .today-destination-orbit {
  border-color: rgba(255, 219, 166, .38);
  box-shadow: 0 0 0 11px rgba(255, 205, 132, .06), 0 0 0 27px rgba(255, 205, 132, .035);
}

/* Ripristino del fondo chiaro richiesto: il banner resta editoriale, ma
   torna luminoso come nella versione precedente. */
main#top > .today-destination {
  border-color: rgba(184, 131, 50, .48);
  border-top-color: #b88332;
  background:
    radial-gradient(circle at 88% 12%, rgba(244, 201, 112, .26), transparent 28%),
    radial-gradient(circle at 8% 108%, rgba(107, 150, 119, .16), transparent 34%),
    linear-gradient(124deg, #f5efe2 0%, #fff8ea 48%, #efe6d5 100%);
  color: #2b211a;
  box-shadow: 0 20px 46px rgba(91, 69, 40, .18), 0 0 0 1px rgba(255, 255, 255, .9) inset, 0 4px 0 rgba(184, 131, 50, .16);
}

main#top > .today-destination::before {
  border-color: rgba(184, 131, 50, .18);
  box-shadow: 0 0 0 18px rgba(184, 131, 50, .045), 0 0 0 58px rgba(184, 131, 50, .03), 0 0 0 112px rgba(184, 131, 50, .018);
}

main#top > .today-destination::after {
  background: rgba(184, 131, 50, .08);
}

main#top > .today-destination .today-destination-grid {
  background-image: linear-gradient(rgba(112, 83, 38, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(112, 83, 38, .08) 1px, transparent 1px);
}

main#top > .today-destination .today-destination-signal {
  border-color: rgba(145, 101, 36, .32);
  background: rgba(255, 255, 255, .58);
  color: #76501d;
}

main#top > .today-destination .today-destination-signal-code {
  border-left-color: rgba(118, 80, 29, .22);
  color: rgba(83, 58, 28, .62);
}

main#top > .today-destination .today-destination-eyebrow,
main#top > .today-destination .today-destination-location {
  color: #8a5b16;
}

main#top > .today-destination .today-destination-eyebrow::before {
  background: #b88332;
  box-shadow: 9px 0 rgba(184, 131, 50, .42), 18px 0 rgba(184, 131, 50, .2);
}

main#top > .today-destination .today-destination-copy h2,
main#top > .today-destination .today-destination-place h3 {
  color: #241b15;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
}

main#top > .today-destination .today-destination-hook,
main#top > .today-destination .today-destination-abstract {
  color: rgba(54, 42, 30, .8);
}

main#top > .today-destination .today-destination-place {
  border-left-color: #a9432d;
}

main#top > .today-destination .today-destination-button {
  border-color: #a9432d;
  background: linear-gradient(135deg, #922f1d 0%, #b94727 58%, #d58a39 100%);
  color: #fffaf0;
  box-shadow: 0 12px 24px rgba(91, 48, 25, .24), 0 0 0 1px rgba(255, 255, 255, .3) inset;
}

main#top > .today-destination .today-destination-side::after {
  background: linear-gradient(90deg, rgba(255, 248, 234, .92) 0%, rgba(255, 248, 234, .42) 15%, rgba(255, 248, 234, .08) 52%, rgba(255, 248, 234, 0) 100%), linear-gradient(180deg, rgba(255, 248, 234, .12), rgba(255, 248, 234, .24));
}

main#top > .today-destination .today-destination-scan {
  border-color: rgba(121, 86, 39, .18);
  background: repeating-linear-gradient(0deg, transparent 0 11px, rgba(121, 86, 39, .05) 12px, transparent 13px);
  mix-blend-mode: multiply;
}

main#top > .today-destination .today-destination-visual-label {
  border-color: rgba(121, 86, 39, .28);
  background: rgba(255, 250, 240, .74);
  color: #76501d;
}

main#top > .today-destination .today-destination-orbit {
  border-color: rgba(121, 86, 39, .3);
  box-shadow: 0 0 0 11px rgba(184, 131, 50, .06), 0 0 0 27px rgba(184, 131, 50, .035);
}

