@charset "UTF-8";

.contact-hero {
  padding:140px 0 80px;
  background:linear-gradient(135deg, var(--bg-dark) 0%, #153d54 100%);
  text-align:center;
}

.contact-hero h1 {
  font-size:2.5rem;
  color:var(--white);
  margin-bottom:15px;
}

.contact-hero p {
  font-size:1.1rem;
  color:var(--primary-light);
}

/* Contact Cards */
.contact-cards { padding:60px 0; background:var(--bg-light); }

.contact-cards-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}

.contact-card {
  background:var(--white);
  border-radius:16px;
  padding:35px 25px;
  text-align:center;
  box-shadow:0 4px 15px var(--shadow);
  transition:all 0.3s;
}

.contact-card:hover {
  transform:translateY(-5px);
  box-shadow:0 8px 25px var(--shadow-hover);
}

.contact-icon {
  width:60px; height:60px;
  background:var(--primary-light);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px;
  font-size:1.5rem;
  color:var(--primary-dark);
}

.contact-card h3 {
  font-size:1.05rem;
  color:var(--bg-dark);
  margin-bottom:10px;
}

.contact-card p {
  font-size:0.9rem;
  color:var(--text-mid);
  line-height:1.6;
}

/* Contact Main */
.contact-main { padding:80px 0; background:var(--white); }

.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}

.contact-form h2 {
  font-size:1.6rem;
  color:var(--bg-dark);
  margin-bottom:25px;
}

.form-group { margin-bottom:20px; }

.form-group label {
  display:block;
  font-size:0.9rem;
  color:var(--text-dark);
  margin-bottom:8px;
  font-weight:600;
}

.form-group input,
.form-group textarea,
.form-group select {
  width:100%;
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:8px;
  font-size:0.95rem;
  font-family:inherit;
  color:var(--text-dark);
  transition:border-color 0.3s, box-shadow 0.3s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(41,182,246,0.15);
}

.form-group textarea { resize:vertical; min-height:120px; }

.contact-info-side h2 {
  font-size:1.6rem;
  color:var(--bg-dark);
  margin-bottom:25px;
}

.contact-info-side > p {
  font-size:0.95rem;
  color:var(--text-mid);
  line-height:1.9;
  margin-bottom:25px;
}

.info-list { list-style:none; }

.info-list li {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid var(--border);
}

.info-list li:last-child { border-bottom:none; }

.info-list .icon {
  width:45px; height:45px;
  background:var(--primary-light);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  color:var(--primary-dark);
  flex-shrink:0;
}

.info-list h4 {
  font-size:1rem;
  color:var(--bg-dark);
  margin-bottom:3px;
}

.info-list p {
  font-size:0.85rem;
  color:var(--text-mid);
}

/* Map */
.map-section { padding:0 0 80px; }

.map-placeholder {
  height:400px;
  background:linear-gradient(135deg, var(--bg-light) 0%, var(--border) 100%);
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:15px;
  color:var(--text-mid);
}

.map-placeholder .icon { font-size:3rem; color:var(--primary); }

/* Service Time */
.service-time {
  background:var(--bg-light);
  border-radius:12px;
  padding:25px;
  margin-top:25px;
}

.service-time h4 {
  font-size:1rem;
  color:var(--bg-dark);
  margin-bottom:12px;
}

.service-time p {
  font-size:0.85rem;
  color:var(--text-mid);
  line-height:1.8;
}

/* Responsive */
@media (max-width:1024px) {
  .contact-cards-grid { grid-template-columns:repeat(2, 1fr); }
  .contact-grid { grid-template-columns:1fr; }
}

@media (max-width:768px) {
  .contact-hero h1 { font-size:1.8rem; }
  .contact-cards-grid { grid-template-columns:1fr; }
}
