/* ==========================================================================
   GR8 TECH Brand Identity — Ashby Job Board Theme (Exact Class Target)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,700&display=swap');

/* --------------------------------------------------------------------------
   0. Brand CSS Variables
   -------------------------------------------------------------------------- */
:root {
  /* GR8 TECH Brand Palette */
  --colorBlack: #000000;
  --colorOffWhite: #F1F1F1;
  --colorOrange: #FF7700;
  --colorOrange1: #FF5900;
  --colorYellow: #FF9100;

  --colorGrey1: #989898;
  --colorGrey2: #43494D;
  --colorGrey3: #1A1A1A;

  /* Mapped Functional Colors */
  --colorAppBackground: #1A1A1A;
  --colorSurface: rgba(0, 0, 0, 0.85);
  --colorSurfaceHover: rgba(34, 34, 34, 0.9);

  --colorPrimary900: #FF7700;
  --colorPrimary600: #FF5900;
  --colorAccentHighlight: #FF9100;

  --colorTextPrimary: #F1F1F1;
  --colorTextSecondary: #989898;
  --colorTextMuted: #989898;
  --colorTextDark: #000000;

  --colorBorder: #43494D;
  --colorBorderFocus: #FF5900;

  /* Status Colors */
  --colorSuccessBg: rgba(255, 89, 0, 0.15);
  --colorSuccessText: #FF9100;
  --colorSuccessBorder: #FF5900;

  --colorErrorBg: rgba(255, 119, 0, 0.2);
  --colorErrorText: #FF7700;
  --colorErrorBorder: #FF7700;

  /* Layout Dimensions */
  --widthMaxContent: 880px;
  --widthMaxJobBoard: 880px;
  --widthMaxSubscriptionPreferences: 600px;

  /* Geometry & Styling */
  --borderRadiusContainer: 8px;
  --borderRadiusControl: 6px;
  --borderRadiusButton: 6px;

  --shadowSm: 0 2px 4px rgba(0, 0, 0, 0.4);
  --shadowMd: 0 4px 12px rgba(0, 0, 0, 0.6);
  --shadowLg: 0 8px 24px rgba(255, 119, 0, 0.2);

  --transitionFast: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);

  /* Brand Typography */
  --fontFamily: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* --------------------------------------------------------------------------
   1. Base & Global Styles
   -------------------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  background-color: var(--colorAppBackground);
  background-image: 
    linear-gradient(180deg, rgba(26, 26, 26, 0.6) 0%, rgba(26, 26, 26, 0.95) 100%),
    url('https://gr8.tech/wp-content/themes/pmtech/tmp-content/career/header.png?x11714');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
  color: var(--colorTextPrimary);
  font-family: var(--fontFamily);
  margin: 0;
  padding: 48px 20px;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 768px) {
  body {
    padding: 24px 12px;
    background-attachment: scroll;
  }
}

/* --------------------------------------------------------------------------
   2. Centered Header & Logo
   -------------------------------------------------------------------------- */

div[class*="_navRoot"],
ul[class*="_navContainer"],
li,
a[class*="_navLogoLink"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

ul[class*="_navContainer"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
  overflow: visible !important;
  margin: 0 auto 80px auto !important;
  width: 100% !important;
}

li:has(a[class*="_navLogoLink"]) {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
}

img[class*="_navLogoWordmarkImage"],
a[class*="_navLogoLink"] img {
  height: 40px !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  background: transparent !important;
  transform: scale(5) !important;
  transform-origin: center center !important;
  display: block !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5)) !important;
}

/* --------------------------------------------------------------------------
   3. Tab Hover & Active State
   -------------------------------------------------------------------------- */

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab,
.ashby-job-posting-right-pane-tab-slider button,
.ashby-job-posting-right-pane-tab-slider a,
div[class*="tabSlider"] button,
div[class*="tabSlider"] a,
div[class*="TabSlider"] button,
div[class*="TabSlider"] a {
  position: relative !important;
  transition: color 0.25s ease !important;
}

.ashby-job-posting-right-pane-overview-tab *,
.ashby-job-posting-right-pane-application-tab *,
.ashby-job-posting-right-pane-tab-slider button *,
.ashby-job-posting-right-pane-tab-slider a *,
div[class*="tabSlider"] button *,
div[class*="tabSlider"] a *,
div[class*="TabSlider"] button *,
div[class*="TabSlider"] a * {
  transition: color 0.25s ease !important;
}

