/* ============================================================
   100ottani — componenti condivisi da mappa, pagine SEO e admin
   Un solo pulsante (.btn), con le varianti primary | ghost | danger | small.
   L'altezza base è un token: 44 px per il dito sul pubblico, più compatta nel
   pannello admin (desktop), che la ridefinisce in admin.css.
   ============================================================ */

:root {
  --btn-h: 44px;
  --btn-small-h: 44px;
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--btn-h); padding: 0 18px;
  border-radius: var(--radius-m);
  border: 1px solid var(--color-line);
  background: var(--color-surface-2); color: var(--color-text);
  font: inherit; font-weight: 680; font-size: var(--text-s);
  cursor: pointer; text-decoration: none;
  transition: transform var(--transition-fast), background var(--transition-fast),
    border-color var(--transition-fast);
}
.btn:hover { border-color: var(--color-primary); }
.btn:active { transform: scale(0.97); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn svg { fill: currentColor; width: 18px; height: 18px; }
.btn.primary { background: var(--color-primary); border-color: var(--color-primary-strong); color: var(--color-on-primary); }
.btn.primary:hover { background: var(--color-primary-strong); }
.btn.ghost { background: transparent; }
.btn.danger { color: var(--color-danger); border-color: color-mix(in srgb, var(--color-danger) 40%, var(--color-line)); }
.btn.danger:hover { border-color: var(--color-danger); }
.btn.small { min-height: var(--btn-small-h); padding: 0 12px; font-size: var(--text-xs); }

/* età del prezzo: oggi/ieri sono «freschi», poi si ingrigisce */
.eta {
  display: inline-block;
  font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: var(--radius-full);
  background: var(--color-ok-bg); color: var(--color-ok-ink); border: 1px solid var(--color-ok-line);
}
.eta-aging { background: var(--color-warn-bg); color: var(--color-warn-ink); border-color: var(--color-warn-line); }
.eta-old { background: var(--color-surface-2); color: var(--color-muted); border-color: var(--color-line); text-decoration: line-through; }

/* informativa breve sotto i moduli che raccolgono dati */
.privacy-note { margin: var(--space-2) 0 0; font-size: var(--text-xs); line-height: 1.45; color: var(--color-muted); }
.privacy-note a { color: var(--color-link); text-decoration: underline; }

/* trappola per i bot: invisibile agli umani */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.check-line { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; }

/* `hidden` vince sempre: display:grid/flex di una classe non deve riaprire ciò che è nascosto */
[hidden] { display: none !important; }
