/* =========================================================
   UJ Innovate Webform - clean NDS aligned elements
   يوضع في Custom CSS فقط بدون <style>
   ========================================================= */

body:not(.path-admin) .webform-submission-innovate-form {
  direction: rtl;
  max-width: 1100px;
  margin: 0 auto 56px auto;
  padding: 40px;
  background: #ffffff;
  border: 1px solid #d2d6db;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
  color: #1f2a37;
}

/* عنصر الحقل */
body:not(.path-admin) .webform-submission-innovate-form .form-item,
body:not(.path-admin) .webform-submission-innovate-form .js-form-item {
  position: relative;
  margin-bottom: 26px;
}

/* عنوان الحقل */
body:not(.path-admin) .webform-submission-innovate-form label {
  display: block;
  margin: 0 0 8px 0;
  color: #1f2a37;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-align: right;
}

/* إصلاح تكرار النجمة */
body:not(.path-admin) .webform-submission-innovate-form .form-required::after,
body:not(.path-admin) .webform-submission-innovate-form label.js-form-required::after {
  content: " *";
  color: #b42318;
  font-weight: 800;
}

body:not(.path-admin) .webform-submission-innovate-form label .form-required::after {
  content: "";
}

/* الحقول الأساسية */
body:not(.path-admin) .webform-submission-innovate-form input[type="text"],
body:not(.path-admin) .webform-submission-innovate-form input[type="email"],
body:not(.path-admin) .webform-submission-innovate-form input[type="tel"],
body:not(.path-admin) .webform-submission-innovate-form input[type="number"],
body:not(.path-admin) .webform-submission-innovate-form input[type="url"],
body:not(.path-admin) .webform-submission-innovate-form textarea,
body:not(.path-admin) .webform-submission-innovate-form select {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #9da4ae;
  border-radius: 8px;
  background-color: #ffffff;
  color: #161616;
  font-size: 15px;
  line-height: 1.6;
  box-sizing: border-box;
  box-shadow: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

/* تعطيل مظهر autofill الداخلي قدر الإمكان */
body:not(.path-admin) .webform-submission-innovate-form input:-webkit-autofill,
body:not(.path-admin) .webform-submission-innovate-form input:-webkit-autofill:hover,
body:not(.path-admin) .webform-submission-innovate-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #161616;
  box-shadow: 0 0 0 1000px #ffffff inset;
}

/* hover */
body:not(.path-admin) .webform-submission-innovate-form input:hover,
body:not(.path-admin) .webform-submission-innovate-form textarea:hover,
body:not(.path-admin) .webform-submission-innovate-form select:hover {
  border-color: #6c737f;
}

/* focus */
body:not(.path-admin) .webform-submission-innovate-form input:focus,
body:not(.path-admin) .webform-submission-innovate-form textarea:focus,
body:not(.path-admin) .webform-submission-innovate-form select:focus {
  outline: none;
  border-color: #1b8354;
  box-shadow: 0 0 0 3px rgba(27, 131, 84, 0.18);
  background-color: #ffffff;
}

/* Placeholder */
body:not(.path-admin) .webform-submission-innovate-form input::placeholder,
body:not(.path-admin) .webform-submission-innovate-form textarea::placeholder {
  color: #6c737f;
  opacity: 1;
}

/* البريد والجوال والهوية */
body:not(.path-admin) .webform-submission-innovate-form input[name="email"],
body:not(.path-admin) .webform-submission-innovate-form input[name="mobile"],
body:not(.path-admin) .webform-submission-innovate-form input[name="rqm_alhwyt"] {
  direction: ltr;
  text-align: left;
  unicode-bidi: plaintext;
}

/* وصف الفكرة */
body:not(.path-admin) .webform-submission-innovate-form textarea {
  min-height: 170px;
  resize: vertical;
}

/* وصف الحقول */
body:not(.path-admin) .webform-submission-innovate-form .description,
body:not(.path-admin) .webform-submission-innovate-form .webform-element-description,
body:not(.path-admin) .webform-submission-innovate-form .form-item--description {
  margin-top: 7px;
  color: #4d5761;
  font-size: 13px;
  line-height: 1.7;
}

/* أخطاء التحقق داخل الحقول */
body:not(.path-admin) .webform-submission-innovate-form .form-item--error-message,
body:not(.path-admin) .webform-submission-innovate-form .form-item .error,
body:not(.path-admin) .webform-submission-innovate-form .form-item__error-message {
  display: block !important;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid #fecdca !important;
  border-radius: 8px !important;
  background: #fffbfa !important;
  color: #912018 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  text-align: right !important;
}

