/* ACE public client presentation, 05-Nov-26. Loaded after the native theme.
   Only this client header adds ace-support-client; staff pages are out of scope.
   Native forms, fields, scripts and routes remain unchanged. */
body.ace-support-client {
  --ace-green: #50D324;
  --ace-hover: #1EBA11;
  --ace-lime: #DBFF41;
  --ace-grey: #808184;
  min-width: 0;
  background: #f4f7f4;
  color: #24312a;
}
body.ace-support-client #container {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1120px;
  min-width: 0;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #dfe5dc;
  border-top: 4px solid var(--ace-green);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(30,50,30,.08);
}
body.ace-support-client #header {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  height: auto !important;
  min-height: 110px;
  padding: 18px 28px;
  gap: 12px 24px;
}
body.ace-support-client #header > .pull-right {
  order: 1;
  float: none !important;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
body.ace-support-client #header #logo.ace-brand {
  display: flex !important;
  flex: 0 1 auto;
  align-items: center;
  order: 0;
  float: none !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  min-width: 0;
  gap: 18px;
  text-decoration: none !important;
  border: 0 !important;
  margin: 0 !important;
}
body.ace-support-client #header #logo .ace-brand-logo {
  display: block;
  flex: 0 0 auto;
  width: 112px !important;
  max-width: 112px !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
}
body.ace-support-client .ace-support-title {
  display: block;
  color: #24312a;
  font: 650 clamp(24px,2.5vw,32px)/1.2 Inter, Arial, sans-serif;
  letter-spacing: -.025em;
}
body.ace-support-client #header p {
  width: auto !important;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  color: #59615a;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
body.ace-support-client #nav {
  display: flex;
  flex-wrap: wrap;
  height: auto !important;
  gap: 8px;
  margin: 0 !important;
  padding: 12px 24px;
  white-space: normal;
  background: #f4f7f4;
  border: 0;
  border-top: 1px solid #e1e8dd;
  border-bottom: 1px solid #e1e8dd;
  box-shadow: none;
}
body.ace-support-client #nav li {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}
body.ace-support-client #nav li a,
body.ace-support-client #nav li a:visited,
body.ace-support-client #nav li a:hover,
body.ace-support-client #nav li a:focus,
body.ace-support-client #nav li a:active {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 14px 10px 34px;
  border: 0 !important;
  border-radius: 8px !important;
  color: #24312a;
  line-height: 1.4;
  white-space: normal;
  background-position: 12px center;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}
body.ace-support-client #nav li a.active {
  background-color: var(--ace-green) !important;
  color: #142218 !important;
  font-weight: 650;
}
body.ace-support-client #nav li a:hover {
  background-color: var(--ace-hover) !important;
  color: #142218 !important;
}
body.ace-support-client #nav li a:focus-visible,
body.ace-support-client #logo:focus-visible,
body.ace-support-client .ace-footer a:focus-visible {
  outline: 3px solid #247d35;
  outline-offset: 3px;
}
body.ace-support-client #footer.ace-footer {
  box-sizing: border-box;
  width: 100%;
  max-width: 1120px !important;
  margin: 24px auto 32px !important;
  padding: 28px 22px;
  border: 1px solid #dfe5dc;
  border-radius: 12px;
  background: #fff;
  color: #465148 !important;
  font: 14px/1.65 Inter, Arial, sans-serif !important;
  text-align: left !important;
}
body.ace-support-client .ace-footer-grid {
  display: grid;
  grid-template-columns: minmax(130px,.7fr) minmax(200px,1fr) minmax(260px,1.35fr);
  gap: 24px;
}
body.ace-support-client .ace-footer-grid > div { min-width: 0; }
body.ace-support-client .ace-footer-brand img {
  display: block;
  width: 104px;
  max-width: 100%;
  height: auto;
  margin-bottom: 16px;
}
body.ace-support-client #footer.ace-footer p { margin: 0 0 10px !important; }
body.ace-support-client #footer.ace-footer .ace-footer-label {
  margin-bottom: 8px !important;
  color: #24312a;
  font-weight: 700;
  font-size: 15px;
}
body.ace-support-client .ace-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-top: 12px;
}
body.ace-support-client #footer.ace-footer a { color: #1c702d !important; }
body.ace-support-client .ace-footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  text-underline-offset: .18em;
}
body.ace-support-client .ace-footer-hours dl { margin: 0; }
body.ace-support-client .ace-footer-hours dt { font-weight: 650; color: #24312a; }
body.ace-support-client .ace-footer-hours dd { margin: 0 0 8px; }
body.ace-support-client .ace-article-layout .ace-article-main { min-width: 0; }
body.ace-support-client .ace-article-layout .thread-body {
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
body.ace-support-client .ace-article-layout .thread-body p { margin: 0 0 1em; }
body.ace-support-client .ace-article-layout .thread-body li { margin-bottom: .6em; }
body.ace-support-client .ace-article-layout .thread-body figure { margin: 20px 0; }
body.ace-support-client .ace-article-layout .thread-body img {
  max-width: 100% !important;
  height: auto !important;
}
body.ace-support-client .ace-article-layout .thread-body figcaption {
  margin-top: 8px;
  color: #59615a;
  font-size: 13px;
  line-height: 1.5;
}
body.ace-support-client .ace-article-layout .sidebar .content { border-radius: 12px; }
@media (max-width: 767px) {
  body.ace-support-client { padding: 10px !important; }
  body.ace-support-client #header { padding: 16px !important; gap: 10px; }
  body.ace-support-client #header #logo.ace-brand { width: 100% !important; gap: 14px; }
  body.ace-support-client #header #logo .ace-brand-logo {
    width: 84px !important;
    max-width: 84px !important;
  }
  body.ace-support-client .ace-support-title { font-size: clamp(23px,6vw,29px); }
  body.ace-support-client #header > .pull-right { width: 100%; text-align: left; margin-left: 0; }
  body.ace-support-client #nav { padding: 10px !important; gap: 6px; }
  body.ace-support-client #nav li { flex: 1 1 calc(50% - 6px); }
  body.ace-support-client #nav li a { width: 100%; padding: 10px 9px 10px 30px; background-position: 9px center; font-size: 14px; }
  /* The article precedes attachments/help topics on phones. Override the
     older theme's sidebar-first rule only for this FAQ-specific wrapper. */
  body.ace-support-client #content > .row.ace-article-layout {
    display: flex !important;
    flex-direction: column;
    gap: 24px;
  }
  body.ace-support-client #content > .ace-article-layout > .ace-article-main {
    order: 0 !important;
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }
  body.ace-support-client #content > .ace-article-layout > .ace-article-sidebar {
    order: 1 !important;
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }
  body.ace-support-client .ace-article-sidebar .sidebar { margin: 0 !important; }
  body.ace-support-client .ace-article-layout .thread-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    table-layout: auto !important;
  }
  body.ace-support-client #footer.ace-footer { padding: 22px 18px; }
  body.ace-support-client .ace-footer-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  body.ace-support-client .ace-footer-brand { display: flex; gap: 18px; align-items: center; }
  body.ace-support-client .ace-footer-brand img { width: 84px; margin: 0; }
  body.ace-support-client .ace-footer-brand a { flex: 0 0 84px; }
}
