#contatti { padding-top: 1rem !important; }
.bang-contact-panel { max-width: 64rem; margin: 0 auto; padding: clamp(2rem,5vw,4rem); border: 1px solid rgba(14,134,182,.2); border-radius: 1.75rem; background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,251,254,.88)); box-shadow: 0 20px 50px rgba(19,35,62,.1); }
.bang-contact-heading { text-align: center; margin-bottom: 2.5rem; }
.bang-contact-heading p { margin: 0 0 .55rem; color: #0b91c5; text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 900; }
.bang-contact-heading h2 { margin: 0 0 .65rem; color: #13233e; font-size: clamp(2.5rem,5vw,4.4rem); line-height: .95; letter-spacing: -.065em; font-weight: 900; }
.bang-contact-heading span { color: #526070; font-size: 1.04rem; }
.bang-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.35rem; }
.bang-contact-grid label { display: grid; gap: .48rem; color: #263b58; font-size: .84rem; font-weight: 800; }
.bang-contact-full { grid-column: 1 / -1; }
.bang-contact-grid input,.bang-contact-grid select,.bang-contact-grid textarea { width: 100%; box-sizing: border-box; border: 1px solid rgba(19,35,62,.18); border-radius: .8rem; padding: .9rem 1rem; outline: none; color: #13233e; background: rgba(255,255,255,.85); font: inherit; transition: border-color .2s,box-shadow .2s; }
.bang-contact-grid textarea { resize: vertical; min-height: 8rem; }
.bang-contact-grid input:focus,.bang-contact-grid select:focus,.bang-contact-grid textarea:focus { border-color: #0b9ecf; box-shadow: 0 0 0 4px rgba(8,185,223,.14); }
.bang-contact-privacy { display: flex; align-items: flex-start; gap: .7rem; margin: 1.55rem 0; color: #526070; font-size: .85rem; line-height: 1.45; }
.bang-contact-privacy input { margin-top: .18rem; accent-color: #0d91c4; }
.bang-contact-privacy a { color: #087eae; font-weight: 800; }
.bang-contact-submit { width: 100%; display: flex; align-items: center; justify-content: center; gap: .75rem; padding: 1.1rem 1.5rem; border: 0; border-radius: .85rem; cursor: pointer; color: #fff; font-size: 1.05rem; font-weight: 900; background: linear-gradient(105deg,#075b88 0%,#08b9df 30%,#d9f9ff 49%,#11add9 62%,#075b88 100%); background-size: 220% 100%; box-shadow: 0 12px 24px rgba(8,137,187,.28), inset 0 1px 1px rgba(255,255,255,.6); animation: bang-why-metal-shine 5.5s ease-in-out infinite; transition: transform .2s ease; }
.bang-contact-submit:hover { transform: translateY(-2px); }
.bang-contact-submit b { font-size: 1.35em; line-height: .8; }
.bang-contact-feedback { min-height: 1.4rem; margin: .9rem 0 0; text-align: center; color: #0786b5; font-size: .9rem; font-weight: 800; }
@media (max-width: 640px) { .bang-contact-panel { padding: 2rem 1.25rem; border-radius: 1.2rem; } .bang-contact-grid { grid-template-columns: 1fr; } .bang-contact-full { grid-column: auto; } .bang-contact-heading span { font-size: .95rem; } }