.ashby-job-posting-right-pane-overview-tab[data-state="active"],
.ashby-job-posting-right-pane-application-tab[data-state="active"],
.ashby-job-posting-right-pane-tab-slider button[data-state="active"],
.ashby-job-posting-right-pane-tab-slider [aria-selected="true"],
div[class*="tabSlider"] button[data-state="active"],
div[class*="tabSlider"] [aria-selected="true"] {
  color: var(--colorOrange) !important;
}

.ashby-job-posting-right-pane-overview-tab[data-state="active"] *,
.ashby-job-posting-right-pane-application-tab[data-state="active"] *,
.ashby-job-posting-right-pane-tab-slider button[data-state="active"] *,
.ashby-job-posting-right-pane-tab-slider [aria-selected="true"] *,
div[class*="tabSlider"] button[data-state="active"] *,
div[class*="tabSlider"] [aria-selected="true"] * {
  color: var(--colorOrange) !important;
}

.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-application-tab:hover,
.ashby-job-posting-right-pane-tab-slider button:hover,
.ashby-job-posting-right-pane-tab-slider a:hover,
div[class*="tabSlider"] button:hover,
div[class*="tabSlider"] a:hover,
div[class*="TabSlider"] button:hover,
div[class*="TabSlider"] a:hover {
  color: #FFFFFF !important;
  background-color: transparent !important;
  border-bottom: 2px solid #FFFFFF !important;
}

