/* ═══════════════════════════════════════════════════════════════
   BENVENUTO.CSS · popup del 10% sul primo acquisto (webell-gg 3.4.2)
   Lo carica includes/negozio/benvenuto.php su tutto il sito, solo con
   Elementor Pro. Classi da mettere in Elementor: vedi il CHANGELOG.
═══════════════════════════════════════════════════════════════ */

.gg-tag, .gg-minitag, .gg-form, .gg-esito {
  --gg-pergamena: #FAF6EF;
  --gg-tabacco:   #1E1510;
  --gg-oro:       #B8935A;
  --gg-argilla:   #C4724A;
  --gg-lino:      #EDE4D6;
}

/* ─── Cartellino del popup desktop ─────────────────────────────
   Markup nel widget HTML: .gg-tag > .gg-tag__filo + .gg-tag__carta
   (> .gg-tag__val + .gg-tag__sub). Posizione assoluta da Elementor. */

.gg-tag {
  width: 96px;
  transform-origin: 50% 0;
  transform: rotate(-3deg);
  pointer-events: none;
}
/* oscilla una volta a ogni apertura del popup (classe messa da benvenuto.js) */
.gg-tag.is-swing {
  animation: gg-tag-swing 1.6s cubic-bezier(.3, 1.4, .5, 1) .3s both;
}
.gg-tag__filo {
  display: block;
  width: 1px;
  height: 40px;
  margin: 0 auto;
  background: var(--gg-oro);
}
.gg-tag__carta {
  position: relative;
  background: var(--gg-pergamena);
  border: 1px solid var(--gg-oro);
  padding: 22px 8px 12px;
  text-align: center;
  clip-path: polygon(18% 0, 82% 0, 100% 14%, 100% 100%, 0 100%, 0 14%);
}
.gg-tag__carta::before { /* foro del filo */
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  border: 1px solid var(--gg-oro);
  background: var(--gg-lino);
}
.gg-tag__val {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 34px;
  line-height: 1;
  color: var(--gg-tabacco);
}
.gg-tag__sub {
  display: block;
  margin-top: 4px;
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-size: 11px;
  line-height: 1.3;
  color: rgba(30, 21, 16, .72);
}
.gg-tag.is-sent .gg-tag__val {
  font-size: 22px;
  padding: 6px 0 2px;
}
@keyframes gg-tag-swing {
  0%   { transform: rotate(-14deg); }
  55%  { transform: rotate(5deg); }
  80%  { transform: rotate(-2deg); }
  100% { transform: rotate(-3deg); }
}

/* ─── Etichetta della barra mobile ─────────────────────────────
   Markup nel widget HTML: <span class="gg-minitag">10%</span> */

.gg-minitag {
  position: relative;
  display: inline-block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: var(--gg-tabacco);
  background: var(--gg-pergamena);
  border: 1px solid var(--gg-oro);
  padding: 6px 9px 3px;
  clip-path: polygon(14% 0, 86% 0, 100% 18%, 100% 100%, 0 100%, 0 18%);
}
.gg-minitag::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 50%;
  width: 4px;
  height: 4px;
  margin-left: -2px;
  border-radius: 50%;
  border: 1px solid var(--gg-oro);
}

/* ─── Pannelli di esito ────────────────────────────────────────
   .gg-form-wrap: contenitore con il modulo. .gg-esito.gg-esito--<esito>:
   pannelli nascosti. benvenuto.js mette .gg-done e .gg-done--<esito> sul
   popup quando il server risponde. */

/* !important: Elementor dà ai contenitori display: var(--display) con la
   stessa forza di queste regole, e il suo foglio può arrivare dopo il nostro. */
.gg-esito { display: none !important; }
.gg-done .gg-form-wrap { display: none !important; }
.gg-done--inviato .gg-esito--inviato,
.gg-done--ordine  .gg-esito--ordine,
.gg-done--esiste  .gg-esito--esiste { display: var(--display, flex) !important; }
.gg-done .elementor-message-success { display: none !important; }

/* ─── Barra di anteprima nell'editor di Elementor ──────────────
   Nell'editor gli esiti sono nascosti come sul sito: la barra in basso
   a sinistra li mostra uno alla volta per modificarli. Solo nell'editor. */

.gg-anteprima {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 2147483000;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  max-width: calc(100vw - 24px);
  padding: 6px;
  background: #1E1510;
  border-radius: 4px;
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, .5);
  font: 400 12px/1 "Jost", system-ui, sans-serif;
}
.gg-anteprima span {
  align-self: center;
  padding: 0 6px 0 4px;
  color: #B8935A;
}
.gg-anteprima button {
  margin: 0;
  padding: 7px 10px;
  border: 1px solid rgba(250, 246, 239, .25);
  border-radius: 2px;
  background: transparent;
  color: #FAF6EF;
  font: inherit;
  cursor: pointer;
}
.gg-anteprima button[aria-pressed="true"] {
  background: #FAF6EF;
  color: #1E1510;
  border-color: #FAF6EF;
}

/* ─── Errori del modulo ────────────────────────────────────────
   Classe .gg-form sul widget Modulo. Argilla solo per bordo e punto:
   come colore di testo non ha abbastanza contrasto sulla Pergamena. */

.gg-form .elementor-field-group.elementor-error .elementor-field {
  border-color: #C4724A !important;
  border-width: 1.5px !important;
}
.gg-form .elementor-field-group .elementor-message-danger,
.gg-form .elementor-message.elementor-message-danger {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin: 6px 0 0;
  padding: 0;
  background: none;
  border: 0;
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.45;
  color: #1E1510;
}
.gg-form .elementor-message.elementor-message-danger::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  margin-top: 6px;
  border-radius: 50%;
  background: #C4724A;
  font-family: inherit; /* al posto dell'icona di Elementor */
}

/* stato di invio: il pulsante non si preme due volte */
.gg-form form.elementor-form-waiting .elementor-button { opacity: .7; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  .gg-tag.is-swing { animation: none; }
}

/* il titolo dell'esito riceve il focus da benvenuto.js per i lettori di schermo:
   è un focus programmato, non serve il contorno */
.gg-esito .elementor-heading-title[tabindex="-1"]:focus { outline: none; }
