/* QYJ supporting pages. No media dimensions, crop, filters or image declarations. */
body.qyj-support-page {
  --qyj-paper: #f5f2eb;
  --qyj-ink: #242824;
  --qyj-muted: #60675f;
  --qyj-accent: #8a482c;
  --qyj-line: #d9d9cc;
  --qyj-dark: #202d29;
  background-color: var(--qyj-paper);
  font-family: Arial, Helvetica, sans-serif;
}
body.qyj-support-page :where(.site-content, main, .site-header, .site-footer) {
  font-family: Arial, Helvetica, sans-serif;
}
body.qyj-support-page :where(.entry-content, .entry-summary, .site-footer) {
  font-size: 16px;
  line-height: 1.8;
}
body.qyj-support-page :where(.entry-content, .entry-summary) p {
  line-height: 1.8;
  margin-block-end: 1.25em;
}
body.qyj-support-page :where(.entry-content, .entry-summary, .site-footer)
  :is(p, li, dt, dd, label, legend, summary, .elementor-widget-text-editor, .elementor-icon-list-text) {
  font-family: Arial, Helvetica, sans-serif !important;
}
body.qyj-support-page :where(.site-main, .entry-content, .site-footer) :is(h1, h2, h3, h4) {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  letter-spacing: -.035em;
  line-height: 1.2;
}
body.qyj-support-page :where(.site-main, .entry-content) h1 {
  font-size: clamp(40px, 4.6vw, 68px) !important;
}
body.qyj-support-page :where(.site-main, .entry-content) h2 {
  font-size: clamp(30px, 3.3vw, 46px) !important;
}
body.qyj-support-page :where(.site-main, .entry-content) h3 {
  font-size: clamp(23px, 2vw, 29px) !important;
}
body.qyj-support-page :where(.entry-content, .site-main) :is(h1, h2, h3, h4) {
  margin-block-end: .65em;
}
body.qyj-support-page .site-content > .ast-container {
  max-width: 1320px;
  margin-inline: auto;
}
body.qyj-support-page .site-content {
  padding-block: 28px 52px;
}
body.qyj-support-page .main-header-bar {
  border-bottom: 1px solid var(--qyj-line);
}
body.qyj-support-page :is(.main-header-menu, .ast-builder-menu, .elementor-nav-menu) a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
}
body.qyj-support-page :where(.site-main, .entry-content, .site-header)
  :is(a.elementor-button, button.elementor-button, .wp-block-button__link, button.wpforms-submit, input[type='submit']) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.6;
  min-height: 49px;
  padding: 12px 24px;
  border: 1px solid var(--qyj-ink) !important;
  border-radius: 0 !important;
  background-color: var(--qyj-ink) !important;
  color: #fff !important;
  box-shadow: none;
}
body.qyj-support-page :where(.site-main, .entry-content, .site-header)
  :is(a.elementor-button, button.elementor-button, .wp-block-button__link, button.wpforms-submit, input[type='submit']):hover {
  background-color: #3b4a3e !important;
  color: #fff !important;
}
body.qyj-support-page :where(.site-main, .entry-content, .site-header, .site-footer)
  :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid var(--qyj-accent);
  outline-offset: 4px;
}
body.qyj-support-page :is(.elementor-tab-title, .elementor-accordion-title, .e-n-accordion-item-title, .e-n-tab-title) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5;
}
body.qyj-support-page :is(.e-n-accordion-item-title, .elementor-tab-title) :is(h2, h3, h4) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  letter-spacing: 0;
  margin: 0;
}
body.qyj-support-news .ast-article-post {
  border-bottom: 1px solid var(--qyj-line);
}
body.qyj-support-news h2.entry-title {
  font-size: clamp(26px, 2.4vw, 34px) !important;
}
body.qyj-support-page .site-footer :where(p, li, a) {
  font-size: 14px;
}
/* Applied only after checking original backgrounds and image/video regions. */
body.qyj-support-page .qyj-surface-paper { background-color: var(--qyj-paper) !important; }
body.qyj-support-page .qyj-surface-forest { background-color: var(--qyj-dark) !important; }
body.qyj-support-page .qyj-tone-ink { color: var(--qyj-ink) !important; }
body.qyj-support-page .qyj-tone-paper { color: var(--qyj-paper) !important; }
body.qyj-support-page .qyj-tone-link { color: var(--qyj-accent) !important; }
body.qyj-support-page a.qyj-tone-link { text-underline-offset: 4px; }
body.qyj-support-page a.qyj-tone-paper:hover { color: #d5dfb7 !important; }
@media (max-width: 767px) {
  body.qyj-support-page .site-content { padding-block: 18px 36px; }
  body.qyj-support-page :where(.entry-content, .entry-summary) { font-size: 16px; }
  body.qyj-support-page :where(.site-main, .entry-content) h1 { font-size: clamp(36px, 9vw, 48px) !important; }
}

/* Actual inquiry destination: keep the existing WPForms form and field layout. */
body.qyj-support-request-a-quote #content,
body.qyj-support-request-a-quote > .elementor[data-elementor-type='wp-page'] {
  width: min(1320px, calc(100% - 64px));
  max-width: 1320px;
  margin-inline: auto;
  padding-block: 42px 64px;
  box-sizing: border-box;
}
body.qyj-support-request-a-quote .elementor[data-elementor-type='wp-page'] :is(h1, h2) {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  letter-spacing: -.035em;
  line-height: 1.2;
}
body.qyj-support-request-a-quote .elementor[data-elementor-type='wp-page'] h1 {
  font-size: clamp(40px, 4.6vw, 68px) !important;
}
body.qyj-support-request-a-quote .elementor[data-elementor-type='wp-page'] h2 {
  font-size: clamp(30px, 3.3vw, 46px) !important;
}
body.qyj-support-request-a-quote .elementor[data-elementor-type='wp-page'] p {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  line-height: 1.8;
}
/* JS applies this class only to a form outside image/overlay backgrounds. */
body.qyj-support-request-a-quote .wpforms-container-full.qyj-quote-form {
  max-width: 1040px;
  margin: 36px auto 0;
  padding: clamp(20px, 3.5vw, 40px);
  box-sizing: border-box;
  border: 1px solid var(--qyj-line);
  background-color: #fff !important;
}
body.qyj-support-request-a-quote .qyj-quote-form
  :is(.wpforms-field-label, .wpforms-field-sublabel, .wpforms-field-description, .wpforms-field-label-inline) {
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.6;
}
body.qyj-support-request-a-quote .qyj-quote-form .wpforms-field
  :is(input[type='text'], input[type='email'], input[type='tel'], input[type='url'], input[type='number'], select, textarea):not(.wpforms-error):not([aria-invalid='true']) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  background-color: #fff !important;
  color: var(--qyj-ink);
  border-color: #c6ccbf !important;
  border-radius: 2px;
}
body.qyj-support-request-a-quote .qyj-quote-form
  :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--qyj-accent);
  outline-offset: 2px;
}
body.qyj-support-request-a-quote .qyj-quote-form button.wpforms-submit {
  font-family: Arial, Helvetica, sans-serif !important;
  background-color: var(--qyj-ink) !important;
  color: #fff !important;
  border: 1px solid var(--qyj-ink);
  border-radius: 0;
  min-height: 49px;
  padding: 12px 24px;
}
body.qyj-support-request-a-quote .qyj-quote-form button.wpforms-submit:hover {
  background-color: #3b4a3e !important;
}
@media (max-width: 767px) {
  body.qyj-support-request-a-quote #content,
  body.qyj-support-request-a-quote > .elementor[data-elementor-type='wp-page'] {
    width: calc(100% - 32px);
    padding-block: 24px 40px;
  }
  body.qyj-support-request-a-quote .wpforms-container-full.qyj-quote-form {
    padding: 20px 16px;
    margin-top: 24px;
  }
}

