/* ============================================
   Join Us Form Module Styles
   Two-column layout with community info and form
   ============================================ */

.re-join-us-form {
  margin: var(--spacing-12) auto;
}

.re-join-us-form__container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  gap: var(--spacing-8);
  align-items: flex-start;
}

/* Left Column */
.re-join-us-form__left {
  flex: 0 0 580px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

/* Community Info Box - Dark Green */
.re-join-us-form__community-box {
  background-color: #2f4011;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
}

.re-join-us-form__community-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-snug);
  color: var(--neutral-0);
  margin: 0;
  text-transform: uppercase;
}

.re-join-us-form__community-description {
  font-size: var(--text-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--neutral-0);
}

.re-join-us-form__community-description-content p {
  color: rgba(255, 255, 255, 0.7);
}

.re-join-us-form__community-description-content p strong {
  color: rgba(255, 255, 255, 1);
}

.re-join-us-form__community-description p {
  margin: 0 0 1em 0;
}

.re-join-us-form__community-description p:last-child {
  margin-bottom: 0;
}

/* Quote Box - Olive Green */
.re-join-us-form__quote-box {
  background-color: #647d55;
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
}

.re-join-us-form__quote-text {
  font-size: var(--text-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--leading-relaxed);
  color: var(--neutral-0);
  margin: 0;
}

/* Logo Bar */
.re-join-us-form__logos {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-4);
  padding: var(--spacing-4) 0;
  border-radius: var(--radius-md);
}

.re-join-us-form__logos-image {
  max-height: 93px;
  width: auto;
}

.re-join-us-form__logo {
  height: 64px;
  width: auto;
}

/* Right Column */
.re-join-us-form__right {
  flex: 1;
  min-width: 470px;
}

.re-join-us-form__form-title {
  color: var(--green-500-primary);
  font-size: 2.375rem;
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  text-transform: uppercase;
  margin-bottom: var(--spacing-6);
}

/* Form Card */
.re-join-us-form__form-card {
  background-color: var(--neutral-0);
  border: 1px solid var(--green-500-primary);
  border-radius: var(--radius-xl);
  padding: var(--spacing-8);
}

/* HubSpot Form Overrides */
.re-join-us-form__form-card .hs-form {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  gap: var(--spacing-4);
}

.re-join-us-form__form-card .hs-form {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px 24px;
}

.re-join-us-form__form-card .hs-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.re-join-us-form__form-card .hs-form select::-ms-expand {
  display: none;
}

/* Row 1 */
.re-join-us-form__form-card .hs-form .hs_firstname {
  grid-column: 1; grid-row: 1;
}

.re-join-us-form__form-card .hs-form .hs_lastname {
  grid-column: 2; grid-row: 1;
}

/* Row 2 */
.re-join-us-form__form-card .hs-form .hs_zip {
  grid-column: 1; grid-row: 2;
}

.re-join-us-form__form-card .hs-form .hs_professional_country {
  grid-column: 2; grid-row: 2;
}

/* Row 3 — email spans cols 1-2 */
.re-join-us-form__form-card .hs-form .hs_email {
  grid-column: 1 / 3; grid-row: 3;
}

/* "Mi interessa" checkbox group — col 3, spans all 3 rows */
.re-join-us-form__form-card .hs-form .hs_i_m_interested_in_fc {
  grid-column: 3; grid-row: 1 / 4;
}

/* Consent + submit — full width */
.re-join-us-form__form-card .hs-form .hs_consent_privacy___form {
  border-top: 1px solid #DDDDE0;
  padding-top: var(--spacing-4);
  grid-column: 1 / 4;
}

.re-join-us-form__form-card .hs-form .hs_submit {
  grid-column: 1 / 4; margin-bottom: var(--spacing-5);
}

.re-join-us-form__form-card .hs-form-field {
  margin-bottom: 0;
}

.re-join-us-form__form-card .hs-form-field label {
  font-size: var(--text-base);
  font-weight: var(--font-weight-regular);
  color: var(--neutral-800);
  margin-bottom: var(--spacing-1);
  display: flex;
}

.re-join-us-form__form-card .hs-input {
  width: 100% !important;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1.5px solid var(--neutral-300);
  border-radius: var(--radius-sm);
  font-size: var(--text-base);
  font-family: var(--font-family);
  transition: border-color var(--transition-fast);
}

.re-join-us-form__form-card .hs-input:focus {
  outline: none;
  border-color: var(--green-500-primary);
}

.re-join-us-form__form-card .hs-input::placeholder {
  color: var(--neutral-500);
}

.re-join-us-form__form-card .hs-form .form-columns-1 {
  max-width: 100%;
}

/* Two-column input rows */
.re-join-us-form__form-card .hs-form .form-columns-2 {
  display: flex;
  gap: var(--spacing-2);
  max-width: 100%;
}

