/* =====================================================================
   CONTACT PAGE
   ===================================================================== */

.contact-banner__grid {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap: 24px;
  align-items: stretch;
}

.contact-info__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 40px;
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
}

.home-contact__row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.home-contact__row--full,
.home-contact__row--inline { grid-template-columns: minmax(0,1fr); }

/* Cards in contact banner/info get dark surface */
.contact-banner__grid > *,
.contact-info__grid > *,
.contact-form__wrapper,
.contact-info__item {
  background: linear-gradient(180deg,#151820 0%,#101218 100%);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-card);
}

body.page-template-page-contact,
body.page-template-page-contact .site-main,
body.page-template-page-contact section { background: #0d0f14; color: var(--text); }

@media (max-width:991px) {
  .home-contact__row { grid-template-columns: minmax(0,1fr); }
}

/* iz-css-clean contact-mobile: stack the 3-col info grid + tame the hero on phones */
@media (max-width: 820px){
  .contact-info__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  .contact-hero{padding:96px 0 72px;}
  .contact-hero__title{font-size:34px;margin-bottom:22px;}
}
@media (max-width: 560px){
  .contact-info__grid{grid-template-columns:1fr;}
  .contact-hero{padding:80px 0 60px;}
  .contact-hero__title{font-size:26px;letter-spacing:.06em;margin-bottom:18px;}
  .contact-hero__buttons{flex-wrap:wrap;gap:12px;justify-content:center;}
  .contact-hero__buttons .contact-btn{flex:1 1 auto;text-align:center;}
}
