/* IFT-PROMO 29/10/2026, barra fissa in basso del sito pubblico (sito/partials/promo.blade.php, js/promo.js).
   Scura come le bande del sito, sotto il banner cookie (9000) e sotto la chat flottante (9999, finestra 99999).
   promo.js scrive --ift-promo-h su <html> con l'altezza reale: spazio in fondo al body e chat sollevata. Motion super soft. */
.ift-promo { position: fixed; left: 0; right: 0; bottom: 0; z-index: 8000; padding: 0 16px calc(10px + env(safe-area-inset-bottom, 0px)); pointer-events: none; }
.ift-promo[hidden] { display: none; }
.ift-promo__in { pointer-events: auto; box-sizing: border-box; display: flex; align-items: center; gap: 12px 16px; max-width: 1040px; margin: 0 auto;
  padding: 10px 10px 10px 18px; border-radius: 16px; background: #1A1A1A; color: #FAFAFA; border: 1px solid rgb(255 255 255 / .08);
  box-shadow: 0 10px 30px rgb(0 0 0 / .18); font-family: inherit; }
.ift-promo__text { flex: 1 1 auto; min-width: 0; margin: 0; font-size: .875rem; line-height: 1.45; color: rgb(250 250 250 / .86); overflow-wrap: anywhere; }
.ift-promo__title { color: #FAFAFA; font-weight: 600; }
.ift-promo__sep { margin: 0 6px; opacity: .5; }
.ift-promo__cta { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: 9999px;
  background: #FAFAFA; color: #1A1A1A; font-weight: 600; font-size: .875rem; line-height: 1; text-decoration: none; white-space: nowrap;
  transition: transform 200ms cubic-bezier(.4, 0, .2, 1), background-color 200ms cubic-bezier(.4, 0, .2, 1); }
.ift-promo__cta:hover { background: #FFFFFF; color: #1A1A1A; transform: translateY(-1px); }
.ift-promo__close { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0; padding: 0; border: 0;
  border-radius: 50%; background: transparent; color: rgb(250 250 250 / .8); cursor: pointer; transition: background-color 200ms cubic-bezier(.4, 0, .2, 1), color 200ms; }
.ift-promo__close:hover { background: rgb(255 255 255 / .1); color: #FAFAFA; }
.ift-promo__close svg { width: 16px; height: 16px; display: block; }
.ift-promo__cta:focus-visible, .ift-promo__close:focus-visible { outline: 2px solid #FAFAFA; outline-offset: 2px; }
/* entrata appena percepita */
.ift-promo.is-ready .ift-promo__in { animation: ift-promo-in 400ms cubic-bezier(.4, 0, .2, 1) both; }
@keyframes ift-promo-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* banner cookie aperto, la barra si ritira (una cosa per volta) */
html.ift-consent-open .ift-promo { display: none; }
/* spazio in fondo e chat flottante sollevata della stessa altezza */
html.ift-promo-open body { padding-bottom: var(--ift-promo-h, 0px); }
html.ift-promo-open #lqd-ext-chatbot-wrap { bottom: calc(var(--lqd-ext-chat-offset-y, 30px) + var(--ift-promo-h, 0px)) !important; }
@media (max-width: 767px) {
  /* IFT-REVISIONE 29/10/2026 mobile: barra compatta e bolla della chat 6px sopra la barra (prima 30px), cosi a 390x844
     la bolla (60px, sollevata della stessa altezza della barra) non copre il link "Scopri gli strumenti" del hero
     (prima 59px di sovrapposizione sul primo schermo). */
  .ift-promo { padding: 0 10px calc(6px + env(safe-area-inset-bottom, 0px)); }
  .ift-promo__in { flex-wrap: wrap; gap: 4px 10px; padding: 6px 8px 6px 12px; }
  .ift-promo__text { flex: 1 1 calc(100% - 46px); font-size: .8125rem; }
  .ift-promo__close { order: 2; }
  .ift-promo__cta { order: 3; flex: 1 1 100%; min-height: 36px; }
  html.ift-promo-open #lqd-ext-chatbot-wrap { bottom: calc(6px + var(--ift-promo-h, 0px)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ift-promo.is-ready .ift-promo__in { animation: none; }
  .ift-promo__cta, .ift-promo__close { transition: none; }
  .ift-promo__cta:hover { transform: none; }
}
