/* ════════════════════════════════════════════════════════════════
 * Mobile Conversion Layer — Agile Technology suite
 * Riutilizzabile su EViX, QSA, NIS2, TRPG, LG231, ecc.
 * Si attiva SOLO su mobile (≤768px) — desktop invariato.
 * Classi prefissate .mobconv-* per zero conflitti con CSS host.
 * ════════════════════════════════════════════════════════════════ */

/* ── Variabili di tema (override via inline style sul container) ── */
:root {
  --mobconv-accent:   #E31E24;
  --mobconv-accent2:  #B71518;
  --mobconv-bg:       #0A0A0A;
  --mobconv-text:     #FFFFFF;
  --mobconv-sub:      rgba(255,255,255,0.75);
  --mobconv-border:   rgba(255,255,255,0.12);
}

/* ── Sticky CTA bar (bottom) — visibile solo mobile ────────────── */
.mobconv-sticky {
  display: none; /* nascosta di default */
  position: fixed;
  left: 0; right: 0;
  bottom: 0;
  z-index: 9990;
  background: linear-gradient(180deg, rgba(10,10,10,0.96), rgba(10,10,10,1));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--mobconv-border);
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 32px rgba(0,0,0,0.45);
  transform: translateY(100%);
  transition: transform .28s ease;
}
.mobconv-sticky-row { max-width: 540px; margin: 0 auto; }
.mobconv-cta { max-width: 100%; }
/* iPhone XS / SE: padding ridotto per non sovrastare */
@media (max-width: 380px) {
  .mobconv-sticky { padding: 8px 12px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  .mobconv-cta { font-size: 14px !important; padding: 0 12px !important; min-height: 44px !important; }
  .mobconv-pill { min-height: 44px !important; min-width: 44px !important; }
}
.mobconv-sticky.show { transform: translateY(0); }

.mobconv-sticky-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.mobconv-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  color: var(--mobconv-text);
  border: 1px solid var(--mobconv-border);
  text-decoration: none;
  font-size: 18px;
  transition: background .15s, transform .15s;
}
.mobconv-pill:active { transform: scale(0.96); background: rgba(255,255,255,0.14); }
.mobconv-pill.wa { background: rgba(37,211,102,0.18); border-color: rgba(37,211,102,0.45); color: #25D366; }

.mobconv-cta {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mobconv-accent), var(--mobconv-accent2));
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.06) inset;
  transition: transform .15s;
}
.mobconv-cta:active { transform: scale(0.98); }

/* ── WhatsApp FAB (alternativa standalone — usabile su Diamante-like) ── */
.mobconv-wa-fab {
  display: none;
  position: fixed;
  right: 16px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 9980;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: white;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 26px;
  box-shadow: 0 8px 28px rgba(37,211,102,0.45);
  transition: transform .2s, box-shadow .2s;
  animation: mobconv-pulse 2.4s ease-out infinite;
}
.mobconv-wa-fab:active { transform: scale(0.92); }
@keyframes mobconv-pulse {
  0%   { box-shadow: 0 8px 28px rgba(37,211,102,0.45), 0 0 0 0 rgba(37,211,102,0.55); }
  70%  { box-shadow: 0 8px 28px rgba(37,211,102,0.45), 0 0 0 18px rgba(37,211,102,0); }
  100% { box-shadow: 0 8px 28px rgba(37,211,102,0.45), 0 0 0 0 rgba(37,211,102,0); }
}

/* ── Trust ribbon (sotto hero su mobile, opzionale) ─────────────── */
.mobconv-trust {
  display: none;
  background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.02));
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding: 14px 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.mobconv-trust::-webkit-scrollbar { display: none; }
.mobconv-trust-row {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  white-space: nowrap;
  padding: 0 4px;
}
.mobconv-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(0,0,0,0.7);
  letter-spacing: 0.01em;
}
.mobconv-trust-item::before {
  content: "✓";
  color: var(--mobconv-accent);
  font-weight: 900;
  font-size: 11px;
}
.mobconv-trust-item:not(:first-child)::after {
  content: "·";
  color: rgba(0,0,0,0.25);
  margin-left: 18px;
  font-size: 16px;
  font-weight: 900;
}
/* Variante dark per siti dark-theme */
.mobconv-trust.dark {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border-top-color: rgba(255,255,255,0.08);
  border-bottom-color: rgba(255,255,255,0.08);
}
.mobconv-trust.dark .mobconv-trust-item { color: rgba(255,255,255,0.85); }
.mobconv-trust.dark .mobconv-trust-item:not(:first-child)::after { color: rgba(255,255,255,0.2); }

/* ── Mobile-only: attiva tutto sotto i 768px ─────────────────────── */
@media (max-width: 768px) {
  .mobconv-sticky { display: block; }
  .mobconv-wa-fab[data-enabled="true"] { display: inline-flex; }
  /* Hide WA FAB quando sticky è visibile (ridondante) */
  .mobconv-sticky.show ~ .mobconv-wa-fab { display: none !important; }
  .mobconv-trust { display: block; }

  /* iOS: no zoom su input/select (font-size ≥16px) */
  input, select, textarea {
    font-size: max(16px, 1rem) !important;
  }

  /* Spazio extra in bottom della pagina per non coprire CTA esistenti */
  body.mobconv-padded {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Su desktop nasconde TUTTO senza margine d'errore */
@media (min-width: 769px) {
  .mobconv-sticky, .mobconv-wa-fab, .mobconv-trust { display: none !important; }
}
