/* Grimaldi Growth · pagina Realizzazioni.
   Stili dedicati ai casi e alle simulazioni della pagina. */

/* Testata e barra delle aree */
.gx-r-testata {
  padding-block: clamp(118px, 15vw, 190px) clamp(78px, 9vw, 118px);
}

.gx-r-testata h1 {
  max-width: 13ch;
}

.gx-r-testata .sottotitolo {
  max-width: 58ch;
}

.gx-filtri {
  position: sticky;
  top: var(--altezza-header);
  z-index: 80;
  overflow: hidden;
  background: rgba(30, 18, 64, .91);
  border-block: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 12px 32px -24px rgba(10, 5, 28, .9);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
}

.gx-filtri .contenitore {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-block: 10px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.gx-filtri .contenitore::-webkit-scrollbar {
  display: none;
}

.gx-filtri a {
  flex: 0 0 auto;
  padding: 9px 15px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: var(--testo-scuro);
  font: 600 .82rem/1 var(--font);
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

.gx-filtri a:hover,
.gx-filtri a[aria-current="true"] {
  color: #fff;
  background: var(--viola);
  border-color: rgba(255, 255, 255, .3);
}

[data-gx-area],
#caso-xovem {
  scroll-margin-top: calc(var(--altezza-header) + var(--gx-filtri-h, 58px) + 16px);
}

/* Struttura delle aree */
.gx-area {
  overflow: clip;
}

.gx-area-testa {
  display: grid;
  grid-template-columns: clamp(74px, 8vw, 116px) minmax(0, 1.12fr) minmax(260px, .88fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: end;
  margin-bottom: clamp(50px, 7vw, 88px);
}

.gx-area-n {
  align-self: start;
  color: rgba(30, 18, 64, .18);
  font: 200 clamp(3.8rem, 7vw, 7rem)/.8 var(--font);
  letter-spacing: -.08em;
}

.scuro .gx-area-n {
  color: rgba(246, 243, 250, .16);
}

.gx-area-testa .occhiello {
  margin-bottom: 13px;
}

.gx-area-testa h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  line-height: 1.02;
  letter-spacing: -.02em;
}

.gx-area-testa > p {
  max-width: 48ch;
  margin: 0 0 4px;
  font-size: clamp(1rem, 1.25vw, 1.13rem);
  line-height: 1.65;
}

.gx-casi {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 38px);
}

.gx-caso {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--bordo);
  border-radius: var(--raggio);
  box-shadow: 0 30px 70px -54px rgba(30, 18, 64, .45);
}

.scuro .gx-caso {
  background: rgba(42, 27, 87, .72);
  border-color: var(--bordo-scuro);
  box-shadow: 0 32px 74px -48px rgba(0, 0, 0, .65);
}