.ashby-job-posting-right-pane-overview-tab:hover *,
.ashby-job-posting-right-pane-application-tab:hover *,
.ashby-job-posting-right-pane-tab-slider button:hover *,
.ashby-job-posting-right-pane-tab-slider a:hover *,
div[class*="tabSlider"] button:hover *,
div[class*="tabSlider"] a:hover *,
div[class*="TabSlider"] button:hover *,
div[class*="TabSlider"] a:hover * {
  color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   4. Application Form & Autofill Container
   -------------------------------------------------------------------------- */

.ashby-job-posting-right-pane,
.ashby-job-posting-right-pane *,
.ashby-application-form-container,
.ashby-application-form-autofill-pane,
.ashby-application-form-autofill-uploader,
.ashby-application-form-autofill-input-root,
div[class*="jobPostingRightPane"],
div[class*="applicationForm"],
div[class*="autofillPane"],
div[class*="autofillContainer"],
div[class*="Autofill"] {
  background-color: transparent !important;
}

.ashby-application-form-autofill-uploader,
.ashby-application-form-autofill-input-root,
div[class*="autofillInputRoot"],
div[class*="AutofillInputRoot"],
div[class*="uploader"] {
  background-color: rgba(26, 26, 26, 0.9) !important;
  border: 2px dashed var(--colorOrange) !important;
  border-radius: var(--borderRadiusContainer) !important;
  padding: 24px 32px !important;
  margin-bottom: 24px !important;
  box-shadow: var(--shadowSm) !important;
}

.ashby-application-form-autofill-input-title,
.ashby-application-form-autofill-input-description,
div[class*="autofill"] *,
span[class*="autofill"] * {
  color: var(--colorOffWhite) !important;
}

.ashby-application-form-autofill-input-title {
  color: var(--colorOrange) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

div[class*="autofill"] button,
.ashby-application-form-autofill-uploader button {
  background-color: transparent !important;
  border: 1px solid var(--colorOrange) !important;
  color: var(--colorOrange) !important;
  font-family: var(--fontFamily) !important;
  font-weight: 700 !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 10px 20px !important;
  transition: var(--transitionFast) !important;
}

div[class*="autofill"] button:hover,
.ashby-application-form-autofill-uploader button:hover {
  background-color: var(--colorOrange) !important;
  color: var(--colorBlack) !important;
}

.ashby-application-form-section-container,
div[class*="applicationFormSection"],
div[class*="FormSection"] {
  background-color: var(--colorSurface) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--colorBorder) !important;
  border-radius: var(--borderRadiusContainer) !important;
  padding: 32px !important;
  margin-bottom: 24px !important;
}

/* --------------------------------------------------------------------------
   5. Dropdown Text, Option Cards & Checkboxes
   -------------------------------------------------------------------------- */

/* Точний таргетинг інпута та обраного значення у випадаючих списках */
input[class*="_input_"],
input[role="combobox"],
input[class*="input"],
div[class*="select"] input,
div[class*="Select"] input,
div[class*="valueContainer"] *,
div[class*="ValueContainer"] * {
  color: #F1F1F1 !important;
  -webkit-text-fill-color: #F1F1F1 !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

/* Колір підказки (Start typing...), коли поле порожнє */
input[class*="_input_"]::placeholder,
input[role="combobox"]::placeholder,
input::placeholder {
  color: var(--colorGrey1) !important;
  -webkit-text-fill-color: var(--colorGrey1) !important;
  opacity: 0.6 !important;
}

div[class*="checkboxGroup"] label,
div[class*="radioGroup"] label,
div[class*="choice"] label,
div[class*="Choice"] label,
label[class*="checkbox"],
label[class*="radio"] {
  background-color: #FFFFFF !important;
  color: #1A1A1A !important;
  border-radius: var(--borderRadiusControl) !important;
  padding: 14px 18px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--colorBorder) !important;
  margin-bottom: 8px !important;
  transition: var(--transitionFast) !important;
}

div[class*="checkboxGroup"] label *,
div[class*="radioGroup"] label *,
div[class*="choice"] label *,
div[class*="Choice"] label *,
label[class*="checkbox"] *,
label[class*="radio"] * {
  color: #1A1A1A !important;
}

select option {
  background-color: #FFFFFF !important;
  color: #1A1A1A !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
}

[role="listbox"],
div[class*="selectMenu"],
div[class*="SelectMenu"],
div[class*="dropdown"],
div[class*="Dropdown"],
div[class*="menu"],
div[class*="Menu"] {
  background-color: #FFFFFF !important;
  border: 1px solid var(--colorOrange) !important;
  border-radius: var(--borderRadiusControl) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  overflow: hidden !important;
}

[role="option"],
div[class*="option"],
div[class*="Option"],
li[class*="option"],
li[class*="Option"] {
  background-color: #FFFFFF !important;
  color: #1A1A1A !important;
  padding: 12px 20px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

[role="option"] *,
div[class*="option"] *,
div[class*="Option"] * {
  color: #1A1A1A !important;
}

[role="option"]:hover,
[role="option"][aria-selected="true"],
[role="option"][class*="selected"],
[role="option"][class*="focused"],
div[class*="option"]:hover,
div[class*="Option"]:hover,
div[class*="option"][class*="focused"],
div[class*="Option"][class*="focused"] {
  background-color: var(--colorBlack) !important;
  color: #FFFFFF !important;
}

[role="option"]:hover *,
div[class*="option"]:hover *,
div[class*="Option"]:hover * {
  color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   6. Controls & Filters Dropdown Base
   -------------------------------------------------------------------------- */

/* Приховуємо весь селект Employment Type */
select[name="employmentType"],
select[name="employmentType"] ~ div,
div:has(> select[name="employmentType"]) {
  display: none !important;
}

/* ПРИХОВУЄМО Окрему білу SVG-стрілочку Ashby від усіх фільтрів */
div[class*="_filterIconContainer_"] {
  display: none !important;
}

/* Системні дефолтні стрілки браузера */
select::-ms-expand {
  display: none !important;
}

.ashby-job-board-heading {
  font-family: var(--fontFamily);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--colorOffWhite);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.ashby-job-board-heading-count {
  font-family: var(--fontFamily);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--colorBlack);
  background-color: var(--colorOrange);
  padding: 4px 14px;
  border-radius: 20px;
  letter-spacing: 0.05em;
}

.ashby-job-board-filters-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--colorOrange);
  margin-bottom: 12px;
  display: block;
}

/* Помаранчева кастомна стрілочка для фільтрів */
.ashby-job-board-filter,
select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: var(--colorSurface) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--colorBorder) !important;
  border-radius: var(--borderRadiusControl) !important;
  padding: 12px 18px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--colorTextPrimary) !important;
  font-family: var(--fontFamily) !important;
  box-shadow: var(--shadowSm) !important;
  transition: var(--transitionFast) !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23FF7700'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  padding-right: 44px !important;
}

