
/* Romoletto — personaggio scontornato, presente solo nella pagina Contatti */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.romoletto-entry{position:fixed;z-index:72;right:22px;bottom:17px;display:flex;align-items:center;gap:4px;filter:drop-shadow(0 16px 22px rgba(18,43,32,.17))}
.romoletto-launch{position:relative;width:94px;height:118px;padding:0;border:0;background:transparent;cursor:pointer;transform-origin:50% 100%;transition:transform .22s ease,filter .22s ease}
.romoletto-launch:hover,.romoletto-launch:focus-visible{transform:translateY(-4px) rotate(-1deg);filter:drop-shadow(0 8px 7px rgba(18,43,32,.13));outline:none}
.romoletto-launch:focus-visible:after{position:absolute;inset:7px 5px;border:2px solid rgba(183,106,69,.62);border-radius:45%;content:""}
.romoletto-person{position:absolute;right:0;bottom:0;width:auto;height:116px;max-width:none;object-fit:contain;pointer-events:none;user-select:none}
.romoletto-nudge{position:relative;margin-right:-6px;padding:10px 13px 9px;border:1px solid rgba(35,67,49,.15);border-radius:16px 16px 5px 16px;background:rgba(255,254,249,.97);box-shadow:0 12px 30px rgba(18,43,32,.13);color:var(--forest);line-height:1.15;opacity:1;transform:translateY(-10px);transition:opacity .25s,transform .25s}
.romoletto-nudge:after{position:absolute;right:-8px;bottom:9px;width:14px;height:14px;border-top:1px solid rgba(35,67,49,.15);border-right:1px solid rgba(35,67,49,.15);background:inherit;content:"";transform:rotate(45deg)}
.romoletto-nudge strong,.romoletto-nudge span{position:relative;z-index:1;display:block}.romoletto-nudge strong{font-family:var(--serif);font-size:.94rem;font-weight:400}.romoletto-nudge span{margin-top:3px;color:var(--muted);font-size:.59rem}.romoletto-entry.nudge-hidden .romoletto-nudge{opacity:0;pointer-events:none;transform:translate(8px,-10px)}
.romoletto-chat{position:fixed;z-index:85;right:24px;bottom:112px;width:min(390px,calc(100vw - 32px));height:min(540px,calc(100dvh - 158px));min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(35,67,49,.15);border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(12,36,24,.26)}
.romoletto-chat[hidden]{display:none}
.romoletto-head{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;min-height:82px;padding:10px 16px 10px 8px;background:var(--forest-deep);color:#fff}
.romoletto-head-person{align-self:end;width:auto;height:76px;max-width:none;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}
.romoletto-head>div{min-width:0}.romoletto-head span,.romoletto-head small{display:block;color:rgba(255,255,255,.62);font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.romoletto-head strong{display:block;margin:1px 0;color:#fff;font-family:var(--serif);font-size:1.45rem;font-weight:400}.romoletto-head small{font-weight:500;letter-spacing:.02em;text-transform:none}
.romoletto-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.35rem;cursor:pointer}
.romoletto-thread{flex:1 1 auto;min-height:0;overflow:auto;padding:19px;background:linear-gradient(180deg,#f7f7f1,#fff)}
.romoletto-message{max-width:86%;margin:0 0 11px;padding:12px 14px;border-radius:16px;font-size:.79rem;line-height:1.55}.romoletto-message p{margin:0}.romoletto-message.bot{border-bottom-left-radius:5px;background:#eaf0e7;color:var(--forest)}.romoletto-message.user{margin-left:auto;border-bottom-right-radius:5px;background:var(--forest);color:#fff}
.romoletto-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.romoletto-quick button{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--forest);font-size:.66rem;font-weight:700;cursor:pointer}.romoletto-quick button:hover{background:var(--sage-pale)}
.romoletto-route{margin-top:10px;padding-top:10px;border-top:1px solid rgba(35,67,49,.12)}.romoletto-route a{display:inline-flex;margin:6px 6px 0 0;padding:7px 9px;border-radius:999px;background:#fff;color:var(--forest);font-size:.65rem;font-weight:700}
.romoletto-input{flex:0 0 auto;display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}.romoletto-input input{min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:999px;outline:0;background:var(--ivory);color:var(--ink)}.romoletto-input input:focus{border-color:rgba(35,67,49,.52);box-shadow:0 0 0 4px rgba(35,67,49,.07)}.romoletto-input button{width:42px;height:42px;border:0;border-radius:50%;background:var(--forest);color:#fff;font-size:1.1rem;cursor:pointer}
.romoletto-privacy{flex:0 0 auto;margin:0;padding:0 16px 14px;background:#fff;color:var(--muted);font-size:.58rem;line-height:1.45}
@media(max-width:560px){.romoletto-entry{right:9px;bottom:8px}.romoletto-launch{width:70px;height:88px}.romoletto-person{height:86px}.romoletto-nudge{display:none}.romoletto-chat{right:10px;bottom:86px;width:calc(100vw - 20px);height:min(560px,calc(100dvh - 112px));min-height:0;border-radius:21px}.romoletto-head{grid-template-columns:52px 1fr auto}.romoletto-head-person{height:68px}}
@media(prefers-reduced-motion:no-preference){.romoletto-entry:not(.nudge-hidden) .romoletto-launch{animation:romoHello 4s ease-in-out 1}@keyframes romoHello{0%,100%{transform:none}22%{transform:translateY(-3px) rotate(-2deg)}32%{transform:translateY(-1px) rotate(2deg)}42%{transform:none}}}


/* Contatti diretti v0.7 */
.direct-contacts-section{background:var(--paper)}
.direct-contacts-title{max-width:760px}
.direct-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.direct-contact-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 48px rgba(27,55,39,.08)}
.direct-contact-kicker{margin:0 0 8px;color:var(--terra);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.direct-contact-card h3{margin:0 0 22px;color:var(--forest);font-family:var(--serif);font-size:2.1rem;font-weight:400;line-height:1.05}
.direct-contact-links{display:grid}
.direct-contact-links a{display:block;padding:15px 0;border-top:1px solid var(--line)}
.direct-contact-links a:last-child{padding-bottom:0}
.direct-contact-links span{display:block;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.direct-contact-links strong{display:block;margin-top:4px;color:var(--forest);font-size:.95rem;font-weight:600}
.direct-contact-links a:hover strong{color:var(--terra)}
@media(max-width:760px){.direct-contact-grid{grid-template-columns:1fr}.direct-contact-card{padding:24px}.direct-contact-card h3{font-size:1.85rem}}

.contact-channel-note{max-width:900px;margin:24px auto 0;padding:17px 20px;border-left:3px solid var(--terra);border-radius:0 14px 14px 0;background:var(--sage-pale);color:var(--muted);font-size:.86rem;line-height:1.65}
.contact-channel-note strong{color:var(--forest)}
@media(max-width:560px){.contact-channel-note{margin-top:18px;padding:14px 16px;font-size:.8rem}}

@media(min-width:561px) and (max-height:720px){.romoletto-chat{bottom:92px;height:calc(100dvh - 142px);min-height:0}}
