.section-padding{padding:60px 0}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:var(--color-secondary)}.text-center{text-align:center}.contatti-info-section{background-color:var(--color-bg)}.contatti-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px}.contact-form-wrapper{background:#fff;padding:40px;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.contact-form-wrapper h2{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--color-secondary)}.form-intro{font-size:1rem;color:var(--color-text-light);margin-bottom:2rem;line-height:1.6}.contact-form .form-group{margin-bottom:20px}.contact-form label{display:block;font-weight:600;margin-bottom:8px;color:var(--color-text);font-size:.95rem}.contact-form .form-control{width:100%;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;transition:border-color var(--transition-fast);font-family:inherit}.contact-form .form-control:focus{outline:none;border-color:var(--color-primary)}.contact-form textarea.form-control{resize:vertical;min-height:150px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;cursor:pointer}.checkbox-label input[type="checkbox"]{margin-top:4px;cursor:pointer}.contact-form .btn{background-color:var(--color-primary);color:var(--color-secondary);border:none;padding:15px 40px;font-size:1.1rem;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.contact-form .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-info-sidebar{display:flex;flex-direction:column;gap:30px}.contact-info-box,.contact-hours-box,.contact-social-box{background:#fff;padding:30px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.contact-info-box h3,.contact-hours-box h3,.contact-social-box h3{font-size:1.3rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-secondary)}.info-item{display:flex;gap:15px;margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-icon{flex-shrink:0;width:40px;height:40px;background-color:var(--color-bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.info-icon svg{width:20px;height:20px}.info-text{flex:1}.info-text strong{display:block;font-size:.9rem;color:var(--color-text);margin-bottom:5px}.info-text p{margin:0;font-size:.95rem;color:var(--color-text-light);line-height:1.5}.info-text a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.info-text a:hover{color:var(--color-secondary);text-decoration:underline}.hours-content{font-size:.95rem;line-height:1.8;color:var(--color-text)}.hours-content p{margin-bottom:.5rem}.hours-content p:last-child{margin-bottom:0}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-link{display:inline-block;padding:10px 20px;background-color:var(--color-bg-light);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;font-size:.9rem;font-weight:600;transition:background-color var(--transition-fast),color var(--transition-fast)}.social-link:hover{background-color:var(--color-primary);color:var(--color-secondary)}.contatti-map-section{background-color:var(--color-bg-light)}.map-container{width:100%;max-width:100%;margin-top:30px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg)}.map-container iframe{width:100%;height:450px;border:0;display:block}.form-message{padding:15px 20px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:.95rem}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:1024px){.contatti-grid{gap:40px}}@media (max-width:768px){.section-padding{padding:40px 0}.section-title{font-size:2rem}.contatti-grid{grid-template-columns:1fr;gap:30px}.contact-form-wrapper{padding:30px 20px}.contact-form-wrapper h2{font-size:1.5rem}.contact-info-box,.contact-hours-box,.contact-social-box{padding:25px 20px}.map-container iframe{height:300px}.contact-form .btn{padding:12px 30px;font-size:1rem}}