/* =========================================================
   FINAL CONTACT EXPANSION FIX
   Fixes old .contact-section grid rule from style.css.
   Only affects the last two contact sections.
   ========================================================= */

#contact.contact-section{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  gap:0 !important;
  align-items:initial !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#contact.contact-section > .container{
  display:block !important;
  width:min(1200px,calc(100% - 40px)) !important;
  max-width:1200px !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:0 !important;
}

/* BOTH LAST SECTIONS: real full-width panels */
#contact .contact-details-block,
#contact .contact-message-block{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

#contact .contact-details-block{
  padding:30px !important;
  border:1px solid rgba(111,190,255,.14) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,rgba(7,27,55,.58),rgba(4,16,35,.42)) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.10) !important;
}

#contact .contact-message-block{
  padding:30px !important;
  border:1px solid rgba(111,190,255,.14) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,rgba(7,27,55,.58),rgba(4,16,35,.42)) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.10) !important;
}

/* headings span panel width instead of looking narrow */
#contact .contact-details-block > .section-heading,
#contact .contact-message-block > .section-heading{
  width:100% !important;
  max-width:none !important;
  margin:0 0 28px !important;
}

#contact .contact-details-block > .section-heading p,
#contact .contact-message-block > .section-heading p{
  max-width:760px !important;
}

/* CONTACT DETAILS — equal row and equal heights */
#contact .contact-details-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  gap:16px !important;
  align-items:stretch !important;
}

#contact .contact-detail-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:176px !important;
  height:100% !important;
  margin:0 !important;
}

/* divider sits between two 100% panels */
#contact .contact-section-divider{
  width:100% !important;
  max-width:none !important;
  margin:34px 0 !important;
}

/* SEND MESSAGE — exact 40 / 60 full-width layout */
#contact .contact-message-layout{
  display:grid !important;
  grid-template-columns:minmax(0,40fr) minmax(0,60fr) !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  gap:18px !important;
  align-items:stretch !important;
}

#contact .contact-envelope-card,
#contact .contact-form-panel{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  min-height:520px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

#contact .contact-form-panel{
  display:flex !important;
  align-items:center !important;
}

#contact .contact-form-panel .contact-form{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* TABLET */
@media(max-width:991px){
  #contact.contact-section > .container{
    width:calc(100% - 32px) !important;
  }

  #contact .contact-details-block,
  #contact .contact-message-block{
    padding:24px !important;
  }

  #contact .contact-details-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #contact .contact-message-layout{
    grid-template-columns:1fr !important;
  }

  #contact .contact-envelope-card,
  #contact .contact-form-panel{
    min-height:auto !important;
  }
}

/* MOBILE */
@media(max-width:620px){
  #contact.contact-section > .container{
    width:calc(100% - 20px) !important;
  }

  #contact .contact-details-block,
  #contact .contact-message-block{
    padding:18px !important;
    border-radius:17px !important;
  }

  #contact .contact-details-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #contact .contact-detail-card{
    min-height:auto !important;
  }

  #contact .contact-message-layout{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #contact .contact-form-panel .contact-form{
    grid-template-columns:1fr !important;
  }

  #contact .contact-form-panel .full-field{
    grid-column:auto !important;
  }
}
