/* ============================================
   PACKISTRY — CONTACT PAGE STYLES
   ============================================ */

/* ---- Contact Layout ---- */
.contact-section { background: var(--bg-white); }

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--sp-xl);
  align-items: start;
}

/* ---- Contact Form Card ---- */
.contact-form-card {
  background: var(--bg-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--sp-xl);
  box-shadow: var(--shadow-sm);
}

.contact-form-card h3 {
  font-size: var(--fs-xl);
  margin-bottom: 6px;
}

.contact-form-card .sub {
  font-size: var(--fs-sm);
  color: var(--text-muted);
  margin-bottom: var(--sp-lg);
}

/* ---- Info Cards (right side) ---- */
.contact-info-stack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}

.contact-info-card {
  background: var(--bg-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--sp-md);
  display: flex;
  align-items: flex-start;
  gap: var(--sp-md);
  transition: var(--transition);
}

.contact-info-card:hover {
  border-color: var(--color-gold-light);
  box-shadow: var(--shadow-sm);
}

.contact-info-card .ci-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: var(--bg-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-info-card .ci-icon svg {
  width: 20px;
  height: 20px;
  color: var(--color-gold);
}

.contact-info-card .ci-body h5 {
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.contact-info-card .ci-body p {
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}

.contact-info-card .ci-body span {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}

/* Beat My Quote card variant */
.contact-info-card.beat {
  background: var(--bg-dark);
  border-color: rgba(201,168,76,0.25);
  flex-direction: column;
  margin-top: var(--sp-xs);
}

.contact-info-card.beat .ci-icon {
  background: rgba(201,168,76,0.15);
}

.contact-info-card.beat h5 { color: var(--color-gold); }
.contact-info-card.beat p  { color: var(--text-on-dark-muted); margin-bottom: var(--sp-sm); }

/* ---- Map Section ---- */
.map-section {
  background: var(--bg-light);
  padding: var(--sp-xl) 0;
}

.map-placeholder {
  background: var(--color-gray-200);
  border-radius: var(--radius-lg);
  height: 340px;
  overflow: hidden;
  border: 1px solid var(--color-gray-300);
}

.map-placeholder iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---- FAQ Section ---- */
.faq-section { background: var(--bg-white); }

@media (max-width: 767px) {
  .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .contact-form-card { padding: 20px 16px; }
  .map-placeholder { height: 240px; }
}