.ashby-job-board-filter:focus, 
.ashby-job-board-filter:hover {
  border-color: var(--colorOrange) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 119, 0, 0.3) !important;
}

.ashby-job-board-reset-filters-label {
  color: var(--colorOrange1);
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: var(--transitionFast);
  text-decoration: none;
  border-bottom: 1px dashed var(--colorOrange1);
}

.ashby-job-board-reset-filters-label:hover {
  color: var(--colorYellow);
  border-bottom-color: var(--colorYellow);
}

.ashby-job-board-back-to-all-jobs-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--colorOffWhite);
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: var(--borderRadiusButton);
  background-color: var(--colorSurface);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--colorBorder);
  transition: var(--transitionFast);
  margin-bottom: 28px;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  color: var(--colorBlack);
  background-color: var(--colorOrange);
  border-color: var(--colorOrange);
  transform: translateX(-3px);
}

/* --------------------------------------------------------------------------
   7. Department & Team Titles
   -------------------------------------------------------------------------- */
.ashby-department-heading {
  font-size: 1.6rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--colorOffWhite);
  margin: 44px 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--colorOrange);
}

.ashby-department-heading-level {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--colorOrange1);
  margin: 24px 0 14px 0;
  text-transform: uppercase;
}

.ashby-job-posting-brief-department-heading {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--colorOffWhite);
  margin-bottom: 8px;
}

.ashby-job-posting-brief-department-heading-level {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--colorGrey1);
}

/* --------------------------------------------------------------------------
   8. Job Postings Cards (List View)
   -------------------------------------------------------------------------- */
.ashby-job-posting-brief-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 18px;
}

.ashby-job-posting-brief {
  background-color: var(--colorSurface);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--colorBorder);
  border-left: 4px solid var(--colorBorder);
  border-radius: var(--borderRadiusContainer);
  padding: 22px 28px;
  box-shadow: var(--shadowSm);
  transition: var(--transitionFast);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 12px;
  position: relative;
}

.ashby-job-posting-brief:hover {
  border-color: var(--colorBorder);
  border-left-color: var(--colorOrange);
  background-color: var(--colorSurfaceHover);
  transform: translateX(4px);
  box-shadow: var(--shadowMd);
}

.ashby-job-posting-brief-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--colorOffWhite);
  text-decoration: none;
  transition: var(--transitionFast);
}

.ashby-job-posting-brief:hover .ashby-job-posting-brief-title {
  color: var(--colorOrange1);
}

.ashby-job-posting-brief-details {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--colorGrey1);
  margin-top: 10px;
}

/* --------------------------------------------------------------------------
   9. Job Detail View Layout & Left Pane
   -------------------------------------------------------------------------- */
.ashby-job-posting-header {
  margin-bottom: 36px;
}

.ashby-job-posting-heading {
  font-size: 2.5rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--colorOffWhite);
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}

.ashby-job-posting-description-container {
  max-width: var(--widthMaxJobBoard);
  margin: 0 auto;
  background: var(--colorSurface);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: var(--borderRadiusContainer);
  padding: 40px;
  border: 1px solid var(--colorBorder);
  box-shadow: var(--shadowLg);
}

.ashby-job-posting-left-pane {
  flex: 1;
  background-color: var(--colorGrey2) !important;
  padding: 24px !important;
  border-radius: var(--borderRadiusContainer) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--colorOffWhite) !important;
  box-shadow: var(--shadowSm) !important;
}

.ashby-job-posting-left-pane * {
  color: var(--colorOffWhite) !important;
}

.ashby-job-posting-left-pane a {
  color: var(--colorOrange) !important;
}

.ashby-job-posting-description {
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--colorOffWhite);
  font-weight: 400;
}

.ashby-job-posting-description h1, 
.ashby-job-posting-description h2, 
.ashby-job-posting-description h3 {
  color: var(--colorOrange);
  font-weight: 800;
  text-transform: uppercase;
  margin-top: 32px;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}

.ashby-job-posting-description ul, 
.ashby-job-posting-description ol {
  padding-left: 20px;
  margin-bottom: 24px;
}

