.promo-barra {
  position: fixed; inset: 0 0 auto 0; z-index: 45;
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.55rem 0.5rem 0.55rem var(--margine, 1rem);
  background: var(--brace); color: var(--carbone);
}
.promo-barra-corpo { flex: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.2rem 0.75rem; text-align: center; line-height: 1.35; }
.promo-barra .promo-titolo { font-weight: 700; }
.promo-barra .promo-testo { font-size: 0.9375rem; }
.promo-barra .promo-pulsante {
  margin: 0; min-height: 2.25rem; padding: 0.3rem 0.9rem; font-size: 0.9375rem;
  background: var(--carbone); color: var(--crema); border-color: var(--carbone);
}
.promo-barra .promo-pulsante:hover { background: var(--crema); color: var(--carbone); border-color: var(--crema); }
.promo-barra .promo-chiudi { color: var(--carbone); }
.con-barra body { padding-top: var(--altezza-barra, 0px); }
.con-barra .testata { top: var(--altezza-barra, 0px); }
html.con-barra { scroll-padding-top: calc(4.5rem + var(--altezza-barra, 0px)); }
.promo-finestra {
  width: min(28rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 0; margin: auto;
  border: 1px solid var(--venatura); border-radius: 6px; overflow: auto;
  background: var(--legno); color: var(--crema);
}
.promo-finestra:focus { outline: none; }
.promo-finestra::backdrop { background: rgb(var(--carbone-rgb) / 0.72); }
.promo-popup { position: relative; }
.promo-immagine { display: block; width: 100%; max-height: 45vh; object-fit: cover; }
.promo-corpo { padding: 1.5rem 1.5rem 1.6rem; }
.promo-popup .promo-titolo { font-family: var(--font-titoli); font-weight: 400; font-size: clamp(1.6rem, 6vw, 2rem); line-height: 1.15; margin: 0 2rem 0.6rem 0; }
.promo-popup .promo-testo { margin: 0 0 1.1rem; color: var(--crema); }
.promo-popup .promo-testo strong { color: var(--brace); }
.promo-popup .promo-pulsante { margin: 0; width: 100%; justify-content: center; }
.promo-popup .promo-chiudi {
  position: absolute; top: 0.6rem; right: 0.6rem;
  background: rgb(var(--carbone-rgb) / 0.75); color: var(--crema); border-radius: 50%;
}
.promo-chiudi {
  flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0;
  background: none; border: 0; cursor: pointer; color: inherit;
}
.promo-chiudi svg { width: 1.25rem; height: 1.25rem; }
.promo-chiudi:focus-visible { outline: 3px solid var(--crema); outline-offset: -3px; }
.promo-barra .promo-chiudi:focus-visible, .promo-barra .promo-pulsante:focus-visible { outline-color: var(--carbone); }