body:not(.path-admin) .webform-submission-innovate-form .form-item--error input,
body:not(.path-admin) .webform-submission-innovate-form .form-item--error textarea,
body:not(.path-admin) .webform-submission-innovate-form .form-item--error select {
  border-color: #d92d20 !important;
  background-color: #fff7f7 !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.12) !important;
}

/* =========================================================
   File Upload - Native Safe Version
   لا يتم إخفاء input الأصلي
   ========================================================= */

body:not(.path-admin) .webform-submission-innovate-form .uj-file-upload-field {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  padding: 22px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
}

/* إظهار حقل اختيار الملف الأصلي */
body:not(.path-admin) .webform-submission-innovate-form input[type="file"],
body:not(.path-admin) .webform-submission-innovate-form .uj-file-upload-field input[type="file"],
body:not(.path-admin) .webform-submission-innovate-form .form-managed-file input[type="file"],
body:not(.path-admin) .webform-submission-innovate-form .webform-managed-file input[type="file"] {
  all: revert !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  height: auto !important;
  margin: 18px 0 12px 0 !important;
  padding: 12px !important;
  border: 1px solid #d2d6db !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  overflow: visible !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  inline-size: 100% !important;
  block-size: auto !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
}

/* حاويات Drupal الأصلية */
body:not(.path-admin) .webform-submission-innovate-form .form-managed-file,
body:not(.path-admin) .webform-submission-innovate-form .webform-managed-file {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  overflow: visible !important;
  width: 100% !important;
  height: auto !important;
}

/* تنسيق زر اختيار الملف داخل المتصفح */
body:not(.path-admin) .webform-submission-innovate-form input[type="file"]::file-selector-button {
  margin-inline-start: 12px !important;
  margin-inline-end: 0 !important;
  padding: 10px 18px !important;
  border: 1px solid #1b8354 !important;
  border-radius: 8px !important;
  background: #1b8354 !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

body:not(.path-admin) .webform-submission-innovate-form input[type="file"]::-webkit-file-upload-button {
  margin-inline-start: 12px !important;
  margin-inline-end: 0 !important;
  padding: 10px 18px !important;
  border: 1px solid #1b8354 !important;
  border-radius: 8px !important;
  background: #1b8354 !important;
  color: #ffffff !important;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* إخفاء عناصر الرفع المخصصة القديمة فقط */
body:not(.path-admin) .webform-submission-innovate-form .uj-upload-zone,
body:not(.path-admin) .webform-submission-innovate-form .uj-upload-icon,
body:not(.path-admin) .webform-submission-innovate-form .uj-upload-title,
body:not(.path-admin) .webform-submission-innovate-form .uj-upload-hint,
body:not(.path-admin) .webform-submission-innovate-form .uj-file-selected,
body:not(.path-admin) .webform-submission-innovate-form .uj-file-selected-readonly,
body:not(.path-admin) .webform-submission-innovate-form .uj-file-selected-name-view {
  display: none !important;
}

/* وصف حقل الملف */
body:not(.path-admin) .webform-submission-innovate-form .uj-file-upload-field .description,
body:not(.path-admin) .webform-submission-innovate-form .uj-file-upload-field .webform-element-description,
body:not(.path-admin) .webform-submission-innovate-form .uj-file-upload-field .form-item--description {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 12px !important;
  color: #4d5761 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-align: right !important;
}

/* =========================================================
   Submit Button
   ========================================================= */

body:not(.path-admin) .webform-submission-innovate-form .form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  align-items: center;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid #e5e7eb;
}

body:not(.path-admin) .webform-submission-innovate-form .form-actions input[type="submit"],
body:not(.path-admin) .webform-submission-innovate-form .form-actions button[type="submit"],
body:not(.path-admin) .webform-submission-innovate-form .form-actions .form-submit {
  min-height: 46px;
  padding: 10px 30px;
  border: 1px solid #1b8354;
  border-radius: 8px;
  background-color: #1b8354;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body:not(.path-admin) .webform-submission-innovate-form .form-actions input[type="submit"]:hover,
body:not(.path-admin) .webform-submission-innovate-form .form-actions button[type="submit"]:hover,
body:not(.path-admin) .webform-submission-innovate-form .form-actions .form-submit:hover {
  background-color: #14573a;
  border-color: #14573a;
}

body:not(.path-admin) .webform-submission-innovate-form .form-actions input[type="submit"]:focus,
body:not(.path-admin) .webform-submission-innovate-form .form-actions button[type="submit"]:focus,
body:not(.path-admin) .webform-submission-innovate-form .form-actions .form-submit:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(27, 131, 84, 0.22);
}

/* =========================================================
   UJ Webform Confirmation - NDS aligned
   يعتمد على .webform-confirmation بدون كلاس مخصص
   ========================================================= */

body:not(.path-admin) .webform-confirmation {
  direction: rtl;
  max-width: 1100px;
  margin: 32px auto 56px auto;
  padding: 0 16px;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
}

body:not(.path-admin) .uj-webform-confirmation {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 28px 32px;
  border: 1px solid #abefc6;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(236, 253, 243, 0.95), #ffffff);
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  color: #14573a;
  text-align: right;
}

body:not(.path-admin) .uj-webform-confirmation__icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #1b8354;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

body:not(.path-admin) .uj-webform-confirmation__content h2 {
  margin: 0 0 8px 0;
  color: #14573a;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
}

body:not(.path-admin) .uj-webform-confirmation__content p {
  margin: 0;
  color: #1f2a37;
  font-size: 15px;
  line-height: 1.9;
}

body:not(.path-admin) .uj-webform-confirmation__note {
  margin-top: 8px !important;
  color: #4d5761 !important;
}

/* إخفاء رابط الرجوع إذا ظهر رغم تعطيله من الإعدادات */
body:not(.path-admin) .webform-confirmation__back {
  display: none !important;
}

/* =========================================================
   UJ Drupal / Webform Messages - NDS aligned
   رسائل الخطأ والنجاح والتحذير العامة
   ========================================================= */

body:not(.path-admin) [data-drupal-messages],
body:not(.path-admin) .region-highlighted,
body:not(.path-admin) .messages-list {
  direction: rtl;
  max-width: 1100px;
  margin: 24px auto 16px auto;
  padding: 0 16px;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
}

body:not(.path-admin) .messages,
body:not(.path-admin) div[role="contentinfo"].messages {
  position: relative;
  margin: 16px auto;
  padding: 18px 62px 18px 22px;
  border-radius: 14px;
  border: 1px solid #d2d6db;
  background: #ffffff;
  color: #1f2a37;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.06);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
  text-align: right;
  overflow: hidden;
}

body:not(.path-admin) .messages::before,
body:not(.path-admin) div[role="contentinfo"].messages::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 6px;
  background: #1b8354;
}