.ashby-job-posting-description li {
  margin-bottom: 8px;
}

.ashby-job-posting-description strong {
  color: var(--colorYellow);
}

/* --------------------------------------------------------------------------
   10. Form Controls & Inputs
   -------------------------------------------------------------------------- */
.ashby-application-form-field-entry {
  margin-bottom: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ashby-application-form-question-title {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--colorOffWhite);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ashby-application-form-question-description {
  font-size: 0.8rem;
  color: var(--colorGrey1);
  line-height: 1.4;
}

.ashby-application-form-field-entry input[type="text"],
.ashby-application-form-field-entry input[type="email"],
.ashby-application-form-field-entry input[type="tel"],
.ashby-application-form-field-entry input[type="url"],
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  width: 100%;
  padding: 12px 16px;
  font-family: var(--fontFamily);
  font-size: 0.9rem;
  font-weight: 500;
  border: 1px solid var(--colorBorder);
  border-radius: var(--borderRadiusControl);
  background-color: rgba(26, 26, 26, 0.85);
  color: var(--colorOffWhite);
  transition: var(--transitionFast);
  box-shadow: var(--shadowSm);
}

.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  border-color: var(--colorOrange);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 119, 0, 0.3);
}

.ashby-application-form-texting-consent-description {
  font-size: 0.78rem;
  color: var(--colorGrey1);
  margin-top: 4px;
  line-height: 1.4;
}

.ashby-application-blocking-disclosure {
  font-size: 0.8rem;
  color: var(--colorGrey1);
  background-color: rgba(26, 26, 26, 0.85);
  padding: 14px 18px;
  border-radius: var(--borderRadiusControl);
  margin-bottom: 24px;
  border: 1px solid var(--colorBorder);
}

/* --------------------------------------------------------------------------
   11. Unified Primary CTA Buttons (Exact DOM Class Targeting)
   -------------------------------------------------------------------------- */

/* Target <a> wrapper container for Apply Button */
a[class*="_container_"],
a[href*="/application"] {
  display: block !important;
  width: 100% !important;
  text-decoration: none !important;
  margin-bottom: 20px !important;
  background: transparent !important;
}

/* Target BOTH buttons (Apply for this Job & Submit Application) */
.ashby-application-form-submit-button,
button[class*="_submitButton_"],
a[class*="_container_"] button,
a[href*="/application"] button,
button[class*="_button_"][class*="_primary_"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background-color: rgba(255, 119, 0, 0.45) !important;
  color: #FFFFFF !important;
  font-family: var(--fontFamily) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 16px 32px !important;
  border-radius: var(--borderRadiusButton) !important;
  border: 1px solid var(--colorOrange) !important;
  cursor: pointer !important;
  transition: var(--transitionFast) !important;
  box-shadow: var(--shadowSm) !important;
  width: 100% !important;
  text-decoration: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-sizing: border-box !important;
}

/* Shared Hover States */
.ashby-application-form-submit-button:hover,
button[class*="_submitButton_"]:hover,
a[class*="_container_"] button:hover,
a[href*="/application"] button:hover,
button[class*="_button_"][class*="_primary_"]:hover {
  background-color: var(--colorOrange) !important;
  color: var(--colorBlack) !important;
  box-shadow: 0 6px 20px rgba(255, 119, 0, 0.5) !important;
  transform: translateY(-2px) !important;
}

.ashby-application-form-submit-button:disabled,
button[type="submit"]:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.ashby-application-form-success-container {
  background-color: rgba(255, 145, 0, 0.1);
  border: 2px solid var(--colorOrange);
  color: var(--colorYellow);
  border-radius: var(--borderRadiusContainer);
  padding: 28px;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.ashby-application-form-failure-container,
.ashby-application-form-blocked-application-container {
  background-color: var(--colorErrorBg);
  border: 2px solid var(--colorErrorBorder);
  color: var(--colorOffWhite);
  border-radius: var(--borderRadiusContainer);
  padding: 28px;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   12. Surveys
   -------------------------------------------------------------------------- */
.ashby-survey-form-container {
  margin-top: 28px;
  padding: 28px;
  background-color: var(--colorSurface);
  border: 1px solid var(--colorBorder);
  border-radius: var(--borderRadiusContainer);
}