/* Finestra con il form newsletter sul Journal: dialog modale, il pulsante .gt-newsletter-apri la apre. */
.gt-newsletter-apri {
  cursor: pointer;
  border: 0;
}

html:has(.gt-newsletter-dialog[open]) {
  overflow: hidden;
}

.gt-newsletter-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(32.5rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 3.5rem 1.5rem 1.5rem;
  overflow: auto;
  border: 0;
  /* Stesso raggio delle copertine .gt-journal-cover. */
  border-radius: max(calc((0.67vw + 0.67svh) / 2), 5px);
  background-color: #ccd6e3;
  color: #141413;
}

.gt-newsletter-dialog::backdrop {
  background-color: rgb(20 20 19 / 0.6);
}

.gt-newsletter-chiudi {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: transparent;
  color: #141413;
  cursor: pointer;
}

.gt-newsletter-chiudi svg {
  width: 1.25rem;
  height: 1.25rem;
}

.gt-newsletter-chiudi:focus-visible {
  outline: 2px solid #141413;
  outline-offset: -2px;
}

/* Apertura dal centro: scala da quasi zero a 1 con decelerazione esponenziale. */
.gt-newsletter-dialog[open] {
  animation: gt-newsletter-apri 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.gt-newsletter-dialog[open]::backdrop {
  animation: gt-newsletter-sfondo-apri 0.5s ease-out both;
}

.gt-newsletter-dialog.is-closing {
  animation: gt-newsletter-chiudi 0.3s cubic-bezier(0.5, 0, 0.75, 0) both;
}

.gt-newsletter-dialog.is-closing::backdrop {
  animation: gt-newsletter-sfondo-chiudi 0.3s ease-in both;
}

@keyframes gt-newsletter-apri {
  from { transform: scale(0.02); opacity: 0; }
  30% { opacity: 1; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes gt-newsletter-chiudi {
  from { transform: scale(1); opacity: 1; }
  to { transform: scale(0.02); opacity: 0; }
}

@keyframes gt-newsletter-sfondo-apri {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes gt-newsletter-sfondo-chiudi {
  from { opacity: 1; }
  to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .gt-newsletter-dialog[open],
  .gt-newsletter-dialog[open]::backdrop,
  .gt-newsletter-dialog.is-closing,
  .gt-newsletter-dialog.is-closing::backdrop {
    animation: none;
  }
}

/* Il form incorporato finisce con il blocco «Powered by» (76px): l'iframe scorre sotto il bordo tagliato del contenitore. */
.gt-newsletter-form {
  overflow: hidden;
}

.gt-newsletter-form iframe {
  display: block;
  margin-bottom: -76px;
}

/* Pagina di ringraziamento: il suo fondo grigio si fonde con lo sfondo del dialog. */
.gt-newsletter-dialog.is-grazie iframe {
  mix-blend-mode: darken;
}
