.public-page .contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:35px}
.public-page .contact-card{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid var(--site-line);border-radius:12px;background:var(--site-surface);text-decoration:none;gap:12px;color:var(--site-ink)}
.contact-card>span{font-size:.78rem;color:var(--site-muted)}.contact-card strong{font-size:1.12rem;overflow-wrap:anywhere}.contact-card small{color:var(--site-green);text-decoration:underline;text-underline-offset:4px;font-size:.83rem}
.public-page .form-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;margin-top:65px;padding-top:50px;border-top:1px solid var(--site-line)}
.public-page .form-intro p{color:var(--site-muted);font-size:.97rem;line-height:1.8}
.public-form{padding:28px;border:1px solid var(--site-line);border-radius:14px;background:var(--site-surface)}
.public-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.public-form .form-field{margin-bottom:20px}
.public-form label,.public-form legend{display:block;font-size:.88rem;font-weight:600;line-height:1.6;color:var(--site-ink);margin-bottom:8px}
.public-form label span{font-weight:400;color:var(--site-muted)}.public-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.public-form textarea{display:block;width:100%;min-height:48px;border:1px solid #87988a;border-radius:7px;padding:12px 13px;font:400 16px/1.5 'Montserrat',sans-serif;color:var(--site-ink);background:var(--site-paper)}
.public-form textarea{resize:vertical;min-height:145px}.public-form input:focus,.public-form textarea:focus{outline:3px solid var(--site-focus);outline-offset:2px}
.public-form fieldset{border:0;padding:0;margin:4px 0 25px;min-width:0}.public-form .form-choice{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400;margin:0;font-size:.9rem}.public-form input[type=checkbox],.public-form input[type=radio]{width:20px;height:20px;accent-color:#20493c;flex:none}
.public-form .form-note{font-size:.78rem;line-height:1.8;color:var(--site-muted);margin-top:12px}.public-form .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.public-page .form-message{padding:18px 22px;margin:0 0 24px;border:1px solid var(--site-line);border-radius:9px;background:var(--site-soft);scroll-margin-top:110px;font-size:.95rem}
.public-page .form-message.error{border-color:#b64a38;color:#8a2c21;background:#fff2ee}.public-page .form-message.success{border-color:#739c82;color:#20493c;background:#edf8ef}
.public-page .data-note{border-top:1px solid var(--site-line);padding-top:26px;margin-top:34px;scroll-margin-top:110px}.public-page .data-note h2{font-size:1.1rem}.public-page .data-note p{font-size:.87rem;color:var(--site-muted);max-width:850px}
.public-page .form-wide{max-width:820px;margin-top:36px}
@media(max-width:850px){.public-page .form-layout{gap:30px}.public-page .contact-grid{grid-template-columns:1fr}.public-page .contact-card{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:7px 16px}.contact-card small{grid-column:2}}
@media(max-width:620px){.public-page .form-layout{grid-template-columns:1fr;margin-top:42px;padding-top:32px;gap:20px}.public-form{padding:22px}.public-form .form-row{grid-template-columns:1fr;gap:0}.public-page .contact-card{display:flex}.public-form .site-button{width:100%}}
@media(prefers-color-scheme:dark){:where(:root:not([data-theme])) .public-page .form-message.error{color:#ffcabd;background:#38211d}:where(:root:not([data-theme])) .public-page .form-message.success{color:#c4e6d1;background:#1c3225}:where(:root:not([data-theme])) .public-form input[type=checkbox],:where(:root:not([data-theme])) .public-form input[type=radio]{accent-color:#b6decb}}
/* Tema scuro scelto dal visitatore; il sistema resta il fallback senza JavaScript. */
:where(:root[data-theme="dark"]) .public-page .form-message.error{color:#ffcabd;background:#38211d}:where(:root[data-theme="dark"]) .public-page .form-message.success{color:#c4e6d1;background:#1c3225}:where(:root[data-theme="dark"]) .public-form input[type=checkbox],:where(:root[data-theme="dark"]) .public-form input[type=radio]{accent-color:#b6decb}
