/* Pusateri Maker - Contatti v2.2. Classi isolate dal CSS legacy .pusa-icon. */
.pm-contact { --pm-contact-bordeaux:#781b21; --pm-contact-green:#294b2b; --pm-contact-ink:#302d29; --pm-contact-muted:#706a61; margin:24px 0 32px; padding:18px; background:#f8f5f0; border-radius:16px; box-sizing:border-box; }
.pm-contact, .pm-contact * { box-sizing:border-box; }
.pm-contact__intro { margin:0 0 18px; }
.pm-contact .pm-contact__title { margin:0 0 7px; color:var(--pm-contact-bordeaux); font-size:clamp(1.35rem,2.4vw,1.8rem); line-height:1.2; }
.pm-contact .pm-contact__subtitle { margin:0; color:#514c46; font-size:0.98rem; line-height:1.55; }
.pm-contact__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body #wrap .pm-contact a.pm-contact__card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:172px; padding:18px; border:1px solid #e5dcd0; border-radius:12px; background:#fff; color:var(--pm-contact-ink) !important; text-decoration:none !important; font-weight:400 !important; box-shadow:0 1px 3px rgba(0,0,0,.03); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body #wrap .pm-contact a.pm-contact__card:is(:link,:visited,:hover,:focus,:active) { color:var(--pm-contact-ink) !important; text-decoration:none !important; }
body #wrap .pm-contact a.pm-contact__card:hover { transform:translateY(-2px); box-shadow:0 5px 16px rgba(0,0,0,.08); border-color:#c9b8a5; }
body #wrap .pm-contact a.pm-contact__card:focus-visible { outline:3px solid #a07138; outline-offset:3px; }
.pm-contact__icon { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex:0 0 40px; border-radius:10px; color:#fff; background:#781b21; margin-bottom:11px; }
.pm-contact__card--telefono .pm-contact__icon { background:#294b2b; }
.pm-contact__card--whatsapp .pm-contact__icon { background:#16864a; }
.pm-contact__card--telegram .pm-contact__icon { background:#267da9; }
.pm-contact__icon svg { display:block; width:22px; height:22px; }
.pm-contact .pm-contact__name { display:block; color:var(--pm-contact-ink) !important; font-weight:700 !important; font-size:1rem; line-height:1.35; }
.pm-contact .pm-contact__detail { display:block; color:var(--pm-contact-muted) !important; font-size:.83rem; font-weight:400 !important; line-height:1.45; overflow-wrap:anywhere; }
.pm-contact__arrow { display:flex; justify-content:flex-end; align-self:flex-end; margin-top:auto; color:var(--pm-contact-bordeaux); }
.pm-contact__arrow svg { width:18px; height:18px; }
.pm-contact--compact { padding:12px; margin:16px 0; }
.pm-contact--compact .pm-contact__grid { gap:8px; }
body #wrap .pm-contact--compact a.pm-contact__card { min-height:120px; padding:12px; }
.pm-contact--compact .pm-contact__icon { width:32px; height:32px; flex-basis:32px; margin-bottom:7px; border-radius:8px; }
.pm-contact--compact .pm-contact__icon svg { width:18px; height:18px; }
.pm-contact--compact .pm-contact__detail { font-size:.77rem; }
@media (max-width:480px) { .pm-contact { padding:12px; } .pm-contact__grid { gap:9px; } body #wrap .pm-contact a.pm-contact__card { padding:12px; min-height:154px; } .pm-contact .pm-contact__detail { font-size:.75rem; } body #wrap .pm-contact--compact a.pm-contact__card { min-height:118px; } }
@media (prefers-reduced-motion:reduce) { body #wrap .pm-contact a.pm-contact__card { transition:none; } body #wrap .pm-contact a.pm-contact__card:hover { transform:none; } }
