.elementor-376 .elementor-element.elementor-element-198bb0a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-376 .elementor-element.elementor-element-8730064{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-8730064 *//* --- IMPOSTAZIONI GLOBALI PAGINA CONTATTI --- */
.fnd-contact-page {
    padding: 160px 20px 100px 20px;
    background-color: #f8fafc;
    font-family: 'Outfit', -apple-system, sans-serif;
    min-height: 100vh;
}

/* Header */
.fnd-contact-header { text-align: center; max-width: 700px; margin: 0 auto 60px auto; opacity: 0; transform: translateY(40px); }
.fnd-contact-header.is-visible { animation: fadeInUpTarget 0.8s forwards; }

.fnd-hero-badge { display: inline-block; background: rgba(22, 55, 64, 0.08); color: #163740; padding: 8px 16px; border-radius: 30px; font-size: 14px; font-weight: 600; margin-bottom: 24px; border: 1px solid rgba(22, 55, 64, 0.15); }

.fnd-contact-header h1 { font-size: 56px; font-weight: 800; color: #1d1d1f; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 24px 0; }
.fnd-contact-header h1 span { color: #BAA256; }
.fnd-contact-header p { font-size: 20px; color: #64748b; line-height: 1.6; margin: 0; }

/* --- CARD RAPIDE --- */
.fnd-contact-cards { max-width: 1000px; margin: 0 auto 80px auto; display: flex; gap: 32px; }

.fnd-contact-card { flex: 1; background: #ffffff; border-radius: 24px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); border: 1px solid #e2e8f0; transition: transform 0.3s, box-shadow 0.3s; opacity: 0; transform: translateY(40px); }
.fnd-contact-card.is-visible:nth-child(1) { animation: fadeInUpTarget 0.8s 0.1s forwards; }
.fnd-contact-card.is-visible:nth-child(2) { animation: fadeInUpTarget 0.8s 0.2s forwards; }
.fnd-contact-card:hover { transform: translateY(-5px) !important; box-shadow: 0 20px 40px rgba(22, 55, 64, 0.08); }

.fnd-cc-icon { width: 60px; height: 60px; border-radius: 16px; background: rgba(22, 55, 64, 0.1); color: #163740; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 24px; }
.fnd-icon-gold-cc { background: rgba(186, 162, 86, 0.15); color: #BAA256; }

.fnd-contact-card h3 { font-size: 24px; font-weight: 800; color: #1d1d1f; margin: 0 0 12px 0; }
.fnd-contact-card p { font-size: 16px; color: #64748b; line-height: 1.5; margin: 0 0 24px 0; min-height: 48px; }
.fnd-cc-link { color: #163740; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: color 0.3s; }
.fnd-cc-link:hover { color: #BAA256; }

/* --- SEZIONE MODULO CONTATTI --- */
.fnd-contact-form-section { max-width: 1200px; margin: 0 auto; background: #ffffff; border-radius: 32px; box-shadow: 0 30px 60px rgba(22, 55, 64, 0.08); display: flex; overflow: hidden; opacity: 0; transform: translateY(40px); }
.fnd-contact-form-section.is-visible { animation: fadeInUpTarget 0.8s 0.3s forwards; }

.fnd-cfs-left { flex: 1; background: #163740; color: #ffffff; padding: 60px; display: flex; flex-direction: column; justify-content: center; }
.fnd-cfs-left h2 { font-size: 40px; font-weight: 800; margin: 0 0 20px 0; }
.fnd-cfs-left p { font-size: 18px; color: #cbd5e1; line-height: 1.6; margin: 0 0 40px 0; }

.fnd-cfs-info { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 32px; }
.fnd-cfs-info li { display: flex; gap: 20px; align-items: flex-start; }
.fnd-cfs-info li i { font-size: 24px; color: #BAA256; margin-top: 4px; }
.fnd-cfs-info li strong { display: block; font-size: 18px; margin-bottom: 4px; }
.fnd-cfs-info li span { font-size: 16px; color: #cbd5e1; line-height: 1.4; }
.fnd-cfs-info li small { color: #94a3b8; }

.fnd-cfs-right { flex: 1.2; padding: 60px; background: #ffffff; }

/* Form Styles */
.fnd-contact-form { display: flex; flex-direction: column; }
.fnd-form-row { display: flex; gap: 24px; }
.fnd-form-row .fnd-input-group { flex: 1; }

.fnd-input-group { margin-bottom: 24px; text-align: left; }
.fnd-input-group label { display: block; font-size: 14px; font-weight: 700; color: #163740; margin-bottom: 8px; }
.fnd-input-group input, 
.fnd-input-group select,
.fnd-input-group textarea { width: 100%; padding: 16px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 16px; color: #1d1d1f; font-family: 'Outfit', sans-serif; transition: all 0.3s ease; background-color: #f8fafc; box-sizing: border-box; resize: vertical; }

.fnd-input-group select { appearance: none; background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23163740%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 16px top 50%; background-size: 12px auto; }

.fnd-input-group input:focus, 
.fnd-input-group select:focus,
.fnd-input-group textarea:focus { outline: none; border-color: #BAA256; background-color: #ffffff; box-shadow: 0 0 0 4px rgba(186, 162, 86, 0.15); }

.fnd-btn-submit { width: 100%; background: #BAA256; color: #ffffff; padding: 18px; border: none; border-radius: 12px; font-size: 18px; font-weight: 700; font-family: 'Outfit', sans-serif; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 10px 20px rgba(186, 162, 86, 0.2); margin-top: 8px; }
.fnd-btn-submit:hover { background: #c7af66; transform: translateY(-3px); box-shadow: 0 15px 30px rgba(186, 162, 86, 0.3); }

/* Messaggio Successo */
.fnd-success-message { background: #ecfdf5; color: #059669; padding: 20px; border-radius: 12px; border: 1px solid #10b981; font-weight: 600; text-align: center; margin-top: 10px; font-size: 16px; }
.fnd-success-message i { margin-right: 8px; font-size: 20px; vertical-align: middle; }

/* KEYFRAMES */
@keyframes fadeInUpTarget { 0% { opacity: 0; transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0); } }

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 992px) {
    .fnd-contact-page { padding: 120px 20px 60px 20px; }
    .fnd-contact-header h1 { font-size: 40px; }
    
    .fnd-contact-cards { flex-direction: column; gap: 24px; margin-bottom: 40px; }
    
    .fnd-contact-form-section { flex-direction: column; }
    .fnd-cfs-left { padding: 40px 24px; text-align: center; }
    .fnd-cfs-info li { flex-direction: column; align-items: center; text-align: center; gap: 10px; }
    .fnd-cfs-info li i { margin: 0; }
    
    .fnd-cfs-right { padding: 40px 24px; }
    .fnd-form-row { flex-direction: column; gap: 0; }
}/* End custom CSS */