
/* V10.5.2.10 - Contact page visual refinement */
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px;
  margin-top:34px;
  align-items:start
}
.contact-info-card,.contact-form-card{
  padding:30px;
  border-radius:18px
}
.contact-info-card h2,.contact-form-card h2{margin:0 0 20px}
.contact-form-intro{margin:-8px 0 22px;color:#60758a;line-height:1.6}
.contact-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:15px 0;
  border-bottom:1px solid #e7edf3
}
.contact-item:last-of-type{border-bottom:0}
.contact-item p{margin:0;line-height:1.55}
.contact-item strong{display:block;margin-bottom:2px;color:#0a3556}
.contact-item a{color:#0878bd;text-decoration:none;overflow-wrap:anywhere}
.contact-item a:hover{text-decoration:underline}
.contact-icon{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#edf7fd;
  color:#0878bd;
  font-weight:800
}
.contact-form-card form{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px}
.contact-form-card form>input[name="_csrf"],
.contact-form-card form>input[name="website"]{position:absolute}
.contact-form-card form label{
  display:block;
  margin:0 0 -8px;
  font-weight:700;
  color:#173b57
}
.contact-form-card form label:nth-of-type(1),
.contact-form-card form label:nth-of-type(4),
.contact-form-card form label:nth-of-type(5),
.contact-form-card form input[name="name"],
.contact-form-card form input[name="subject"],
.contact-form-card form textarea,
.contact-form-card form button{
  grid-column:1/-1
}
.contact-form-card form input:not([type="hidden"]),
.contact-form-card form textarea{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:12px 14px;
  border:1px solid #cfdce7;
  border-radius:10px;
  background:#fff;
  color:#123;
  font:inherit;
  outline:none
}
.contact-form-card form textarea{min-height:145px;resize:vertical}
.contact-form-card form input:focus,
.contact-form-card form textarea:focus{
  border-color:#0b83c6;
  box-shadow:0 0 0 3px rgba(11,131,198,.10)
}
.contact-form-card form button{
  justify-self:start;
  border:0;
  border-radius:10px;
  padding:12px 20px;
  background:#0878bd;
  color:#fff;
  font-weight:800;
  font-size:15px;
  cursor:pointer
}
.contact-form-card form button:hover{filter:brightness(.94)}
@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr;gap:20px}
  .contact-info-card,.contact-form-card{padding:22px}
  .contact-form-card form{grid-template-columns:1fr}
  .contact-form-card form>*{grid-column:1/-1!important}
}


/* V10.5.2.11 - Full-width contact form + social buttons */
.contact-form-card form label,
.contact-form-card form input:not([type="hidden"]),
.contact-form-card form textarea,
.contact-form-card form button{
  grid-column:1/-1 !important;
}
.contact-form-card form{
  grid-template-columns:1fr;
}
.contact-social{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #e7edf3;
}
.contact-social>strong{
  display:block;
  margin-bottom:12px;
  color:#0a3556;
}
.contact-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.contact-social .social-btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid #d6e6f1;
  border-radius:12px;
  background:#f7fbfe;
  color:#0b5f91;
  text-decoration:none;
  font-weight:700;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.contact-social .social-btn:hover{
  text-decoration:none;
  transform:translateY(-1px);
  border-color:#a9d2e9;
  box-shadow:0 7px 18px rgba(8,72,111,.09);
}
.social-icon{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:8px;
  background:#e8f5fc;
  color:#0878bd;
  font-size:19px;
  font-weight:800;
  line-height:1;
}
.social-icon-f{font-family:Arial,sans-serif;font-size:18px}


/* V10.5.2.12 - Contact final visual pass */
.contact-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  width:100%;
  gap:34px;
}
.contact-info-card,.contact-form-card{
  width:100%;
  box-sizing:border-box;
  min-height:100%;
}
.contact-item{
  margin:0 0 10px;
  padding:16px;
  border:1px solid #e0eaf2;
  border-radius:13px;
  background:#fbfdff;
}
.contact-item:last-of-type{border-bottom:1px solid #e0eaf2}
.contact-item p{flex:1}
.contact-item a{
  display:inline-flex;
  margin-top:4px;
  padding:5px 0;
  font-weight:750;
  font-size:15px;
  color:#076da8;
}
.contact-item:hover{
  border-color:#bddbeb;
  background:#f7fbfe;
}
.contact-alert{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 20px;
  padding:14px 16px;
  border-radius:13px;
  border:1px solid;
  line-height:1.35;
}
.contact-alert-icon{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:50%;
  font-size:18px;font-weight:900;
}
.contact-alert strong,.contact-alert span{display:block}
.contact-alert strong{margin-bottom:2px}
.contact-alert-success{
  background:#f0fbf5;
  border-color:#bfe8d0;
  color:#17653b;
}
.contact-alert-success .contact-alert-icon{
  background:#d9f3e4;color:#17653b;
}
.contact-alert-error{
  background:#fff5f3;
  border-color:#f1c9c1;
  color:#8a3427;
}
.contact-alert-error .contact-alert-icon{
  background:#f8ddd7;color:#8a3427;
}
@media(min-width:1000px){
  .contact-grid{margin-left:0;margin-right:0}
}
@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr}
}
