/* ============================================
   CONTACT PAGE
============================================ */
.contact_section { 
   background: var(--theme-white); 
}

.contact-wrapper { 
   max-width: 1200px; 
   margin: 0 auto; 
}

.contact-info-cards { 
   display: grid; 
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
   gap: 20px; 
   margin-bottom: 50px; 
}

.contact-info-card { 
   background: var(--theme-color); 
   border: 1px solid var(--border); 
   border-radius: var(--radius); 
   padding: 15px 24px; 
   display: flex; 
   align-items: center; 
   gap: 15px; 
   transition: var(--transition); 
}

.contact-info-card:hover { 
   transform: translateY(-5px); 
   box-shadow: var(--shadow-lg); 
   border-color: rgba(201, 169, 97, 0.3); 
}

.contact-info-icon { 
   width: 50px; 
   height: 50px; 
   min-width: 50px; 
   background: var(--primary-gradient); 
   border-radius: var(--radius-sm); 
   display: flex; 
   align-items: center; 
   justify-content: center; 
   color: var(--secondary-color); 
   font-size: 1.5rem; 
   transition: var(--transition); 
}

.contact-info-card:hover .contact-info-icon { 
   transform: rotate(10deg) scale(1.1); 
}

.contact-info-content h4 { 
   font-family: var(--font-display); 
   font-size: 1.1rem; 
   font-weight: 700; 
   color: var(--secondary-color); 
   margin-bottom: 6px; 
}

.contact-info-content p { 
   color: var(--text); 
   margin: 0 0 4px; 
   font-size: 0.95rem; 
}

.contact-info-content p a { 
   color: var(--primary); 
   transition: var(--transition); 
}

.contact-info-content p a:hover { 
   color: var(--primary-hover); 
}

.contact-info-content small { 
   color: var(--text-muted); 
   font-size: 0.8rem; 
}

.contact-form-map { 
   display: grid; 
   grid-template-columns: 1fr 1fr; 
   gap: 40px; 
}

.contact-form-wrapper, 
.contact-map-wrapper { 
   background: var(--theme-color); 
   border: 1px solid var(--border); 
   border-radius: var(--radius); 
   padding: 40px 30px; 
}

.contact-form-wrapper h3, 
.contact-map-wrapper h3 { 
   font-family: var(--font-display); 
   font-size: 1.3rem; 
   font-weight: 700; 
   color: var(--secondary-color); 
   margin-bottom: 24px; 
}

/* --- Form Inputs --- */
.contact-form .form-row { 
   display: grid; 
   grid-template-columns: 1fr 1fr; 
   gap: 16px; 
   margin-bottom: 16px; 
}

.contact-form .form-group { 
   margin-bottom: 16px; 
}

.contact-form input, 
.contact-form textarea { 
   width: 100%; 
   padding: 14px 18px; 
   border: 1px solid var(--border); 
   border-radius: var(--radius-sm); 
   background: var(--theme-white); 
   font-family: var(--font-body); 
   font-size: 0.9rem; 
   color: var(--text); 
   transition: var(--transition); 
}


.contact-form input:focus, 
.contact-form textarea:focus { 
   outline: none; 
   border-color: var(--primary); 
   box-shadow: 0 0 0 3px var(--primary-light); 
}

.contact-form textarea { 
   resize: vertical; 
   min-height: 120px; 
}


.map-container { 
   width: 100%; 
   height: 400px; 
   border-radius: var(--radius-sm); 
   overflow: hidden; 
   border: 1px solid var(--border); 
}

.map-container iframe { 
   width: 100%; 
   height: 100%; 
   display: block;
}


@media (max-width: 991px) {
   .contact-form-map {
      grid-template-columns: 1fr;
      gap: 30px;
   }
}

@media (max-width: 576px) {
   .contact-form .form-row {
      grid-template-columns: 1fr;
      gap: 0;
   }
   
   .contact-info-card {
      padding: 20px;
      gap: 15px;
   }
   
   .contact-info-icon {
      width: 50px;
      height: 50px;
      min-width: 50px;
      font-size: 1.2rem;
   }
}