/* Quote forms can be Elementor, WPForms or native HTML; style their actual submit controls. */
body.qyj-support-request-a-quote :is(#content, main, .entry-content, .elementor[data-elementor-type='wp-page']) form
  :is(button[type='submit'], input[type='submit'], button.wpforms-submit, .elementor-field-type-submit .elementor-button) {
  background: #242824 !important;
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
  border: 1px solid #242824 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  padding: 14px 28px !important;
  min-height: 50px !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal;
  align-self: flex-start;
}
body.qyj-support-request-a-quote :is(#content, main, .entry-content, .elementor[data-elementor-type='wp-page']) form
  :is(button[type='submit'], input[type='submit'], button.wpforms-submit, .elementor-field-type-submit .elementor-button):hover {
  background: #3b4a3e !important;
  color: #fff !important;
}
body.qyj-support-request-a-quote :is(#content, main, .entry-content, .elementor[data-elementor-type='wp-page']) form
  :is(label, legend, .wpforms-field-label, .wpforms-field-sublabel, .elementor-field-label) {
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.6;
}
body.qyj-support-request-a-quote :is(#content, main, .entry-content, .elementor[data-elementor-type='wp-page']) form .elementor-button-text {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: .02em !important;
}
@media (max-width: 767px) {
  body.qyj-support-request-a-quote :is(#content, main, .entry-content, .elementor[data-elementor-type='wp-page']) form
    :is(button[type='submit'], input[type='submit'], button.wpforms-submit, .elementor-field-type-submit .elementor-button) {
    width: 100% !important;
  }
}
