.page-contact {
  font-family: 'Arial', sans-serif;
  color: #F2FFF6; /* Text Main */
  background-color: #08160F; /* Background */
  line-height: 1.6;
}

.page-contact__hero-section {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  padding-top: 10px; /* Small top padding, body handles --header-offset */
  text-align: center;
  overflow: hidden;
}

.page-contact__hero-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
  border-radius: 10px;
}

.page-contact__hero-content {
  max-width: 900px;
  margin: 0 auto;
  position: relative; /* Ensure content is above any potential background effect */
  z-index: 1;
}

.page-contact__main-title {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: bold;
  color: #F2C14E; /* Gold */
  margin-bottom: 15px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.page-contact__hero-description {
  font-size: 1.1rem;
  color: #A7D9B8; /* Text Secondary */
  margin-bottom: 30px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.page-contact__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.page-contact__contact-channels,
.page-contact__contact-form-section,
.page-contact__faq-section,
.page-contact__location-social-section,
.page-contact__cta-section {
  padding: 60px 0;
  text-align: center;
}

.page-contact__section-title {
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: #F2C14E; /* Gold */
  margin-bottom: 20px;
  font-weight: bold;
}

.page-contact__section-description {
  font-size: 1.1rem;
  color: #A7D9B8; /* Text Secondary */
  max-width: 800px;
  margin: 0 auto 40px;
}

.page-contact__channel-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.page-contact__card {
  background-color: #11271B; /* Card BG */
  border: 1px solid #2E7A4E; /* Border */
  border-radius: 10px;
  padding: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-contact__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(17, 168, 78, 0.3);
}

.page-contact__card-icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  object-fit: contain;
  min-width: 200px; /* Enforce min size */
  min-height: 200px; /* Enforce min size */
}

.page-contact__card-title {
  font-size: 1.5rem;
  color: #F2FFF6; /* Text Main */
  margin-bottom: 15px;
}

.page-contact__card-text {
  font-size: 1rem;
  color: #A7D9B8; /* Text Secondary */
  margin-bottom: 25px;
  flex-grow: 1;
}

.page-contact__cta-button {
  display: inline-block;
  background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); /* Button */
  color: #ffffff;
  padding: 12px 25px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  transition: background 0.3s ease, transform 0.3s ease;
  border: none;
  cursor: pointer;
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
  word-wrap: break-word;
}

.page-contact__cta-button:hover {
  background: linear-gradient(180deg, #13994A 0%, #2AD16F 100%);
  transform: translateY(-2px);
}

.page-contact__form {
  background-color: #11271B; /* Card BG */
  border: 1px solid #2E7A4E; /* Border */
  border-radius: 10px;
  padding: 40px;
  max-width: 700px;
  margin: 40px auto 0;
  text-align: left;
}

.page-contact__form-group {
  margin-bottom: 20px;
}

.page-contact__form-label {
  display: block;
  font-size: 1.1rem;
  color: #F2FFF6; /* Text Main */
  margin-bottom: 8px;
}

.page-contact__form-input,
.page-contact__form-textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #2E7A4E; /* Border */
  border-radius: 5px;
  background-color: #08160F; /* Background */
  color: #F2FFF6; /* Text Main */
  font-size: 1rem;
  box-sizing: border-box;
}

.page-contact__form-input::placeholder,
.page-contact__form-textarea::placeholder {
  color: #A7D9B8; /* Text Secondary */
  opacity: 0.7;
}

.page-contact__form-textarea {
  resize: vertical;
  min-height: 120px;
}

.page-contact__submit-button {
  width: 100%;
  background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); /* Button */
  color: #ffffff;
  padding: 15px 30px;
  border-radius: 5px;
  border: none;
  font-weight: bold;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.page-contact__submit-button:hover {
  background: linear-gradient(180deg, #13994A 0%, #2AD16F 100%);
  transform: translateY(-2px);
}

.page-contact__faq-list {
  max-width: 800px;
  margin: 40px auto 0;
  text-align: left;
}

.page-contact__faq-item {
  background-color: #11271B; /* Card BG */
  border: 1px solid #2E7A4E; /* Border */
  border-radius: 8px;
  margin-bottom: 15px;
  overflow: hidden;
}

.page-contact__faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 25px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #F2FFF6; /* Text Main */
  cursor: pointer;
  user-select: none;
  background-color: #1E3A2A; /* Divider */
  transition: background-color 0.3s ease;
}

