/* ===== MOBILE OPTIMIZATIONS (Responsive Mobile Improvements) ===== */

/* Form Cards & Mobile Form Styling */
.form-card {
  padding: var(--space-32);
}

@media (max-width: 768px) {
  .form-card {
    padding: var(--space-24);
  }
}

@media (max-width: 480px) {
  .form-card {
    padding: var(--space-20);
  }
}

/* Form Groups - Better Mobile Spacing */
.glca-form .form-group {
  margin-bottom: var(--space-24);
}

@media (max-width: 480px) {
  .glca-form .form-group {
    margin-bottom: var(--space-20);
  }
}

.glca-form label {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--space-12);
}

@media (max-width: 480px) {
  .glca-form label {
    font-size: 1.125rem;
    margin-bottom: var(--space-12);
  }
}

/* Full Width Inputs on Mobile */
.glca-form input,
.glca-form textarea {
  width: 100%;
  box-sizing: border-box;
}

/* Error Messages */
.error-msg {
  font-size: 0.875rem;
  color: #c02e2e;
  margin-top: var(--space-4);
  display: block;
}

@media (max-width: 480px) {
  .error-msg {
    font-size: 1rem;
  }
}

/* Better Touch Targets on Mobile */
@media (max-width: 480px) {
  .btn {
    min-height: 48px;
    padding: var(--space-16) var(--space-24);
    font-size: 1rem;
  }
  
  input,
  textarea,
  select {
    min-height: 48px;
    font-size: 16px;
    padding: var(--space-12) var(--space-16);
  }
  
  textarea {
    min-height: 120px;
  }
}

/* Contact Info on Mobile */
@media (max-width: 480px) {
  .contact-info .info-block {
    margin-bottom: var(--space-24);
  }
  
  .contact-info .info-block strong {
    display: block;
    margin-bottom: var(--space-8);
  }
  
  .contact-info .social-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .contact-info .social-links a {
    display: block;
    padding: var(--space-12) 0;
    font-size: 1.1rem;
    margin-right: 0;
  }
  
  .social-icon {
    padding: var(--space-12);
    min-width: 48px;
    min-height: 48px;
  }
}

/* Styled List Mobile */
@media (max-width: 480px) {
  .styled-list {
    gap: var(--space-16);
  }
  
  .styled-list li {
    font-size: 1.05rem;
    padding-left: var(--space-20);
  }
}

/* Map Container Mobile */
@media (max-width: 480px) {
  .map-container iframe {
    min-height: 250px !important;
  }
}

/* Better Sections Padding on Mobile */
@media (max-width: 480px) {
  .section {
    padding: var(--space-24);
  }
  
  .container {
    padding-left: var(--space-16);
    padding-right: var(--space-16);
  }
  
  h1 {
    font-size: 1.75rem;
    margin-bottom: var(--space-20);
  }
  
  h2 {
    font-size: 1.5rem;
  }
  
  h3 {
    font-size: 1.25rem;
  }
}
