
.contatti-page{background:#fff}
.contatti-page .main-nav a.active{color:#ad1527}
.contatti-page .main-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;background:#ad1527}

.contacts-main{max-width:1400px;margin:0 auto;padding:42px 68px 18px}
.contacts-top{display:grid;grid-template-columns:1.38fr 1fr;gap:35px}
.contacts-intro{position:relative;overflow:hidden;min-height:226px}
.contacts-city-bg{position:absolute;right:-28px;bottom:-8px;width:58%;height:210px;background:url("../assets/img/contatti-pavia-bg.png") center/cover no-repeat;opacity:.20;filter:grayscale(1)}
.contacts-intro h1{position:relative;margin:0;text-transform:uppercase;color:#072d5d;font-size:46px;line-height:1.08}
.contacts-intro h1 span{color:#ad1527}
.red-line{position:relative;width:65px;height:2px;background:#ad1527;margin:16px 0}
.contacts-intro p{position:relative;max-width:560px;font-size:15px;line-height:1.65;margin:0;color:#102748}

.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.contact-cards article{border:1px solid #e1e5eb;border-radius:9px;background:#fff;min-height:235px;text-align:center;padding:16px 10px;box-shadow:0 4px 14px #062e6110}
.contact-icon{width:62px;height:62px;border-radius:50%;background:#062e61;color:#fff;margin:0 auto 16px;display:grid;place-items:center;font-size:29px}
.contact-cards h2{text-transform:uppercase;color:#082e61;font-size:15px;margin:0 0 14px}
.contact-cards p,.contact-cards a{font-size:14px;line-height:1.6;margin:7px 0}
.red-text{color:#b31429;font-weight:700}

.talk-banner{margin-top:20px;background:linear-gradient(90deg,#062f64,#032552);border-radius:8px;color:#fff;min-height:110px;display:grid;grid-template-columns:80px 1fr 1px 1.1fr;align-items:center;gap:20px;padding:14px 18px}
.talk-icon{width:70px;height:70px;border-radius:50%;background:#fff;color:#062e61;display:grid;place-items:center;font-size:34px}
.talk-banner h2{font-size:20px;margin:0 0 7px}.talk-banner p{font-size:14px;line-height:1.5;margin:0}
.talk-divider{height:72px;background:#ffffff80}
.talk-cta{text-align:center}.talk-cta a{display:block;background:#c0152b;color:#fff;text-transform:uppercase;font-size:16px;font-weight:700;padding:14px 18px;border-radius:5px}.talk-cta small{display:block;margin-top:9px;font-size:13px}

.contact-form{border:1px solid #e0e5eb;border-radius:9px;background:#fff;padding:28px;box-shadow:0 5px 18px #062e6110}
.contact-form h2{text-transform:uppercase;color:#092e61;font-size:25px;margin:0 0 10px}
.form-line{height:2px;background:#d5dbe4;margin-bottom:17px}
.contact-form>p{font-size:14px;margin:0 0 22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form>label,.form-row label{display:flex;align-items:center;gap:12px;border:1px solid #cbd4df;border-radius:5px;min-height:50px;padding:0 15px;margin-bottom:17px}
.contact-form input,.contact-form select,.contact-form textarea{border:0;outline:0;background:transparent;width:100%;font:inherit;color:#1b2b43}
.message-field{align-items:flex-start!important;padding-top:14px!important}.message-field textarea{height:84px;resize:none}
.privacy{border:0!important;padding:0!important;min-height:auto!important;font-size:12px}.privacy input{width:auto}
.contact-form button{width:100%;border:0;border-radius:5px;background:linear-gradient(#c61c32,#ad1026);color:#fff;text-transform:uppercase;font-weight:700;font-size:16px;padding:15px;cursor:pointer}

.contacts-bottom{margin-top:22px;border:1px solid #e3e7ec;border-radius:9px;background:#fff;display:grid;grid-template-columns:1.25fr 1fr 1fr .9fr;min-height:190px;box-shadow:0 4px 15px #062e610c;overflow:hidden}
.contacts-bottom>div{padding:15px 25px;display:flex;gap:14px;align-items:flex-start;border-right:1px solid #d7dde6}.contacts-bottom>div:last-child{border-right:0}
.map-panel{padding:14px!important}.map-panel img{width:100%;height:160px;object-fit:cover;border-radius:6px}
.bottom-icon{font-size:34px;color:#b5152a;line-height:1}.bottom-icon.outline{font-size:36px}
.contacts-bottom h2{text-transform:uppercase;color:#082e61;font-size:17px;margin:3px 0 15px}
.contacts-bottom p{font-size:13px;line-height:1.6;margin:0 0 9px}.contacts-bottom a{font-size:13px;color:#b5152a;font-weight:700}
.hours-panel hr{border:0;border-top:1px solid #cfd6e0;margin:10px 0}
.follow-panel{display:block!important}.follow-icons{display:flex;gap:12px;margin:8px 0 18px}
.follow-icons a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1769d2;font-weight:700}
.follow-icons a:nth-child(2){background:linear-gradient(135deg,#6542d7,#ed1d78,#ff9a2f)}
.follow-icons a:nth-child(3){background:#e51622}
.follow-icons a:nth-child(4){background:#0b6e9f}

@media(max-width:1150px){
  .contacts-main{padding:35px 25px 18px}
  .contacts-top{grid-template-columns:1fr}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .contacts-bottom{grid-template-columns:1fr 1fr}
  .contacts-bottom>div{border-bottom:1px solid #d7dde6}
}
@media(max-width:700px){
  .contacts-main{padding:25px 16px 12px}
  .contacts-intro h1{font-size:36px}
  .contact-cards{grid-template-columns:1fr}
  .talk-banner{grid-template-columns:1fr;text-align:center}
  .talk-icon{margin:auto}.talk-divider{display:none}
  .form-row{grid-template-columns:1fr}
  .contacts-bottom{grid-template-columns:1fr}
  .contacts-bottom>div{border-right:0}
}

.main-nav a{position:relative;transition:.25s}.main-nav a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:#b3122b;transition:.25s}.main-nav a:hover::after,.main-nav a.active::after{width:100%}.whatsapp-top{border-radius:28px;transition:.25s;box-shadow:0 3px 10px rgba(0,0,0,.15)}.whatsapp-top:hover{transform:translateY(-2px)}