body:not(.path-admin) .messages ul,
body:not(.path-admin) .messages li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.path-admin) .messages--error,
body:not(.path-admin) .messages.error,
body:not(.path-admin) div[role="contentinfo"].messages--error {
  border-color: #fecdca !important;
  background: linear-gradient(135deg, rgba(255, 251, 250, 0.96), #ffffff) !important;
  color: #912018 !important;
}

body:not(.path-admin) .messages--error::before,
body:not(.path-admin) .messages.error::before,
body:not(.path-admin) div[role="contentinfo"].messages--error::before {
  background: #d92d20 !important;
}

body:not(.path-admin) .messages--error::after,
body:not(.path-admin) .messages.error::after,
body:not(.path-admin) div[role="contentinfo"].messages--error::after {
  content: "!";
  position: absolute;
  inset-inline-end: 18px;
  inset-block-start: 18px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #d92d20;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 900;
}

body:not(.path-admin) .messages--status,
body:not(.path-admin) div[role="contentinfo"].messages--status {
  border-color: #abefc6 !important;
  background: linear-gradient(135deg, rgba(236, 253, 243, 0.95), #ffffff) !important;
  color: #14573a !important;
}

body:not(.path-admin) .messages--status::before,
body:not(.path-admin) div[role="contentinfo"].messages--status::before {
  background: #1b8354 !important;
}

body:not(.path-admin) .messages--status::after,
body:not(.path-admin) div[role="contentinfo"].messages--status::after {
  content: "✓";
  position: absolute;
  inset-inline-end: 18px;
  inset-block-start: 18px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #1b8354;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 900;
}

body:not(.path-admin) .messages--warning,
body:not(.path-admin) div[role="contentinfo"].messages--warning {
  border-color: #fedf89 !important;
  background: linear-gradient(135deg, rgba(255, 250, 235, 0.96), #ffffff) !important;
  color: #93370d !important;
}

body:not(.path-admin) .messages--warning::before,
body:not(.path-admin) div[role="contentinfo"].messages--warning::before {
  background: #f79009 !important;
}

body:not(.path-admin) .messages--warning::after,
body:not(.path-admin) div[role="contentinfo"].messages--warning::after {
  content: "!";
  position: absolute;
  inset-inline-end: 18px;
  inset-block-start: 18px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #f79009;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 900;
}

body:not(.path-admin) .messages a {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================================
   UJ Force Style All Visible Alert / Error Messages
   يغطي رسائل Drupal + Bootstrap + Theme alerts
   ========================================================= */

body:not(.path-admin) [role="alert"],
body:not(.path-admin) .alert,
body:not(.path-admin) .alert-danger,
body:not(.path-admin) .alert-error,
body:not(.path-admin) .messages,
body:not(.path-admin) .messages--error,
body:not(.path-admin) .messages.error,
body:not(.path-admin) [data-drupal-messages] .messages,
body:not(.path-admin) .region-highlighted .messages,
body:not(.path-admin) .region-highlighted .alert {
  direction: rtl !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 1100px !important;
  margin: 24px auto 18px auto !important;
  padding: 18px 64px 18px 24px !important;
  border: 1px solid #fecdca !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(255, 251, 250, 0.98), #ffffff) !important;
  color: #912018 !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.06) !important;
  font-family: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  text-align: right !important;
  position: relative !important;
  overflow: hidden !important;
}

body:not(.path-admin) [role="alert"]::before,
body:not(.path-admin) .alert::before,
body:not(.path-admin) .alert-danger::before,
body:not(.path-admin) .alert-error::before,
body:not(.path-admin) .messages--error::before,
body:not(.path-admin) .messages.error::before {
  content: "" !important;
  position: absolute !important;
  inset-block: 0 !important;
  inset-inline-start: 0 !important;
  width: 6px !important;
  background: #d92d20 !important;
}

body:not(.path-admin) [role="alert"]::after,
body:not(.path-admin) .alert::after,
body:not(.path-admin) .alert-danger::after,
body:not(.path-admin) .alert-error::after,
body:not(.path-admin) .messages--error::after,
body:not(.path-admin) .messages.error::after {
  content: "!" !important;
  position: absolute !important;
  inset-inline-end: 18px !important;
  inset-block-start: 18px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: #d92d20 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body:not(.path-admin) [role="alert"] ul,
body:not(.path-admin) [role="alert"] li,
body:not(.path-admin) .alert ul,
body:not(.path-admin) .alert li,
body:not(.path-admin) .messages ul,
body:not(.path-admin) .messages li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:not(.path-admin) [role="alert"] a,
body:not(.path-admin) .alert a,
body:not(.path-admin) .messages a {
  color: #912018 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 768px) {
  body:not(.path-admin) .webform-submission-innovate-form {
    padding: 24px 18px;
    margin: 0 12px 40px 12px;
    border-radius: 16px;
  }

  body:not(.path-admin) .webform-submission-innovate-form label {
    font-size: 14px;
  }

  body:not(.path-admin) .webform-submission-innovate-form input[type="text"],
  body:not(.path-admin) .webform-submission-innovate-form input[type="email"],
  body:not(.path-admin) .webform-submission-innovate-form input[type="tel"],
  body:not(.path-admin) .webform-submission-innovate-form input[type="number"],
  body:not(.path-admin) .webform-submission-innovate-form input[type="url"],
  body:not(.path-admin) .webform-submission-innovate-form textarea,
  body:not(.path-admin) .webform-submission-innovate-form select {
    min-height: 46px;
    font-size: 14px;
  }

  body:not(.path-admin) .webform-submission-innovate-form .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body:not(.path-admin) .webform-submission-innovate-form .form-actions input[type="submit"],
  body:not(.path-admin) .webform-submission-innovate-form .form-actions button[type="submit"] {
    width: 100%;
  }

  body:not(.path-admin) .webform-confirmation {
    margin: 24px 12px 40px 12px;
    padding: 0;
  }

  body:not(.path-admin) .uj-webform-confirmation {
    flex-direction: column;
    padding: 22px;
    border-radius: 16px;
  }

  body:not(.path-admin) .uj-webform-confirmation__content h2 {
    font-size: 19px;
  }

  body:not(.path-admin) .uj-webform-confirmation__content p {
    font-size: 14px;
  }

  body:not(.path-admin) [role="alert"],
  body:not(.path-admin) .alert,
  body:not(.path-admin) .alert-danger,
  body:not(.path-admin) .alert-error,
  body:not(.path-admin) .messages,
  body:not(.path-admin) .messages--error,
  body:not(.path-admin) .messages.error {
    margin: 16px 12px !important;
    padding: 16px 56px 16px 18px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }
}