.page-contact__faq-question:hover {
  background-color: #0A4B2C; /* Deep Green */
}

.page-contact__faq-item[open] .page-contact__faq-question {
  background-color: #0A4B2C; /* Deep Green */
}

.page-contact__faq-toggle {
  font-size: 1.5rem;
  line-height: 1;
  color: #F2C14E; /* Gold */
  margin-left: 15px;
}

.page-contact__faq-item summary::-webkit-details-marker {
  display: none;
}

.page-contact__faq-item summary {
  list-style: none;
}

.page-contact__faq-answer {
  padding: 20px 25px;
  font-size: 1rem;
  color: #A7D9B8; /* Text Secondary */
  border-top: 1px solid #1E3A2A; /* Divider */
}

.page-contact__faq-answer p {
  margin: 0;
}

.page-contact__faq-answer a {
  color: #2AD16F;
  text-decoration: none;
}

.page-contact__faq-answer a:hover {
  text-decoration: underline;
}

.page-contact__location-social-section .page-contact__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  text-align: left;
}

.page-contact__location-info {
  padding-right: 30px;
  border-right: 1px solid #1E3A2A; /* Divider */
}

.page-contact__location-info .page-contact__section-title,
.page-contact__social-media .page-contact__section-title {
  text-align: left;
}

.page-contact__address,
.page-contact__working-hours {
  font-style: normal;
  font-size: 1rem;
  color: #A7D9B8; /* Text Secondary */
  margin-bottom: 20px;
}

.page-contact__address p {
  margin: 5px 0;
}

.page-contact__location-image {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin-top: 30px;
  object-fit: cover;
  min-width: 200px; /* Enforce min size */
  min-height: 200px; /* Enforce min size */
}

.page-contact__social-media {
  padding-left: 30px;
}

.page-contact__social-links {
  display: flex;
  gap: 20px;
  margin-top: 30px;
  justify-content: flex-start;
}

.page-contact__social-icon {
  display: block;
  width: 40px;
  height: 40px;
  background-color: #2E7A4E; /* Border */
  border-radius: 50%;
  transition: background-color 0.3s ease, transform 0.3s ease;
  position: relative;
  min-width: 40px; /* Prevent shrinking */
  min-height: 40px; /* Prevent shrinking */
}

.page-contact__social-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 100%;
}

.page-contact__social-icon--facebook::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23F2FFF6"><path d="M12 2C6.477 2 2 6.477 2 12c0 5.016 3.655 9.183 8.44 9.876V14.61h-2.95V11.18h2.95V8.56c0-2.923 1.777-4.52 4.38-4.52 1.258 0 2.34.093 2.65.134v3.06h-1.815c-1.428 0-1.7.678-1.7 1.67v2.14h3.415l-.55 3.43h-2.865v7.266C18.345 21.183 22 17.016 22 12c0-5.523-4.477-10-10-10z"/></svg>');
}

.page-contact__social-icon--twitter::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23F2FFF6"><path d="M22 4.02c-.724.322-1.49.53-2.296.628.835-.5 1.479-1.29 1.78-2.23.003.023.006.046.009.068-.88.52-1.854.898-2.883 1.102-1.784-1.9-4.89-1.9-6.674 0-1.12.982-1.802 2.37-1.802 3.864 0 1.25.137 2.46.398 3.59-.005.002-.01.004-.015.007-.06-.025-.12-.05-.18-.075-3.32-1.66-6.255-4.73-8.23-8.41-.03.05-.05.1-.08.15-.49.8-.752 1.73-.752 2.76 0 1.9.96 3.57 2.42 4.55-.658-.02-1.275-.2-1.812-.5v.06c0 1.83 1.303 3.35 3.03 3.69-.3.08-.61.12-.93.12-.227 0-.447-.02-.66-.06.48 1.5 1.87 2.59 3.52 2.62-1.303 1.02-2.95 1.63-4.74 1.63-.308 0-.612-.017-.91-.05 1.68 1.07 3.685 1.69 5.82 1.69 6.98 0 10.8-5.78 10.8-10.8 0-.16-.003-.32-.01-.48.74-.53 1.38-1.2 1.88-1.96z"/></svg>');
}

