/* =============================================================================
   BLH Contact Page
============================================================================= */

/* ---------------------------------------------------------------------------
   0) BRAND / VARIABLES
--------------------------------------------------------------------------- */
:root{
  --blh-blue:#0A77E8;
  --blh-green:#27C07D;

  --blh-accent: var(--blh-blue);
  --blh-accent2: var(--blh-green);

  --blh-page:#f3f5f8;
  --blh-panel:#ffffff;
  --blh-soft:#eef2f6;

  --blh-text:#101828;
  --blh-muted:#667085;
}

/* ---------------------------------------------------------------------------
   1) BASE
--------------------------------------------------------------------------- */
.blh-contact{
  background:var(--blh-page);
  color:var(--blh-text);
}

.blh-container{
  width:min(1100px,92%);
  margin:0 auto;
}

/* Section spacing */
.blh-top{ padding:70px 0 40px; }
.blh-map{ padding:10px 0 60px; }
.blh-mid{ padding:40px 0 70px; }

/* Shared card style */
.blh-info-card,
.blh-box,
.blh-map-wrap{
  background:var(--blh-panel);
  border-radius:16px;
  box-shadow:0 14px 36px rgba(16,24,40,.08);
}

/* ---------------------------------------------------------------------------
   2) TOP : INFO CARDS
--------------------------------------------------------------------------- */
.blh-info-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.blh-info-card{
  padding:34px 24px;
  text-align:center;
}

.blh-info-card.blh-card-link{
  text-decoration:none;
  color:inherit;
}

.blh-info-icon{
  width:90px;
  height:90px;
  border-radius:50%;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  background:rgba(10,119,232,.12);
  color:var(--blh-accent);
  transition:transform .25s ease;
}

.blh-info-icon i{
  font-size:32px;
}

.blh-info-card h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:600;
}

.blh-info-title{
  font-weight:600;
  font-size:13px;
  margin:0 0 6px;
}

.blh-info-card p{
  margin:4px 0;
  font-size:14px;
  color:var(--blh-muted);
  line-height:1.6;
}

.blh-info-card:hover .blh-info-icon{
  transform:translateY(-4px);
}

/* ---------------------------------------------------------------------------
   3) MAP : LOCATION + EMBED
--------------------------------------------------------------------------- */
.blh-map-wrap{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  overflow:hidden;
}

.blh-map-info{
  padding:28px;
}

.blh-map-info h2{
  margin:0 0 10px;
  font-size:22px;
}

.blh-muted{
  color:var(--blh-muted);
  line-height:1.6;
}

.blh-info-list{
  margin-top:18px;
  display:grid;
  gap:14px;
}

.blh-info-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.blh-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  margin-top:6px;
  background:linear-gradient(135deg,var(--blh-accent),var(--blh-accent2));
}

.blh-inline-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dotted rgba(16,24,40,.35);
}

.blh-inline-link:hover{
  border-bottom-color:rgba(10,119,232,.7);
}

.blh-inline-text{
  border-bottom:1px dotted rgba(16,24,40,.35);
}

/* Map */
.blh-map-embed{
  min-height:340px;
  background:var(--blh-soft);
}

.blh-map-embed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* ---------------------------------------------------------------------------
   4) MID : FORM + IMAGE
--------------------------------------------------------------------------- */

.blh-two{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
}

.blh-box{
  padding:26px;
  display:flex;
  flex-direction:column;
}

.blh-label{
  font-size:12px;
  letter-spacing:.12em;
  color:var(--blh-muted);
  margin:0 0 12px;
}

.blh-enquiry-title{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.2;
  font-weight:700;
}

.blh-form{
  display:grid;
  gap:14px;
}

.blh-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.blh-form input,
.blh-form select,
.blh-form textarea{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid rgba(16,24,40,.14);
  background:#fff;
  outline:none;
  font-size:14px;
}

.blh-form textarea{
  min-height:140px;
  resize:vertical;
}

.blh-form input:focus,
.blh-form select:focus,
.blh-form textarea:focus{
  border-color:var(--blh-accent);
  box-shadow:0 0 0 3px rgba(10,119,232,.14);
}

.blh-form button{
  margin-top:6px;
  padding:14px 18px;
  border:none;
  border-radius:10px;
  cursor:pointer;
  font-size:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--blh-accent),var(--blh-accent2));
}

/* Image box */

.blh-img{
  width:100%;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  background:var(--blh-soft);
}

.blh-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ---------------------------------------------------------------------------
   5) RESPONSIVE
--------------------------------------------------------------------------- */

@media (max-width:900px){

  .blh-info-cards,
  .blh-two{
    grid-template-columns:1fr;
  }

  .blh-row{
    grid-template-columns:1fr;
  }

  .blh-map-wrap{
    grid-template-columns:1fr;
  }

  .blh-map-embed{
    min-height:260px;
  }

  .blh-enquiry-title{
    font-size:24px;
  }

  .blh-img{
    height:auto;
    min-height:260px;
  }

  .blh-top{ padding:45px 0 25px; }
  .blh-mid{ padding:25px 0 55px; }
  .blh-map{ padding:10px 0 55px; }

}

.blh-form-alert{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:10px;
  font-size:14px;
  line-height:1.5;
}

.blh-form-success{
  background:#ecfdf3;
  color:#027a48;
  border:1px solid #abefc6;
}

.blh-form-error{
  background:#fef3f2;
  color:#b42318;
  border:1px solid #fecdca;
}