.re-join-us-form__form-card .hs-form .form-columns-2 .hs-form-field {
  flex: 1;
}

/* Checkboxes */
.re-join-us-form__form-card .hs-form-checkbox,
.re-join-us-form__form-card .hs-form-booleancheckbox {
  margin-bottom: var(--spacing-3);
}

.re-join-us-form__form-card .hs-form-checkbox-display,
.re-join-us-form__form-card .hs-form-booleancheckbox-display {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.re-join-us-form__form-card input[type='checkbox'] {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border: 1.5px solid var(--neutral-300);
  border-radius: 8px;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--neutral-0);
  cursor: pointer;
  flex-shrink: 0;
}

.re-join-us-form__form-card input[type='checkbox']:checked {
  background-color: var(--green-500-primary);
  border-color: var(--green-500-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
  background-size: 18px;
  background-position: center;
  background-repeat: no-repeat;
}

.re-join-us-form__form-card .hs-form-checkbox-display span,
.re-join-us-form__form-card .hs-form-booleancheckbox-display span {
  font-size: var(--text-base);
  color: var(--neutral-800);
  line-height: 1.4;
}

/* Divider in form */
.re-join-us-form__form-card hr {
  border: none;
  border-top: 1px dashed var(--neutral-300);
  margin: var(--spacing-2) 0;
}

/* Submit Button */
.re-join-us-form__form-card .hs-button,
.re-join-us-form__form-card input[type='submit'] {
  width: 100%;
  height: 44px;
  background-color: var(--green-500-primary);
  color: var(--neutral-0);
  border: none;
  border-radius: var(--radius-full);
  font-size: var(--text-base);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-family);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.re-join-us-form__form-card .hs-button:hover,
.re-join-us-form__form-card input[type='submit']:hover {
  background-color: var(--green-600);
}

/* Error messages */
.re-join-us-form__form-card .hs-error-msgs {
  margin-top: var(--spacing-1);
}

.re-join-us-form__form-card .hs-input.invalid.error {
  border-color: #dc3545 !important;
}

.re-join-us-form__form-card .hs-error-msg {
  color: #dc3545 !important;
  font-size: var(--text-sm) !important;
}

/* Success message */
.re-join-us-form__form-card .submitted-message {
  text-align: center;
  padding: var(--spacing-8);
  color: var(--green-500-primary);
  font-size: var(--text-lg);
  font-weight: var(--font-weight-medium);
}

/* Legal consent */
.re-join-us-form__form-card .legal-consent-container {
  margin-top: var(--spacing-2);
}

/* ============================================
   Responsive Styles
   ============================================ */

@media (max-width: 1024px) {
  .re-join-us-form {
    padding: var(--spacing-12) var(--spacing-8);
  }

  .re-join-us-form__container {
    flex-direction: column;
  }

  .re-join-us-form__left {
    flex: none;
    width: 100%;
  }

  .re-join-us-form__right {
    flex: none;
    width: 100%;
    min-width: auto;
  }
}

@media (max-width: 767px) {
  .re-join-us-form {
    padding: var(--spacing-8) var(--spacing-4);
  }

  .re-join-us-form__community-box,
  .re-join-us-form__quote-box,
  .re-join-us-form__form-card {
    padding: var(--spacing-6);
    border-radius: var(--radius-lg);
  }

  .re-join-us-form__community-title {
    font-size: var(--text-xl);
  }

  .re-join-us-form__form-card .hs-form .form-columns-2 {
    flex-direction: column;
    gap: var(--spacing-4);
  }

  .re-join-us-form__form-card input[type='checkbox'] {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
  }

  .re-join-us-form__logo {
    height: 42px;
  }

  .re-join-us-form__form-title {
    font-size: 1.5rem;
  }

  .re-join-us-form__form-card .hs-form {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: var(--spacing-4);
  }

  .re-join-us-form__form-card .hs-form .hs_firstname {
    grid-column: 1; grid-row: 1;
  }

  .re-join-us-form__form-card .hs-form .hs_lastname {
    grid-column: 1; grid-row: 2;
  }

  .re-join-us-form__form-card .hs-form .hs_zip {
    grid-column: 1; grid-row: 3;
  }

  .re-join-us-form__form-card .hs-form .hs_professional_country {
    grid-column: 1; grid-row: 4;
  }

  .re-join-us-form__form-card .hs-form .hs_email {
    grid-column: 1; grid-row: 5;
  }

  .re-join-us-form__form-card .hs-form .hs_i_m_interested_in_fc {
    grid-column: 1; grid-row: 6;
  }

  .re-join-us-form__form-card .hs-form .hs_consent_privacy___form {
    grid-column: 1; grid-row: 7;
  }

  .re-join-us-form__form-card .hs-form .hs_submit {
    grid-column: 1; grid-row: 8;
}