.gx-caso-vis {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: clamp(310px, 31vw, 430px);
  place-items: center;
  overflow: hidden;
  padding: clamp(22px, 4vw, 48px);
  background:
    radial-gradient(circle at 84% 16%, rgba(91, 53, 201, .15), transparent 28%),
    linear-gradient(145deg, #f2eef9, #e5def2);
}

.scuro .gx-caso-vis {
  background:
    radial-gradient(circle at 84% 16%, rgba(255, 122, 89, .09), transparent 24%),
    linear-gradient(145deg, #24164d, #160d33);
}

.gx-vis-menu {
  background:
    radial-gradient(circle at 50% 36%, rgba(91, 53, 201, .25), transparent 42%),
    linear-gradient(145deg, #eae4f5, #d9cfea);
}

.gx-caso-testo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(26px, 3.5vw, 42px);
}

.gx-tag {
  margin-bottom: 17px;
  color: var(--viola);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.scuro .gx-tag {
  color: var(--corallo);
}

.gx-caso-testo h3 {
  margin: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.gx-caso-testo p {
  margin: 18px 0 24px;
  font-size: 1rem;
  line-height: 1.65;
}

.gx-caso-testo .link-freccia {
  margin-top: auto;
}

.gx-presto {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin-top: 17px;
  padding: 7px 11px;
  border: 1px solid var(--bordo);
  border-radius: 999px;
  color: var(--testo-tenue);
  background: rgba(246, 243, 250, .82);
  font-size: .72rem;
  font-weight: 650;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.gx-caso-testo h3 .gx-presto {
  margin: 7px 0 0 8px;
  vertical-align: middle;
  letter-spacing: 0;
}

.scuro .gx-presto {
  color: var(--testo-scuro);
  background: rgba(246, 243, 250, .08);
  border-color: var(--bordo-scuro);
}

@media (min-width: 901px) {
  .gx-casi-uno {
    grid-template-columns: 1fr;
  }

  .gx-casi-uno .gx-caso {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, .72fr);
    grid-template-rows: 1fr;
  }

  .gx-casi-uno .gx-caso-vis {
    min-height: clamp(470px, 48vw, 650px);
  }
}

/* Telefono con menu sfogliabile */
.gx-sfoglio {
  --gx-sfondo: #0e0d0c;
  --gx-inchiostro: #f3ece0;
  --gx-accento: #c9b07a;
  --gx-linea: #3a352f;
  position: relative;
  width: 16em;
  max-width: 100%;
  aspect-ratio: 9 / 19;
  padding: .68em;
  border-radius: 2.8em;
  color: var(--gx-inchiostro);
  background: linear-gradient(145deg, #211744, #0d081d);
  box-shadow:
    0 2.8em 5.5em -2.2em rgba(20, 10, 47, .72),
    inset 0 0 0 1px rgba(255, 255, 255, .14);
  font: 500 clamp(10px, 1vw, 13px)/1.25 var(--font);
}

.gx-sfoglio::before {
  content: '';
  position: absolute;
  top: 1.15em;
  left: 50%;
  z-index: 5;
  width: 5.4em;
  height: 1.25em;
  border-radius: 999px;
  background: #090612;
  transform: translateX(-50%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.gx-sfoglio-schermo {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  gap: .58em;
  overflow: hidden;
  padding: 3em .9em 1em;
  border-radius: 2.2em;
  background: var(--gx-sfondo);
}

.gx-sfoglio-testa {
  display: flex;
  min-height: 2.4em;
  align-items: center;
  gap: .5em;
  color: var(--gx-inchiostro);
}

.gx-sfoglio-testa img {
  width: 2.35em;
  height: 2.35em;
  margin-right: auto;
  border-radius: 50%;
  object-fit: cover;
}

.gx-sfoglio-testa > span {
  padding: .34em .68em;
  border: 1px solid var(--gx-linea);
  border-radius: 999px;
  color: color-mix(in srgb, var(--gx-inchiostro) 78%, transparent);
  font-size: .69em;
  font-weight: 700;
  white-space: nowrap;
}

.gx-sfoglio-testa em {
  margin-right: auto;
  color: var(--gx-accento);
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: 1.65em;
  font-weight: 600;
  line-height: 1;
}

.gx-sfoglio-libro {
  position: relative;
  width: 100%;
  aspect-ratio: 595 / 842;
  min-height: 0;
  margin-block: .12em;
  perspective: 70em;
  background: color-mix(in srgb, var(--gx-linea) 58%, transparent);
  box-shadow: 0 .75em 1.5em rgba(0, 0, 0, .28);
}

.gx-sfoglio-pag {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: 0 50%;
  backface-visibility: hidden;
  box-shadow: .2em .2em .8em rgba(0, 0, 0, .36);
}

.gx-sfoglio-nav {
  display: flex;
  min-height: 1.7em;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--gx-inchiostro) 82%, transparent);
  font-size: .78em;
  font-variant-numeric: tabular-nums;
}

.gx-sfoglio-btn {
  padding: .62em .7em;
  border: 1px solid var(--gx-accento);
  border-radius: 999px;
  color: var(--gx-sfondo);
  background: var(--gx-accento);
  font-size: .74em;
  font-weight: 750;
  text-align: center;
  white-space: nowrap;
}

.gx-sfoglio-rb {
  --gx-sfondo: #fff;
  --gx-inchiostro: #35222b;
  --gx-accento: #b81753;
  --gx-linea: #ead1dc;
  background: linear-gradient(145deg, #2c2130, #120d14);
}

.gx-sfoglio-rb .gx-sfoglio-btn {
  color: #fff;
}

/* Mini gestionale Xovem */
.gx-xv-mini {
  width: 100%;
  max-width: 52em;
  container-type: inline-size;
}

.xm-corpo {
  min-height: 26em;
  padding: 1.25em;
  background: #f8f6fb;
  font-size: clamp(7.5px, 2.25cqw, 12px);
}

.xm-testa {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  margin-bottom: 1em;
}

.xm-testa b {
  font-size: 1.45em;
}

.xm-testa small {
  color: #6b6189;
}

.xm-kpi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7em;
  margin-bottom: 1em;
}

.xm-kpi > span {
  min-width: 0;
  padding: .75em .85em;
  border: 1px solid #ebe6f3;
  border-radius: .75em;
  background: #fff;
}

.xm-kpi small {
  display: block;
  overflow: hidden;
  color: #6b6189;
  font-size: .76em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xm-kpi strong {
  display: block;
  margin-top: .12em;
  color: var(--viola);
  font-size: 1.55em;
  font-variant-numeric: tabular-nums;
}

.xm-righe {
  overflow: hidden;
  border: 1px solid #e9e3f1;
  border-radius: .85em;
  background: #fff;
}

.xm-riga {
  display: grid;
  grid-template-columns: 4.2em minmax(6em, 1fr) 2.5em minmax(6.2em, .9fr) minmax(6.4em, .9fr);
  min-height: 3.45em;
  align-items: center;
  gap: .55em;
  overflow: hidden;
  padding-inline: .85em;
  border-top: 1px solid #f0ecf5;
  white-space: nowrap;
}

.xm-riga:first-child {
  border-top: 0;
}

.xm-riga em,
.xm-riga u {
  justify-self: start;
  overflow: hidden;
  padding: .22em .58em;
  border-radius: 999px;
  font-size: .75em;
  font-style: normal;
  font-weight: 650;
  text-decoration: none;
  text-overflow: ellipsis;
}

.xm-riga em {
  color: #625a78;
  background: #eeeaf5;
}

.xm-riga em.nfc {
  color: #a74229;
  background: #ffded4;
}

.xm-riga u {
  color: #257044;
  background: #e3f5ea;
}

.xm-riga u.att {
  color: #8b6500;
  background: #fff1c9;
}

.xm-nuova {
  background: #fff;
}

/* Gestionale Floky */
.gx-floky {
  position: relative;
  width: 100%;
  max-width: 54em;
  color: #374151;
  container-type: inline-size;
}

.fk-app {
  display: grid;
  grid-template-columns: 9.3em minmax(0, 1fr);
  min-height: 27em;
  background: #f5f7fa;
  font-size: clamp(7.4px, 2.1cqw, 11.5px);
}

.fk-lato {
  display: flex;
  flex-direction: column;
  gap: .3em;
  padding: 1.2em .9em;
  color: #d7dce5;
  background: #303844;
}

.fk-lato img {
  width: 3em;
  height: 3em;
  margin: 0 0 1em .45em;
  border-radius: 50%;
  object-fit: cover;
}

.fk-lato span {
  padding: .55em .7em;
  border-radius: .55em;
}

.fk-lato span.on {
  color: #fff;
  background: #e84b1c;
}

.fk-corpo {
  min-width: 0;
  padding: 1.15em;
}

.fk-kpi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7em;
  margin-bottom: .9em;
}

.fk-kpi > span {
  min-width: 0;
  padding: .75em .85em;
  border: 1px solid #e4e8ee;
  border-radius: .7em;
  background: #fff;
}

.fk-kpi small,
.fk-evento small,
.fk-iscr small {
  display: block;
  color: #6b7280;
  font-size: .76em;
}

.fk-kpi strong {
  display: block;
  margin-top: .12em;
  color: #e84b1c;
  font-size: 1.5em;
  font-variant-numeric: tabular-nums;
}

.fk-evento {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11em, .8fr);
  gap: 1.3em;
  align-items: center;
  margin-bottom: .9em;
  padding: .9em 1em;
  border: 1px solid #e4e8ee;
  border-radius: .75em;
  background: #fff;
}

.fk-evento b {
  display: block;
  margin-bottom: .22em;
}

.fk-posti > small {
  margin-bottom: .4em;
  text-align: right;
}

.fk-posti > i {
  display: block;
  height: .62em;
  overflow: hidden;
  border-radius: 999px;
  background: #e5e9ef;
}

.fk-posti > i > b {
  display: block;
  width: 66.666%;
  height: 100%;
  border-radius: inherit;
  background: #e84b1c;
}

.fk-lista {
  overflow: hidden;
  border: 1px solid #e4e8ee;
  border-radius: .75em;
  background: #fff;
}

.fk-lista > p {
  margin: 0;
  padding: .7em 1em;
  color: #6b7280;
  background: #f8fafc;
  font-size: .78em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.fk-iscr {
  display: grid;
  grid-template-columns: 2.7em minmax(0, 1fr) auto;
  min-height: 4.5em;
  align-items: center;
  gap: .8em;
  overflow: hidden;
  padding-inline: .9em;
  border-top: 1px solid #edf0f4;
}

.fk-av {
  display: grid;
  width: 2.45em;
  height: 2.45em;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #e84b1c;
  font-weight: 750;
}

.fk-iscr > span:nth-child(2) {
  min-width: 0;
}

.fk-iscr u {
  position: relative;
  min-width: 6.7em;
  min-height: 2.1em;
  padding: .42em .72em;
  border-radius: 999px;
  color: #fff;
  background: #e84b1c;
  font-size: .76em;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.fk-iscr > u.ok {
  color: #16723a;
  background: #dcf4e5;
}

.fk-iscr u i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  font-style: normal;
}

.fk-iscr u i.ok {
  visibility: hidden;
  opacity: 0;
}

.fk-toast {
  position: absolute;
  right: 1.2em;
  bottom: 1.2em;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: .75em;
  padding: .75em 1em;
  border-radius: .9em;
  color: #fff;
  background: #374151;
  box-shadow: 0 1.2em 2.6em -.8em rgba(55, 65, 81, .55);
  font-size: .88em;
}

.fk-toast small {
  color: #d8dde5;
}

.gx-floky.gx-js .fk-toast {
  visibility: hidden;
  opacity: 0;
}

.fk-clic {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 3.2em;
  height: 3.2em;
  margin: -1.6em 0 0 -1.6em;
  border: 2px solid #fff;
  border-radius: 50%;
  pointer-events: none;
}

@container (max-width: 430px) {
  .fk-app {
    grid-template-columns: 1fr;
  }

  .fk-lato {
    display: none;
  }
}

/* Siti in scorrimento */
.gx-sito-cornice {
  width: 100%;
  max-width: 48em;
  overflow: hidden;
  border: 1px solid var(--bordo);
  border-radius: 1.4em;
  background: #fff;
  box-shadow: 0 2.4em 5em -1.6em rgba(30, 18, 64, .35);
  font-size: clamp(8.5px, .95vw, 12.5px);
}

.gx-sito-vista {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e9e4f2;
}

.gx-sito-vista img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  will-change: transform;
}

/* Piano editoriale */
.gx-piano {
  width: 100%;
  max-width: 67em;
  color: var(--notte);
  container-type: inline-size;
}

.gx-piano > .gx-finestra {
  font-size: clamp(7.6px, 1.55cqw, 11.5px);
}

.gp-p-testa {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  padding: 1.2em 1.4em;
  border-bottom: 1px solid #e7e1ef;
  background: #fff;
}

.gp-p-testa b {
  font-size: 1.35em;
}

.gp-p-testa small {
  color: var(--testo-tenue);
}

.gp-p-griglia {
  display: grid;
  grid-template-columns: 3.3em repeat(3, minmax(10.2em, 1fr));
  gap: .7em;
  overflow-x: auto;
  padding: 1.2em;
  background: #f8f6fb;
  scrollbar-color: #cfc6e1 transparent;
  scrollbar-width: thin;
}

.gp-p-g {
  padding: .25em .45em;
  color: var(--testo-tenue);
  font-size: .75em;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.gp-p-s {
  display: grid;
  min-height: 5.9em;
  place-items: start center;
  padding-top: .8em;
  color: var(--testo-tenue);
  font-weight: 700;
}

.gp-p-c {
  min-width: 0;
  min-height: 5.9em;
  padding: .8em;
  border: 1px solid rgba(91, 53, 201, .18);
  border-radius: .7em;
  color: #fff;
  background: var(--viola);
  font-size: .82em;
  font-weight: 650;
  line-height: 1.25;
  box-shadow: 0 .55em 1em -.75em rgba(30, 18, 64, .5);
}

.gp-p-c small {
  display: block;
  margin-bottom: .5em;
  color: rgba(255, 255, 255, .73);
  font-size: .78em;
  font-weight: 600;
}

.gp-p-c.c {
  color: #4c281f;
  background: #ffd9ce;
  border-color: #f4b8a7;
}

.gp-p-c.c small {
  color: #8b4938;
}

.gp-p-conti {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-top: 1px solid #e7e1ef;
  background: #e7e1ef;
}

.gp-p-conti span {
  padding: 1em 1.25em;
  background: #fff;
}

.gp-p-conti strong {
  display: block;
  color: var(--viola);
  font-size: 1.8em;
  font-variant-numeric: tabular-nums;
}

.gp-p-conti small {
  color: var(--testo-tenue);
}

/* Simulazione campagne */
.gx-ads {
  position: relative;
  width: 100%;
  max-width: 64em;
  min-height: 39em;
  color: #302943;
  container-type: inline-size;
  font-size: clamp(7.8px, 1.55cqw, 11.5px);
}

.ga-ricerca {
  position: absolute;
  top: 1em;
  left: 0;
  width: 70%;
  min-height: 30em;
  padding: 2em;
  background: #fbfcfe;
}

.ga-barra {
  display: flex;
  min-height: 3.35em;
  align-items: center;
  gap: .75em;
  margin-bottom: 2em;
  padding: .7em 1em;
  border: 1px solid #dcdde4;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 .7em 1.5em -1.2em rgba(30, 18, 64, .5);
}

.ga-barra .lente {
  position: relative;
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  border: 2px solid #756d87;
  border-radius: 50%;
}

.ga-barra .lente::after {
  content: '';
  position: absolute;
  right: -.55em;
  bottom: -.33em;
  width: .65em;
  height: 2px;
  background: #756d87;
  transform: rotate(45deg);
  transform-origin: 0 50%;
}

.ga-barra [data-ga-query] {
  min-width: 0;
  overflow: hidden;
  font-size: 1.04em;
  text-overflow: clip;
  white-space: nowrap;
}

.ga-cursore {
  display: inline-block;
  width: 1px;
  height: 1.25em;
  background: var(--viola);
  opacity: 1;
}

.gx-ads.gx-attivo .ga-cursore {
  animation: ga-lampeggio .82s steps(1, end) infinite;
}

@keyframes ga-lampeggio {
  50% { opacity: 0; }
}

.ga-risultato {
  display: grid;
  gap: .55em;
  margin-top: 1.8em;
}

.ga-risultato small {
  color: #615971;
}

.ga-risultato > b {
  color: #44319e;
  font-size: 1.45em;
  font-weight: 650;
  line-height: 1.22;
}

.ga-risultato p {
  max-width: 48ch;
  margin: 0;
  color: #565065;
  line-height: 1.45;
}

.ga-risultato > i {
  display: block;
  width: 78%;
  height: .68em;
  border-radius: 999px;
  background: #e4e6eb;
}

.ga-risultato > i.corta {
  width: 52%;
}

.ga-sponsor {
  position: relative;
  overflow: hidden;
  padding: 1.2em;
  border: 1px solid #ddd9e8;
  border-radius: .9em;
  background: #fff;
}

.ga-sponsor::after {
  content: '';
  position: absolute;
  inset: -60% auto -60% -42%;
  width: 24%;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .9), transparent);
  transform: skewX(-16deg);
  pointer-events: none;
}

.gx-ads.gx-attivo .ga-sponsor.gx-riflesso::after {
  animation: ga-riflesso 1s ease-out;
}

@keyframes ga-riflesso {
  0% { left: -42%; opacity: 0; }
  20% { opacity: .9; }
  100% { left: 118%; opacity: 0; }
}

.ga-titolo {
  min-height: 2.45em;
}

.ga-meta {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 42%;
  background: #fff;
  box-shadow: 0 2.7em 5.5em -1.5em rgba(30, 18, 64, .48);
}

.ga-meta-testa {
  display: flex;
  align-items: center;
  gap: .75em;
  padding: 1em;
}

.ga-meta-testa > span:last-child {
  min-width: 0;
}

.ga-meta-testa small {
  display: block;
  color: #736c7e;
}

.ga-av {
  display: grid;
  width: 2.75em;
  height: 2.75em;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #6d4936;
  font-weight: 750;
}

.ga-foto {
  display: block;
  width: 100%;
  height: auto;
}

.ga-meta-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8em;
  padding: 1em;
  background: #f5f2ed;
}

.ga-meta-cta span {
  font-weight: 650;
}

.ga-meta-cta u {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  padding: .55em .85em;
  border-radius: .45em;
  color: #fff;
  background: #5b35c9;
  font-size: .82em;
  font-weight: 700;
  text-decoration: none;
}

.ga-meta-cta u::after {
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1em;
  height: 1em;
  border: 2px solid rgba(255, 255, 255, .9);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.2);
}

.gx-ads.gx-attivo .ga-meta-cta u.gx-premuto::after {
  animation: ga-clic .62s ease-out;
}

@keyframes ga-clic {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(.2); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(4); }
}