.page-contact__social-icon--telegram::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23F2FFF6"><path d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.49 8.65L9.66 14.8c-.59.39-.99.2-.99-.59V10.2c0-.52.28-.77.7-.63l6.53 2.37c.59.2.59.58 0 .78z"/></svg>');
}

.page-contact__social-icon:hover {
  background-color: #57E38D; /* Glow */
  transform: scale(1.1);
}

.page-contact__cta-section {
  background-color: #0A4B2C; /* Deep Green */
  padding: 80px 0;
}

.page-contact__cta-title {
  font-size: clamp(2.2rem, 4.5vw, 3rem);
  color: #F2C14E; /* Gold */
  margin-bottom: 20px;
}

.page-contact__cta-description {
  font-size: 1.1rem;
  color: #A7D9B8; /* Text Secondary */
  max-width: 800px;
  margin: 0 auto 40px;
}

.page-contact__cta-buttons-wrapper {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.page-contact__cta-button--primary {
  background: linear-gradient(180deg, #2AD16F 0%, #13994A 100%); /* Button */
  color: #ffffff;
}

.page-contact__cta-button--secondary {
  background: transparent;
  border: 2px solid #2AD16F;
  color: #2AD16F;
}

.page-contact__cta-button--secondary:hover {
  background: #2AD16F;
  color: #ffffff;
}

/* Responsive Styles */
@media (max-width: 1024px) {
  .page-contact__location-social-section .page-contact__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .page-contact__location-info {
    border-right: none;
    border-bottom: 1px solid #1E3A2A; /* Divider */
    padding-right: 0;
    padding-bottom: 40px;
    margin-bottom: 40px;
  }

  .page-contact__location-info .page-contact__section-title,
  .page-contact__social-media .page-contact__section-title {
    text-align: center;
  }

  .page-contact__social-media {
    padding-left: 0;
  }

  .page-contact__social-links {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .page-contact__hero-section,
  .page-contact__contact-channels,
  .page-contact__contact-form-section,
  .page-contact__faq-section,
  .page-contact__location-social-section,
  .page-contact__cta-section {
    padding: 40px 0;
  }

  .page-contact__container {
    padding: 0 15px;
  }

  .page-contact__main-title {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .page-contact__hero-description,
  .page-contact__section-description {
    font-size: 1rem;
  }

  .page-contact__channel-cards {
    grid-template-columns: 1fr;
  }

  .page-contact__card {
    padding: 25px;
  }

  .page-contact__form {
    padding: 30px;
  }

  .page-contact__faq-question {
    font-size: 1.1rem;
    padding: 15px 20px;
  }

  .page-contact__faq-answer {
    padding: 15px 20px;
    font-size: 0.95rem;
  }

  .page-contact__cta-button,
  .page-contact__submit-button {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 20px;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-wrap: break-word !important;
  }

  .page-contact__cta-buttons-wrapper {
    flex-direction: column;
    gap: 15px;
  }

  .page-contact img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  .page-contact__hero-image,
  .page-contact__card-icon,
  .page-contact__location-image {
    min-width: unset;
    min-height: unset;
    width: 100%;
    height: auto;
  }

  .page-contact__section,
  .page-contact__card,
  .page-contact__container,
  .page-contact__form,
  .page-contact__faq-list,
  .page-contact__location-info,
  .page-contact__social-media {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px;
    padding-right: 15px;
  }

  .page-contact__hero-section {
    padding-top: 10px !important;
  }
}

/* Ensure all content area images are at least 200x200px or larger */
.page-contact img:not(.page-contact__social-icon) {
  min-width: 200px;
  min-height: 200px;
}

/* Social icons are exceptions for min-size due to their nature */
.page-contact__social-icon {
  min-width: 40px;
  min-height: 40px;
}