/* ================================
   GlobalGateway Webform / Registration Forms
   ================================ */

/* Main form container */
.webform-submission-form {
  max-width: 920px;
  margin: 40px auto 60px auto;
  padding: 38px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
  border: 1px solid #e2e8f0;
  box-sizing: border-box;
}

/* Fieldsets */
.webform-submission-form fieldset {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 28px;
  background: #f8fafc;
}

.webform-submission-form legend {
  font-size: 22px;
  font-weight: 800;
  color: #0b3d2e;
  padding: 0 10px;
}

/* Form labels */
.webform-submission-form label {
  display: block;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
  font-size: 15px;
}

/* Description/help text */
.webform-submission-form .description {
  font-size: 14px;
  color: #64748b;
  margin-top: 6px;
}

/* Text inputs, email, telephone, select and textarea */
.webform-submission-form input[type="text"],
.webform-submission-form input[type="email"],
.webform-submission-form input[type="tel"],
.webform-submission-form select,
.webform-submission-form textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 16px;
  background: #ffffff;
  color: #0f172a;
  box-sizing: border-box;
}

/* Textarea */
.webform-submission-form textarea {
  min-height: 150px;
  resize: vertical;
}

/* Focus effect */
.webform-submission-form input[type="text"]:focus,
.webform-submission-form input[type="email"]:focus,
.webform-submission-form input[type="tel"]:focus,
.webform-submission-form select:focus,
.webform-submission-form textarea:focus {
  outline: none;
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(15,118,110,0.16);
}

/* Spacing between fields */
.webform-submission-form .form-item {
  margin-bottom: 22px;
}

/* Checkbox and radio groups */
.webform-submission-form .form-checkboxes,
.webform-submission-form .form-radios {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.webform-submission-form .form-type-checkbox,
.webform-submission-form .form-type-radio {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.webform-submission-form .form-type-checkbox label,
.webform-submission-form .form-type-radio label {
  margin-bottom: 0;
  font-weight: 600;
  color: #334155;
}

/* Checkbox and radio input */
.webform-submission-form input[type="checkbox"],
.webform-submission-form input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #0f766e;
}

/* Consent checkbox */
.webform-submission-form .form-item-consent {
  background: #ecfeff;
  border: 1px solid #99f6e4;
  border-radius: 14px;
  padding: 18px;
}

/* Submit button */
.webform-submission-form input[type="submit"],
.webform-submission-form .webform-button--submit,
.webform-submission-form button[type="submit"] {
  background: #0f766e !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 38px !important;
  border-radius: 35px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(15,118,110,0.25);
  transition: all 0.2s ease;
}

.webform-submission-form input[type="submit"]:hover,
.webform-submission-form .webform-button--submit:hover,
.webform-submission-form button[type="submit"]:hover {
  background: #0b3d2e !important;
  transform: translateY(-2px);
}

/* Required marker */
.webform-submission-form .form-required::after {
  color: #dc2626;
}

/* ================================
   Individual Form Accent Colours
   ================================ */

/* Culture Café form - purple */
body.path-form-join-the-culture-cafe .webform-submission-form legend,
body.path-join-the-culture-cafe .webform-submission-form legend {
  color: #581c87;
}

body.path-form-join-the-culture-cafe .webform-submission-form input[type="submit"],
body.path-form-join-the-culture-cafe .webform-submission-form .webform-button--submit,
body.path-join-the-culture-cafe .webform-submission-form input[type="submit"],
body.path-join-the-culture-cafe .webform-submission-form .webform-button--submit {
  background: #7e22ce !important;
}

body.path-form-join-the-culture-cafe .webform-submission-form input:focus,
body.path-form-join-the-culture-cafe .webform-submission-form select:focus,
body.path-form-join-the-culture-cafe .webform-submission-form textarea:focus {
  border-color: #7e22ce;
  box-shadow: 0 0 0 3px rgba(126,34,206,0.16);
}

/* Work Abroad form - orange */
body.path-form-start-your-work-abroad-preparation .webform-submission-form legend,
body.path-start-your-work-abroad-preparation .webform-submission-form legend {
  color: #7c2d12;
}

body.path-form-start-your-work-abroad-preparation .webform-submission-form input[type="submit"],
body.path-form-start-your-work-abroad-preparation .webform-submission-form .webform-button--submit,
body.path-start-your-work-abroad-preparation .webform-submission-form input[type="submit"],
body.path-start-your-work-abroad-preparation .webform-submission-form .webform-button--submit {
  background: #f97316 !important;
}

body.path-form-start-your-work-abroad-preparation .webform-submission-form input:focus,
body.path-form-start-your-work-abroad-preparation .webform-submission-form select:focus,
body.path-form-start-your-work-abroad-preparation .webform-submission-form textarea:focus {
  border-color: #f97316;
  box-shadow: 0 0 0 3px rgba(249,115,22,0.18);
}

/* Study Journey form - blue */
body.path-form-start-your-study-journey .webform-submission-form legend,
body.path-start-your-study-journey .webform-submission-form legend {
  color: #1e3a8a;
}

body.path-form-start-your-study-journey .webform-submission-form input[type="submit"],
body.path-form-start-your-study-journey .webform-submission-form .webform-button--submit,
body.path-start-your-study-journey .webform-submission-form input[type="submit"],
body.path-start-your-study-journey .webform-submission-form .webform-button--submit {
  background: #2563eb !important;
}

body.path-form-start-your-study-journey .webform-submission-form input:focus,
body.path-form-start-your-study-journey .webform-submission-form select:focus,
body.path-form-start-your-study-journey .webform-submission-form textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.16);
}

/* ================================
   Mobile Responsiveness
   ================================ */

@media (max-width: 768px) {
  .webform-submission-form {
    padding: 24px;
    margin: 30px 12px 50px 12px;
    border-radius: 18px;
  }

  .webform-submission-form fieldset {
    padding: 22px;
  }

  .webform-submission-form legend {
    font-size: 20px;
  }
}

@media (max-width: 500px) {
  .webform-submission-form {
    padding: 18px;
  }

  .webform-submission-form fieldset {
    padding: 18px;
  }

  .webform-submission-form input[type="submit"],
  .webform-submission-form .webform-button--submit,
  .webform-submission-form button[type="submit"] {
    width: 100%;
  }
}