/* Contact Page Styles */

.contact-hero { padding: 40px 0; background: #fafafa; border-bottom: 1px solid #eee; }
.contact-hero h1 { margin-bottom: 8px; }

.contact-section { padding: 48px 0; }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.contact-card { background: #fff; border: 1px solid #eee; border-radius: 10px; padding: 20px; box-shadow: 0 6px 18px rgba(0,0,0,0.05); }
.contact-card h2 { margin-bottom: 10px; }
.contact-card p { margin-bottom: 8px; }
.contact-card a { color: var(--primary-color, #2b5cff); }

/* Forms */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.form-group { display: flex; flex-direction: column; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { font-size: 0.9rem; margin-bottom: 6px; color: #444; }
.form-group input,
.form-group textarea { padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 1rem; }
.form-group input:focus,
.form-group textarea:focus { outline: none; border-color: var(--primary-color, #2b5cff); box-shadow: 0 0 0 3px rgba(43,92,255,0.12); }

.contact-form .btn,
.subscribe-form .btn { margin-top: 8px; }

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

@media (max-width: 640px) {
  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}