/* Chiusura */
.gx-r-chiusura {
  text-align: center;
}

.gx-r-chiusura .contenitore {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gx-r-chiusura h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.gx-r-chiusura .sottotitolo {
  max-width: 48ch;
}

.gx-r-chiusura .bottone {
  width: auto;
  margin-top: 30px;
}

/* Tablet e telefono */
@media (max-width: 900px) {
  .gx-area-testa {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
  }

  .gx-area-testa > p {
    grid-column: 2;
  }

  .gx-casi {
    grid-template-columns: 1fr;
  }

  .gx-caso-vis {
    min-height: clamp(300px, 82vw, 450px);
  }

  .gx-sfoglio {
    font-size: clamp(9.8px, 2.9vw, 13px);
  }

  .gx-casi-uno .gx-caso-vis {
    min-height: clamp(340px, 82vw, 520px);
  }
}

@media (max-width: 600px) {
  .gx-r-testata {
    padding-top: 104px;
  }

  .gx-filtri .contenitore {
    width: 100%;
    padding-inline: var(--margine);
  }

  .gx-area-testa {
    grid-template-columns: 1fr;
  }

  .gx-area-n {
    font-size: 3.5rem;
  }

  .gx-area-testa > p {
    grid-column: 1;
  }

  .gx-caso-vis {
    padding: 20px;
  }

  .gx-caso-testo {
    padding: 26px 22px 30px;
  }

  .gx-caso-testo h3 .gx-presto {
    display: flex;
    width: fit-content;
    margin-left: 0;
  }

  .xm-riga {
    grid-template-columns: 3.8em minmax(5em, 1fr) 2em minmax(5.5em, .9fr) minmax(5.7em, .9fr);
    gap: .35em;
    padding-inline: .6em;
  }

  .fk-evento {
    grid-template-columns: 1fr;
    gap: .7em;
  }

  .fk-posti > small {
    text-align: left;
  }

  .fk-toast {
    right: .7em;
    bottom: .7em;
  }

  .gp-p-testa {
    align-items: flex-start;
    flex-direction: column;
    gap: .25em;
  }

  .gp-p-griglia {
    grid-template-columns: 2.8em repeat(3, minmax(9.6em, 1fr));
  }

  .gp-p-conti small {
    line-height: 1.15;
  }

  .gx-ads {
    min-height: 44em;
  }

  .ga-ricerca {
    width: 86%;
    padding: 1.4em;
  }

  .ga-meta {
    width: 49%;
  }
}

/* Movimento ridotto */
@media (prefers-reduced-motion: reduce) {
  .gx-filtri a,
  .gx-sito-vista img,
  .gx-caso,
  .gx-area .link-freccia span,
  .gx-r-chiusura .bottone {
    transition: none;
  }

  .gx-ads.gx-attivo .ga-cursore,
  .gx-ads.gx-attivo .ga-sponsor.gx-riflesso::after,
  .gx-ads.gx-attivo .ga-meta-cta u.gx-premuto::after {
    animation: none;
  }

  .gx-sito-vista img {
    transform: none !important;
  }

  .gx-area .link-freccia:hover span,
  .gx-r-chiusura .bottone:hover {
    transform: none;
  }
}
