/* placeholder mappa (Google Maps si carica sempre, senza consenso — vedi
   cookie-policy.php) + promo overlay */
.pl-map-placeholder { display: flex; align-items: center; justify-content: center; min-height: 360px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.pl-map-placeholder iframe { display: block; border-radius: var(--radius); }
/* promo overlay — non usato se banner_home.attivo=0 */
.pl-promo { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 400; display: flex; align-items: center; justify-content: center; }
.pl-promo__scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); cursor: pointer; }
.pl-promo__card { position: relative; z-index: 1; background: var(--surface); border-radius: var(--radius); padding: var(--space-4); max-width: 500px; display: flex; flex-direction: column; gap: var(--space-3); transform: scale(0.95) translateY(20px); opacity: 0; transition: all 0.35s var(--ease-out); }
.pl-promo.is-open .pl-promo__card { transform: scale(1) translateY(0); opacity: 1; }
.pl-promo__img { display: block; width: 100%; border-radius: var(--radius); margin-bottom: var(--space-2); }
.pl-promo__text { margin: 0; color: var(--ink); }
.pl-promo__close { position: absolute; top: var(--space-3); right: var(--space-3); background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--ink); padding: 0; line-height: 1; }
@media (prefers-reduced-motion: reduce) {
  .pl-promo__card { transform: scale(1) translateY(0); opacity: 1; }
}
