/* ===== Contact Page ===== */
.page-hero-sub { color:rgba(255,255,255,.75); font-size:1.05rem; }

/* Info Cards */
.info-cards-section { background:#fff; }
.info-card {
  background:var(--c-bg-soft);
  border:1px solid var(--c-border-2);
  border-radius:var(--r-lg);
  padding:1.8rem 1.4rem;
  text-align:center;
  height:100%;
  transition:var(--t);
}
.info-card:hover { box-shadow:var(--shadow-md); border-color:var(--c-primary); transform:translateY(-4px); }
.info-icon {
  width:56px; height:56px; border-radius:50%;
  background:var(--c-primary-50);
  color:var(--c-primary);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem;
  margin:0 auto .9rem;
  transition:var(--t);
}
.info-card:hover .info-icon { background:var(--c-primary); color:#fff; }
.info-card h4 { font-size:.95rem; font-weight:700; color:var(--c-dark); margin-bottom:.35rem; }
.info-card p, .info-card a { color:var(--c-text-light); font-size:.88rem; line-height:1.7; margin:0; }
.info-card a:hover { color:var(--c-primary); }

/* Sidebar */
.contact-sidebar {
  background:var(--c-dark);
  border-radius:var(--r-lg);
  padding:2rem 1.6rem;
  height:100%;
}
.contact-sidebar > h3 { color:#fff; font-size:1.3rem; font-weight:700; margin-bottom:.3rem; }
.contact-sidebar > p  { color:rgba(255,255,255,.6); font-size:.9rem; margin-bottom:1.5rem; }

.direct-channels { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.5rem; }
.direct-item {
  display:flex;
  align-items:center;
  gap:.85rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);
  padding:.85rem 1rem;
  color:#fff;
  transition:var(--t);
}
.direct-item:hover { transform:translateX(-4px); color:#fff; }
.direct-item.wa:hover  { background:rgba(37,211,102,.2); border-color:rgba(37,211,102,.4); }
.direct-item.fb:hover  { background:rgba(24,119,242,.2); border-color:rgba(24,119,242,.4); }
.direct-item.tk:hover  { background:rgba(255,255,255,.12); }
.direct-item.ph:hover  { background:rgba(0,174,239,.2); border-color:rgba(0,174,239,.4); }

.direct-item > i:first-child { font-size:1.3rem; min-width:22px; }
.direct-item.wa > i:first-child { color:#25D366; }
.direct-item.fb > i:first-child { color:#1877F2; }
.direct-item.tk > i:first-child { color:#fff; }
.direct-item.ph > i:first-child { color:var(--c-primary-light); }

.direct-item div { flex:1; }
.direct-item strong { display:block; font-size:.9rem; font-weight:700; }
.direct-item span   { font-size:.78rem; color:rgba(255,255,255,.6); }
.arrow-icon { font-size:.8rem; color:rgba(255,255,255,.3); }

.working-hours {
  background:rgba(255,255,255,.05);
  border-radius:var(--r-md);
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.08);
}
.working-hours h4 {
  color:#fff; font-size:.95rem; font-weight:700;
  margin-bottom:.6rem;
  display:flex; align-items:center; gap:.5rem;
}
.working-hours h4 i { color:var(--c-accent); }
.working-hours p { color:rgba(255,255,255,.65); font-size:.85rem; margin:.2rem 0; }

/* Form */
.contact-form-wrap {
  background:#fff;
  border-radius:var(--r-lg);
  padding:2.2rem;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--c-border-2);
  height:100%;
}
.contact-form-wrap h3 { font-size:1.4rem; font-weight:700; color:var(--c-dark); margin-bottom:.2rem; }
.contact-form-wrap > p { color:var(--c-text-light); font-size:.9rem; }

.form-label { font-weight:600; color:var(--c-dark); font-size:.88rem; margin-bottom:.3rem; }
.req { color:var(--c-red); }

.form-control, .form-select {
  border:1.5px solid var(--c-border-2);
  border-radius:var(--r-sm);
  padding:.7rem .9rem;
  font-family:var(--font);
  font-size:.93rem;
  transition:var(--t);
}
.form-control:focus, .form-select:focus {
  border-color:var(--c-primary);
  box-shadow:0 0 0 4px rgba(0,174,239,.1);
}
.form-control::placeholder { color:var(--c-text-muted); }

.submit-btn { font-size:1rem; padding:.85rem 1.5rem; }

.form-result {
  padding:.9rem 1.2rem;
  border-radius:var(--r-sm);
  font-weight:600;
  font-size:.9rem;
  text-align:center;
}
.form-result.success {
  background:rgba(46,163,107,.1);
  color:var(--c-success);
  border:1px solid rgba(46,163,107,.2);
}
.form-result.error {
  background:rgba(224,82,77,.1);
  color:var(--c-error);
  border:1px solid rgba(224,82,77,.2);
}

/* Map */
.map-section { padding:0 0 4rem; background:var(--c-bg-soft); }
.map-wrap {
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
  border:1px solid var(--c-border-2);
}

@media(max-width:991px){
  .contact-sidebar { margin-bottom:1.5rem; }
}
