.contact-layout { 
  display: grid; 
  grid-template-columns: 1fr 1.2fr; 
  gap: 5rem; 
  align-items: start; 
}

@media(max-width:900px) { 
  .contact-layout { grid-template-columns: 1fr; gap:3rem; } 
}

.contact-info-item { 
  display: flex; 
  gap: 1.25rem; 
  align-items: flex-start; 
  padding: 1.5rem; 
  background: var(--color-bg-3); 
  border: 1px solid var(--color-border); 
  border-radius: 12px; 
  margin-bottom: 1rem; 
  transition: all .3s ease; 
}

.contact-info-item:hover { 
  border-color: var(--color-primary-light); 
  background: var(--color-surface); 
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.contact-info-icon { 
  width: 44px; 
  height: 44px; 
  background: rgba(242,138,33,.1); 
  border-radius: 50%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  color: var(--color-primary); 
  font-size: 1.1rem; 
  flex-shrink: 0; 
}

.contact-info-label { 
  font-size: .72rem; 
  letter-spacing: .2em; 
  text-transform: uppercase; 
  color: var(--color-text-muted); 
  margin-bottom: .25rem; 
}

.contact-info-value { 
  font-size: .95rem; 
  color: var(--color-text); 
  font-weight: 500; 
}

.wa-big-btn { 
  display: flex; 
  align-items: center; 
  gap: 1.5rem; 
  background: linear-gradient(135deg, var(--color-primary), #c97018); 
  color: #fff; 
  padding: 2rem 2.5rem; 
  border-radius: 16px; 
  font-family: 'Playfair Display', Georgia, serif; 
  font-size: 1.35rem; 
  font-weight: 600; 
  transition: all .35s ease; 
  box-shadow: 0 8px 30px rgba(242,138,33,.2); 
  margin-bottom: 2.5rem; 
  text-decoration: none; 
}

.wa-big-btn:hover { 
  transform: translateY(-4px); 
  box-shadow: 0 16px 50px rgba(242,138,33,.3); 
}

.wa-big-icon { 
  width: 60px; 
  height: 60px; 
  background: rgba(255,255,255,.15); 
  border-radius: 50%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-size: 1.8rem; 
  flex-shrink: 0; 
}

.service-option { 
  display: flex; 
  align-items: center; 
  gap: 1rem; 
  padding: 1.25rem 1.5rem; 
  border: 1px solid var(--color-border); 
  border-radius: 10px; 
  margin-bottom: .75rem; 
  cursor: pointer; 
  transition: all .3s ease; 
  background: var(--color-bg-3); 
}

.service-option:hover { 
  border-color: var(--color-primary-light); 
  background: var(--color-surface); 
}

.service-option input[type=radio] { 
  accent-color: var(--color-primary); 
  width: 18px; 
  height: 18px; 
  flex-shrink: 0; 
}

.service-option-label { 
  font-size: .9rem; 
  color: var(--color-text); 
  cursor: pointer; 
}

/* FAQ details styles */
.faq-details {
  background: var(--color-bg-3);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all .3s ease;
  margin-bottom: 1rem;
}

.faq-details:hover {
  border-color: var(--color-primary-light);
  background: var(--color-surface);
}

.faq-summary {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.1rem;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}

.faq-summary::-webkit-details-marker {
  display: none;
}

.faq-answer {
  margin-top: 1rem;
  font-size: .9rem;
  color: var(--color-text-muted);
  line-height: 1.7;
}

.form-success { 
  display: none; 
  text-align: center; 
  padding: 3rem 2rem; 
}

.form-success.show { 
  display: block; 
  animation: fadeIn .5s ease; 
}

@keyframes fadeIn { 
  from { opacity:0; transform:translateY(20px) } 
  to { opacity:1; transform:translateY(0) } 
}
