/* Scoped to the contact section: navigation, footer and other pages are untouched. */
#contact.contact-page > hr { margin-bottom: 48px; }
#contact .contact-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:36px; max-width:1080px; margin:0 auto; padding:32px; border:1px solid #e3e3e3; border-radius:8px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,.08); text-align:left; }
#contact .contact-layout > * { min-width:0; }
#contact .contact-section-title { margin:0 0 22px; color:#2e3141; font-size:20px; line-height:1.4; letter-spacing:0; text-transform:none; }
#contact #formContatti > .contact-section-title { margin-bottom:8px; }
#contact .contact-form-intro { margin:0 0 26px; color:#666; font-size:14px; line-height:1.7; }
#contact #formContatti form { float:none; width:100%; }
#contact .contact-field { margin-bottom:20px; }
#contact .contact-field label { display:block; margin-bottom:8px; color:#2e3141; font:600 14px/1.5 'Open Sans',sans-serif; }
#contact .contact-field input, #contact .contact-field textarea { box-sizing:border-box; display:block; width:100%; margin:0; padding:14px 16px; border:1px solid #e3e3e3; border-radius:5px; background:#f5f5f5; color:#424242; font:400 14px/1.5 'Open Sans',sans-serif; }
#contact .contact-field textarea { height:160px; min-height:140px; resize:vertical; }
#contact .contact-field input::placeholder, #contact .contact-field textarea::placeholder { color:#737780; opacity:1; }
#contact .contact-field input:focus, #contact .contact-field textarea:focus { border-color:#e5181d; background:#fff; }
#contact .contact-layout a:focus-visible, #contact .contact-layout button:focus-visible, #contact .contact-layout input:focus-visible, #contact .contact-layout textarea:focus-visible { outline:2px solid #e5181d; outline-offset:3px; }
#contact .contact-privacy { display:flex; align-items:flex-start; gap:9px; margin:4px 0 18px; }
#contact .contact-privacy input[type="checkbox"] { flex:0 0 auto; width:17px; height:17px; margin:3px 0 0; accent-color:#e5181d; }
#contact .contact-privacy label { color:#555; font:400 12px/1.7 'Open Sans',sans-serif; }
#contact .contact-privacy a { color:#c51218; text-decoration:underline; }
#contact .contact-captcha { margin:0 0 22px; }
#contact #ctc { width:auto; max-width:100%; min-height:46px; padding:0 26px; border-radius:5px; cursor:pointer; }
#contact .field-validation-error { display:block; margin-top:6px; color:#c51218; font:400 13px/1.5 'Open Sans',sans-serif; }
#contact .contact-field .input-validation-error { border-color:#c51218; }
#contact .contact-card { margin-bottom:20px; padding:22px; border:1px solid #dedfe2; border-radius:6px; background:rgba(255,255,255,.97); }
#contact .contact-card h4 { font-weight:600; color:#2e3141; display:flex; align-items:center; gap:14px; margin:0 0 18px; font-size:18px; line-height:1.4; text-transform:none; letter-spacing:0; }
#contact .contact-card h4 img { width:28px; height:28px; object-fit:contain; }
#contact .contact-person { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; }
#contact .contact-person + .contact-person { border-top:1px solid #eee; }
#contact .contact-person:last-child { padding-bottom:0; }
#contact .contact-name { display:block; margin-bottom:5px; color:#2e3141; font:600 14px/1.5 'Open Sans',sans-serif; }
#contact .contact-number { color:#626670; font:400 15px/1.5 'Open Sans',sans-serif; white-space:nowrap; }
#contact .contact-call { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 15px; border:1px solid #e5181d; border-radius:4px; color:#c51218; font:400 13px/1.5 'Open Sans',sans-serif; }
#contact .contact-email { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; padding:15px 0; color:#626670; font:400 14px/1.6 'Open Sans',sans-serif; overflow-wrap:anywhere; }
#contact .contact-email + .contact-email { border-top:1px solid #eee; }
#contact .contact-email:last-child { padding-bottom:0; }
#contact .contact-email-action { color:#c51218; font-size:12px; text-decoration:underline; }
#contact .contact-social { margin-top:30px; }
#contact .contact-social .contact-section-title { font-size:18px; margin-bottom:16px; }
#contact .contact-social ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
#contact .contact-social li { flex:1 1 105px; }
#contact .contact-social a { display:flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:5px 9px; border:1px solid #dedfe2; border-radius:4px; background:#fff; color:#2e3141; font:600 12px/1.5 'Open Sans',sans-serif; }
#contact .contact-social img { width:22px; height:22px; object-fit:contain; }
#contact .contact-call:hover { background:#e5181d; color:#fff; }
#contact .contact-social a:hover { border-color:#e5181d; color:#c51218; }
#contact .contact-number:hover { color:#c51218; }
@media screen and (max-width:760px) {
    #contact .contact-layout { grid-template-columns:minmax(0,1fr); gap:36px; padding:24px 16px; }
    #contact.contact-page > hr { margin-bottom:32px; }
    #contact .contact-card { padding:20px; }
}
@media screen and (max-width:360px) {
    #contact .contact-layout { padding-left:12px; padding-right:12px; }
    #contact .contact-card { padding:16px; }
    #contact .contact-captcha { height:70px; }
    #contact .g-recaptcha { transform:scale(.88); transform-origin:left top; }
}


