/* Header background override */

.lt-header-wrapper {
  background: var(--color-surface-primary) !important;
}

.lt-header {
  background: transparent !important;
}

/* Header lockup: logo + divider + label */
.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px; /* logo ↔ divider, divider ↔ label */
  color: var(--color-text-primary);
}
.brand-lockup__link {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
.brand-lockup__link:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: 4px;
  border-radius: 6px;
}
.brand-lockup__logo {
  display: inline-flex;
  align-items: center;
}
.brand-lockup__logo img {
  display: block; /* prevent descender jitter */
  height: 24px; /* match Figma lockup height */
  width: auto;
}
.brand-lockup__divider {
  width: 1px;
  height: 24px; /* Figma: label line-height */
  background-color: currentColor;
  opacity: 0.32; /* subtle per design */
}
.brand-lockup__label {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500; /* Barlow Medium per design */
}
.lt-mobile-drawer-header {
  min-width: 0;
}
.lt-mobile-drawer-header__logo {
  width: auto;
  max-width: calc(100% - 3.5rem);
  height: 24px;
  object-fit: contain;
}
.lt-mobile-drawer-header__close {
  width: 2.5rem;
  height: 2.5rem;
}

@media (max-width: 991px) {
  .lt-header__controls {
    width: min(86vw, 360px);
    max-width: 360px;
    padding: 1.25rem;
    gap: 1rem;
    overflow-y: auto;
    border-right: 1px solid var(--color-border-muted);
    box-shadow: var(--shadow-drawer);
    transition: transform 240ms ease;
  }

  [dir="rtl"] .lt-header__controls {
    border-right: 0;
    border-left: 1px solid var(--color-border-muted);
    box-shadow: var(--shadow-drawer-rtl);
  }

  [dir="ltr"] .lt-header__controls.is-active,
  [dir="rtl"] .lt-header__controls.is-active {
    box-shadow: var(--shadow-drawer);
  }

  [dir="rtl"] .lt-header__controls.is-active {
    box-shadow: var(--shadow-drawer-rtl);
  }

  .lt-backdrop {
    background-color: var(--color-overlay-backdrop);
  }

  .lt-mobile-drawer-header {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--color-border-muted);
  }

  .lt-mobile-drawer-header__close {
    border-radius: 999px;
  }

  .lt-mobile-drawer-header__close:hover,
  .lt-mobile-drawer-header__close:focus {
    background-color: var(--color-surface-soft);
    opacity: 1;
  }

  .lt-mobile-drawer-header__close .lt-header__close {
    width: 1.75rem;
    height: 1.75rem;
  }

  #user-nav .lt-search-wrap-small {
    margin-top: 0.25rem;
  }

  #user-nav .lt-search-wrap-small svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  #user-nav .lt-search-wrap-small input[type="search"] {
    height: 3.25rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem;
    border-color: var(--color-border-subtle);
    border-radius: 6px;
  }

  #user-nav .lt-header__link,
  #user-nav .lt-dropdown--header,
  #user-nav .lt-mobile-drawer-cta {
    width: 100%;
  }

  #user-nav .lt-header__link,
  #user-nav .lt-dropdown--header > .lt-dropdown-toggle {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.25rem 0;
    font-size: 1rem;
    line-height: 1.4;
  }

  #user-nav .lt-mobile-drawer-cta {
    margin-top: 0.25rem;
  }

  #user-nav .lt-mobile-drawer-cta .lt-btn--header {
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1rem;
    border-radius: 6px;
  }

  #user-nav #user {
    order: 20;
    width: 100%;
    padding-top: 1rem;
    margin-top: auto;
    border-top: 1px solid var(--color-border-muted);
  }

  #user-nav .lt-dropdown-toggle--user {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
  }
}

@media (min-width: 768px) {
  #user-nav .lt-max-w-search-md,
  #user-nav .lt-max-w-search-lg,
  #user-nav .lt-max-w-search-xl,
  #user-nav .lt-max-w-search-xxl {
    max-width: 22rem;
  }
}

#user-nav .lt-search-button--inline {
  min-height: 2.75rem;
  border-color: var(--color-border-subtle);
  background-color: var(--color-surface-primary);
  color: var(--color-text-secondary, #68737d);
  font-weight: 500;
  box-shadow: none;
}

#user-nav .lt-search-button--inline > span {
  min-width: 0;
}

#user-nav .lt-search-button--inline [data-header-search-label] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: none;
}

/* Keyboard focus uses one dark outer ring across theme surfaces. */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
input:not([type="hidden"]):focus-visible,
select:focus-visible,
textarea:focus-visible,
.nesty-input:focus-visible,
ul[data-hc-pills-container][data-hc-focus="true"],
.ck.ck-button:focus-visible,
.ck.ck-content.ck-editor__editable.ck-editor__editable_inline.ck-focused,
.ck.ck-content.ck-editor__editable.ck-focused,
.ck.ck-toolbar:focus-visible,
.garden-focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
  outline-offset: var(--focus-ring-offset);
  box-shadow: none !important;
}

/* Very small screens: wrap label under logo */
@media (max-width: 480px) {
  .brand-lockup {
    flex-wrap: wrap;
    row-gap: 6px;
    column-gap: 8px;
  }
  .brand-lockup__divider {
    display: none;
  }
  .brand-lockup__label-link {
    flex-basis: 100%;
    order: 3; /* ensure label goes under logo */
  }
}

/* Barlow font overrides */

:root {
  --focus-ring-color: var(--color-text-primary, #333);
  --focus-ring-width: 2px;
  --focus-ring-offset: 3px;
  --color-surface-primary: var(--color-bg, #fff);
  --color-surface-muted: var(--color-bg-secondary, #f7f7f7);
  --color-surface-soft: #f5f5f5;
  --color-footer-bg: rgb(247 247 247 / 72%);
  --color-border-muted: var(--color-border, #e6e6e6);
  --color-border-subtle: var(--color-border, #d9d9d9);
  --color-brand-tint: #fff8f4;
  --color-brand-border-muted: rgba(235, 53, 0, 0.45);
  --color-brand-border-strong: rgba(235, 53, 0, 0.55);
  --color-warning-surface: #fff8e6;
  --color-warning-border: rgba(202, 112, 0, 0.35);
  --color-warning-text: #5f3b00;
  --color-overlay-backdrop: rgb(0 0 0 / 32%);
  --shadow-drawer: 8px 0 32px rgb(0 0 0 / 18%);
  --shadow-drawer-rtl: -8px 0 32px rgb(0 0 0 / 18%);
  --shadow-card-hover:
    rgba(0, 0, 0, 0.06) 0 0 0 1px,
    rgba(220, 223, 226, 0.3) 0 24px 48px 0,
    rgba(0, 0, 0, 0.08) 0 6px 16px 0;
  --shadow-table-lift: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-search-result-hover:
    rgba(0, 0, 0, 0.06) 0 0 0 1px,
    rgba(220, 223, 226, 0.3) 0 20px 42px 0,
    rgba(0, 0, 0, 0.08) 0 6px 16px 0;
  --shadow-promoted-result: 0 8px 20px rgba(51, 51, 51, 0.08);
  --shadow-promoted-result-hover: 0 10px 24px rgba(51, 51, 51, 0.12);
  --shadow-control-hover: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-menu: 0 16px 34px rgba(0, 0, 0, 0.14);
  --brand-font:
    "Barlow", system-ui, -apple-system, "Segoe UI", roboto, helvetica, arial, "Apple Color Emoji",
    "Segoe UI Emoji", sans-serif;
  --font-family-body:
    "Barlow", system-ui, -apple-system, "Segoe UI", roboto, helvetica, arial, "Apple Color Emoji",
    "Segoe UI Emoji", sans-serif;
  --font-family-heading:
    "Barlow", system-ui, -apple-system, "Segoe UI", roboto, helvetica, arial, "Apple Color Emoji",
    "Segoe UI Emoji", sans-serif;
  /* default was 2rem */
  --callout-padding: 1rem;
  /* buttons */
  --button-font-weight: 600;
  /* Dark gray for better WCAG compliance (was: SearchStax brand orange #EB3500) */
  --color-link: #333;
  --color-link-hover: #333;
}

html,
body {
  font-family: var(--brand-font);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--brand-font);
}

/* Tighten callout padding globally (keeps icon math intact) */
@media (min-width: 768px) {
  :root {
    --callout-padding: 1.25rem;
  }
}

/* Callouts spacing + inner flow (merged) */
.lt-article__body .callout,
.lt-article__body .note,
.lt-article__body .warning,
.lt-article__body .danger,
.lt-article__body .success {
  margin-block: 1.5rem;
  overflow-wrap: anywhere;

  --flow-space: 0.5rem; /* was 1rem */
}
@media (min-width: 768px) {
  .lt-article__body .callout,
  .lt-article__body .note,
  .lt-article__body .warning,
  .lt-article__body .danger,
  .lt-article__body .success {
    margin-block: 1.75rem;
  }
}

/* Consistent spacing for common content blocks in article body */
.lt-article__body p,
.lt-article__body ul,
.lt-article__body ol,
.lt-article__body pre,
.lt-article__body blockquote,
.lt-article__body table,
.lt-article__body figure {
  margin-block: 1.25rem; /* overrides vendor p margin */
}

.lt-article__body,
.lt-article__body a {
  overflow-wrap: anywhere;
}

.lt-article__body pre {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.lt-article__body pre code {
  display: block;
  min-width: max-content;
  white-space: pre;
}

.lt-article__body .lt-code-header {
  gap: 0.5rem;
}

.lt-article__body .lt-copy-code {
  border-radius: 6px;
}

.lt-article__body .lt-copy-code:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.lt-code-copy-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

/* Inline code background (leave block code styling intact) */
.lt-article__body :not(pre) > code {
  background-color: var(--code-bg);
}

/* Special case: figures and images inside list items need breathing room from preceding content */
.lt-article__body li > p + figure,
.lt-article__body li > code + figure,
.lt-article__body li > * + figure,
.lt-article__body li > p + img,
.lt-article__body li > code + img,
.lt-article__body li > * + img {
  margin-top: 1rem; /* 16px - comfortable gap between list text and images */
}

/* Images inside paragraphs within list items (common WYSIWYG pattern: text, <br>, <img>) */
.lt-article__body li p img {
  display: block; /* prevent inline spacing issues */
  margin-top: 0.75rem; /* 12px - breathing room after line break */
  margin-bottom: 0.75rem; /* 12px - space before next list item */
}

/* Also ensure standalone images in list items have bottom spacing */
.lt-article__body li > img {
  display: block;
  margin-bottom: 0.75rem; /* 12px - space before next list item */
}

/* Heading spacing: larger top margin for separation, smaller bottom to group with content */
.lt-article__body h2 {
  margin-top: 1.5rem;  /* 24px - tighter section breaks */
  margin-bottom: 0.5rem; /* 8px - keeps heading close to its content */
}
.lt-article__body h3 {
  margin-top: 1.25rem; /* 20px */
  margin-bottom: 0.5rem; /* 8px */
}
.lt-article__body h4 {
  margin-top: 1rem;    /* 16px - same as p top margin */
  margin-bottom: 0.5rem; /* 8px */
}
.lt-article__body h5,
.lt-article__body h6 {
  margin-top: 0.75rem; /* 12px */
  margin-bottom: 0.5rem; /* 8px */
}

/* Exception: first heading after article title shouldn't have excess top space */
.lt-article__body > h2:first-child,
.lt-article__body > h3:first-child,
.lt-article__body > h4:first-child {
  margin-top: 0;
}

/* Only unclassed DIVs get spacing (won’t hit callouts) */
.lt-article__body > div:not([class]),
.lt-article__body section > div:not([class]) {
  margin-block: 1.25rem;
}

/* Nicer comparison table */
.wysiwyg-table > table {
  --tbl-border: var(--color-border);
  --tbl-alt: var(--color-surface-muted); /* slightly lighter than before */
  --tbl-header: var(--color-surface-primary);
  --tbl-text: var(--color-text-primary);
  --tbl-muted: var(--color-text-secondary);

  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--tbl-border) !important;
  border-radius: 10px;
  overflow: hidden;
  background: var(--color-surface-primary);
  font-size: 0.95rem;
  color: var(--tbl-text);
  box-shadow: var(--shadow-table-lift);
  min-width: 720px;
}

/* Header: tighter, bolder, with subtle divider */
.wysiwyg-table > table thead th {
  background: var(--tbl-header);
  padding: 14px 18px;
  border-bottom: 2px solid var(--tbl-border);
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.wysiwyg-table > table thead th:first-child {
  text-align: left;
}

/* Set useful column widths */
.wysiwyg-table > table thead th:nth-child(1),
.wysiwyg-table > table tbody th:nth-child(1) {
  width: 26ch;
}
.wysiwyg-table > table thead th:nth-child(2),
.wysiwyg-table > table tbody td:nth-child(2) {
  width: 44ch;
}
.wysiwyg-table > table thead th:nth-child(3),
.wysiwyg-table > table thead th:nth-child(4),
.wysiwyg-table > table tbody td:nth-child(3),
.wysiwyg-table > table tbody td:nth-child(4) {
  width: 16ch;
  text-align: center;
}

/* Cells: more breathing room and crisp separators */
.wysiwyg-table > table tbody th,
.wysiwyg-table > table tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--tbl-border);
  vertical-align: middle;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: normal;
}

.wysiwyg-table > table thead th,
.wysiwyg-table > table tbody th,
.wysiwyg-table > table tbody td {
  overflow-wrap: anywhere;
  word-break: normal;
}
.wysiwyg-table > table tbody th {
  text-align: left;
  font-weight: 500;
}

/* Zebra with softer contrast */
.wysiwyg-table > table tbody tr:nth-child(even) th,
.wysiwyg-table > table tbody tr:nth-child(even) td {
  background: var(--tbl-alt);
}

/* Row hover for readability */
.wysiwyg-table > table tbody tr:hover th,
.wysiwyg-table > table tbody tr:hover td {
  background: #f0f4f8;
}

/* Compact muted text */
.wysiwyg-table > table td small,
.wysiwyg-table > table th small {
  color: var(--tbl-muted);
  font-weight: 400;
}

/* Mobile: gentle scroll and min width so columns don’t crush */
.wysiwyg-table {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  margin-top: 8px;
  margin-bottom: 24px;
}
/* min-width set in primary table block above */

/* Override Zendesk's zero padding on th/td */
.wysiwyg-table table th,
.wysiwyg-table table td {
  padding: 16px 24px !important; /* force spacing */
  vertical-align: top !important; /* force top alignment */
  text-align: left;
}

/* Normalize borders in the related/section article list */
.details .accordion__content ul.lt-article-list > li.lt-article-list-item > .lt-flow,
details.accordion .accordion__content ul.lt-article-list > li.lt-article-list-item > .lt-flow,
.lt-article-container ul.lt-article-list > li.lt-article-list-item > .lt-flow {
  border-bottom: 1px solid #b3b3b3 !important;
}
.details .accordion__content ul.lt-article-list > li.lt-article-list-item:last-child > .lt-flow,
details.accordion
  .accordion__content
  ul.lt-article-list
  > li.lt-article-list-item:last-child
  > .lt-flow,
.lt-article-container ul.lt-article-list > li.lt-article-list-item:last-child > .lt-flow {
  border-bottom: 0 !important;
}

/* Normalize borders for article lists on all templates (category/section/article) */
ul.lt-article-list > li.lt-article-list-item > .lt-flow {
  border-bottom: 1px solid #b3b3b3 !important;
}
ul.lt-article-list > li.lt-article-list-item:last-child > .lt-flow {
  border-bottom: 0 !important;
}

/* Promoted articles (homepage): left-align title and excerpt */
#promoted-articles-list ul.lt-row > li .lt-flow {
  text-align: left;
}
#promoted-articles-list ul.lt-row > li .lt-flow a {
  display: inline; /* allow natural left alignment */
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Use default row alignment (no centering override) */
#promoted-articles-list ul.lt-row {
  justify-content: flex-start;
}

/* Hide Popular Searches on homepage (can re-enable later) */
.lt-popular-searches {
  display: none !important;
}

/* Home page reflow: avoid overlapping custom blocks at narrow widths/zoom */
@media (max-width: 767px) {
  .lt-custom-blocks__items {
    margin-top: 0 !important;
  }
}

/* Support portal entry points: visible by default (previous hide rules removed) */

/* Opt-in: content-sized columns for tables */
.wysiwyg-table.auto-cols > table {
  table-layout: auto;
  width: auto;
  max-width: 100%;
  min-width: 0; /* override global min-width: 720px */
}

/* Buttons: All Caps Barlow Semi-Condensed Semi-Bold */
/* moved --button-font-weight to the main :root block above */

.lt-btn:not(.lt-btn--icon),
.lt-section-subscribe button:not(.lt-btn--icon),
.lt-article-subscribe button:not(.lt-btn--icon),
.lt-follow button:not(.lt-btn--icon),
.lt-profile__buttons button:not(.lt-btn--icon),
.lt-profile__buttons a:not(.lt-btn--icon),
.lt-vote button:not(.lt-btn--icon),
.lt-request-table-filters button:not(.lt-btn--icon) {
  font-family: "Barlow Semi Condensed", sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Home, category, and section navigation surfaces */
.lt-custom-blocks .lt-card,
#category-tree .lt-card,
#section-list .lt-card {
  min-width: 0;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.lt-custom-blocks .lt-card:hover,
.lt-custom-blocks .lt-card:focus-within,
#category-tree .lt-card:hover,
#category-tree .lt-card:focus-within,
#section-list .lt-card:hover,
#section-list .lt-card:focus-within {
  border-color: var(--color-border, #d1d1d1);
  box-shadow: var(--shadow-card-hover);
}

.lt-custom-blocks .lt-card__content,
#category-tree .lt-card__content,
#section-list .lt-card__content {
  min-width: 0;
}

.lt-card__heading,
.lt-card__text,
.lt-category-tree-item__title,
.category-page .section h2,
.section-page h1 {
  overflow-wrap: anywhere;
}

.lt-card__text,
.category-page .lt-article-list p,
.section-page .lt-article-list p,
.section-page .lt-container-inner > ul.lt-list-unstyled.lt-row p,
#promoted-articles-list p {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.lt-card__link {
  font-family: "Barlow", sans-serif !important;
  font-weight: 500 !important;
  color: var(--color-link); /* WCAG compliant text color */
  max-width: 100%;
  border-radius: 6px;
  text-decoration: none !important;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
  overflow-wrap: anywhere;
}
.lt-section-link {
  font-family: "Barlow", sans-serif !important;
  font-weight: 500 !important;
  color: var(--color-link); /* WCAG compliant text color */
  max-width: 100%;
  border-radius: 6px;
  text-decoration: none !important;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
  overflow-wrap: anywhere;
}
.category-page .lt-article-list a,
.section-page .lt-article-list a,
.section-page .lt-container-inner > ul.lt-list-unstyled.lt-row a {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important;
  color: var(--color-link); /* WCAG compliant text color */
  display: inline-block;
  max-width: 100%;
  border-radius: 6px;
  text-decoration: none !important;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
  overflow-wrap: anywhere;
}
.category-page .lt-article-list a:hover,
.category-page .lt-article-list a:focus-visible,
.section-page .lt-article-list a:hover,
.section-page .lt-article-list a:focus-visible,
.section-page .lt-container-inner > ul.lt-list-unstyled.lt-row a:hover,
.section-page .lt-container-inner > ul.lt-list-unstyled.lt-row a:focus-visible,
.lt-underlined-link:hover,
.lt-underlined-link:focus-visible {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important; /* Keep weight stable - no layout shift */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}
.lt-card__link:focus-visible,
.lt-section-link:focus-visible,
.category-page .lt-article-list a:focus-visible,
.section-page .lt-article-list a:focus-visible,
.section-page .lt-container-inner > ul.lt-list-unstyled.lt-row a:focus-visible,
#promoted-articles-list a:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}
.lt-card__link:hover,
.lt-card__link:focus-visible,
.lt-section-link:hover,
.lt-section-link:focus-visible {
  font-weight: 500 !important; /* Keep weight stable */
  color: var(--color-link-hover); /* same color on hover */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Article body links */
/* WCAG-compliant: always-visible underline for clear link affordance */
.lt-article__body a {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important;
  color: var(--color-link); /* WCAG compliant text color */
  text-decoration: underline !important;
  text-decoration-color: currentColor !important; /* always visible */
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-article__body a:hover,
.lt-article__body a:focus-visible {
  font-weight: 400 !important; /* Keep weight stable - no layout shift */
  color: var(--color-link-hover); /* same color on hover */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Search results links */
/* SearchStax promoted result cards */
.lt-search-results-page .searchstax-search-result:has(.searchstax-search-result-promoted) {
  position: relative;
  margin: 0 0 1rem;
  padding: 1.45rem 1.5rem;
  border: 1px solid var(--color-brand-border-muted);
  border-radius: 8px;
  background: var(--color-brand-tint);
  box-shadow: var(--shadow-promoted-result);
}

.lt-search-results-page .searchstax-search-result:has(.searchstax-search-result-promoted)::before {
  content: "Recommended";
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: var(--color-text-primary);
  color: var(--color-surface-primary);
  font-family: "Barlow Semi Condensed", "Barlow", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Keep the existing promoted marker available to assistive tech, but remove the weak star treatment visually. */
.lt-search-results-page .searchstax-search-result-promoted {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lt-search-results-page .searchstax-result-item-link:hover .searchstax-search-result:has(.searchstax-search-result-promoted) {
  border-color: var(--color-brand-border-strong);
  box-shadow: var(--shadow-promoted-result-hover);
}

/* Align first SearchStax result card with the filters panel */
.lt-search-results-page .searchstax-page-layout-result-container {
  padding-top: 0 !important;
}

.lt-search-results-page #searchstax-results-container,
.lt-search-results-page .searchstax-search-results {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Align first SearchStax result card with the filters panel */
/* Align first SearchStax result card with the filters panel */
.lt-search-results-page .searchstax-page-layout-result-container,
.lt-search-results-page #searchstax-results-container,
.lt-search-results-page .searchstax-search-results {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.lt-search-results-page .searchstax-search-results > .searchstax-result-item-link:first-child {
  display: block;
  margin-top: -1rem !important;
}

/* Keep Smart Answers spacing consistent with result card spacing */
.lt-search-results-page #searchstax-answer-container:not(:empty) {
  margin-bottom: 1rem;
}

.lt-search-results-page #searchstax-answer-container .searchstax-answer-wrap {
  border-color: var(--color-border);
}

/* Restore normal spacing when Smart Answers appears above results */
.lt-search-results-page
  #searchstax-answer-container:not(:empty)
  ~ #searchstax-results-container
  .searchstax-search-results
  > .searchstax-result-item-link:first-child {
  margin-top: 1rem !important;
}

/* Breadcrumbs: underline on hover only, no weight change */
.lt-search-results-page .lt-breadcrumbs--search-results a {
  text-decoration: none !important;
  text-underline-offset: 2px;
}
.lt-search-results-page .lt-breadcrumbs--search-results a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  font-weight: inherit !important;
  font-family: inherit !important;
}

/* Result titles: underline always visible, thicker on hover, no weight change */
.lt-search-result__title a {
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-search-result__title a:hover {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important; /* Keep weight stable */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Other search links (left filters, etc.): 2px underline on hover */
.lt-search-filter__link:hover,
.lt-search-results-page a.lt-underlined-link:hover {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important; /* Keep weight stable */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* My Activities (Following/Requests/Contributions) titles */
.my-activities-page,
.lt-request-page,
.lt-profile-section,
.lt-profile-header {
  min-width: 0;
}

.lt-my-activities-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.lt-my-activities-items {
  min-width: 0;
}

.lt-my-activities-items__col,
.lt-my-activities-item__meta,
.lt-subscriptions-subscribe,
.lt-request-subject,
.lt-comment__body,
.request-details,
.request-details dt,
.request-details dd,
.request-details span,
.lt-profile-header__name,
.lt-profile-header__description,
.lt-profile-stats__stat,
.lt-profile-stats__value,
.lt-profile-nav__item,
.lt-profile-section__description,
.lt-profile-contribution,
.lt-profile-contribution__title,
.lt-profile-contribution__body,
.lt-profile-contribution__breadcrumbs,
.lt-meta--profile,
.lt-profile__no-activity,
.lt-profile__private-activity {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.lt-my-activities-menu--sub a,
.lt-profile-nav__item a,
.lt-profile-contribution__title a,
.lt-profile-contribution__breadcrumbs a,
.lt-meta--profile a,
.comment-link {
  border-radius: 6px;
  text-underline-offset: 2px;
}

.lt-my-activities-menu--sub a:hover,
.lt-my-activities-menu--sub a:focus-visible,
.lt-profile-nav__item a:hover,
.lt-profile-nav__item a:focus-visible,
.lt-profile-contribution__title a:hover,
.lt-profile-contribution__title a:focus-visible,
.lt-profile-contribution__breadcrumbs a:hover,
.lt-profile-contribution__breadcrumbs a:focus-visible,
.lt-meta--profile a:hover,
.lt-meta--profile a:focus-visible,
.comment-link:hover,
.comment-link:focus-visible {
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.lt-my-activities-item__title {
  display: inline-block;
  max-width: 100%;
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important;
  text-decoration: none;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-my-activities-item__title:hover,
.lt-my-activities-item__title:focus-visible {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important; /* Keep weight stable */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

@media (max-width: 575px) {
  .lt-my-activities-table-wrap {
    overflow-x: visible;
  }

  .lt-my-activities-items {
    margin-bottom: 2rem;
  }

  .lt-my-activities-items__row {
    min-width: 0;
  }

  .lt-my-activities-item {
    overflow-wrap: anywhere;
  }

  .lt-comment-form__controls {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }
}

/* Promoted articles (homepage): make links larger and heavier.
   Keep hover/focus weight stable to avoid layout shift. */
#promoted-articles-list a {
  font-family: "Barlow", sans-serif !important;
  font-size: 18px;             /* up from ~16px */
  font-weight: 600 !important; /* Barlow SemiBold at rest */
  line-height: 1.35;
  max-width: 100%;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
  overflow-wrap: anywhere;
}
#promoted-articles-list a:hover,
#promoted-articles-list a:focus-visible {
  font-family: "Barlow", sans-serif !important;
  font-weight: 600 !important; /* no weight jump on interaction */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Error page: 2px underline on hover, no weight change */
.lt-error-page__articles a {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important;
  text-decoration: none;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-error-page__articles a:hover,
.lt-error-page__articles a:focus-visible {
  font-family: "Barlow", sans-serif !important;
  font-weight: 400 !important; /* Keep weight stable */
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Global breadcrumbs: underline on hover only (articles, categories, etc.) */
.breadcrumbs a {
  text-decoration: none !important;
  text-underline-offset: 2px;
}
.breadcrumbs a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
}

/* Promoted star icon color override */
.lt-star-icon {
  /* Brand orange */
  fill: var(--color-brand-primary) !important;
}
.wysiwyg-table.auto-cols > table thead th,
.wysiwyg-table.auto-cols > table tbody th,
.wysiwyg-table.auto-cols > table tbody td {
  width: auto !important; /* override fixed nth-child widths */
  white-space: normal;
  min-width: 0;
}

/* Variant: content-sized columns but prevent wrapping */
.wysiwyg-table.auto-cols-nowrap > table {
  table-layout: auto;
  width: auto;
  max-width: 100%;
  min-width: 0;
}
.wysiwyg-table.auto-cols-nowrap > table th,
.wysiwyg-table.auto-cols-nowrap > table td {
  white-space: nowrap;
  width: auto !important;
  min-width: 0;
}

/* Allow wrapping only on detected dominant column */
.wysiwyg-table.auto-cols-nowrap.auto-wrap-dominant > table th.auto-wrap-col,
.wysiwyg-table.auto-cols-nowrap.auto-wrap-dominant > table td.auto-wrap-col {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Enforce left alignment for all table cells */
.wysiwyg-table > table th,
.wysiwyg-table > table td {
  text-align: left !important;
}

/* In-article TOC (sidebar) */
.lt-article-toc {
  position: sticky;
  top: calc(var(--header-height, 64px) + 16px);
  padding-top: 0.5rem;
}
@media (min-width: 1200px) {
  /* Long TOCs: constrain to viewport and allow inner scrolling to avoid
     page scroll jumps when keeping the active item visible */
  .lt-article-toc {
    max-height: calc(100vh - (var(--header-height, 64px) + 32px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* Zero-height sentinels used by TOC observer; ensure no layout/AT impact */
.toc-sentinel {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.lt-article-toc__title {
  margin-bottom: 0.5rem;
  color: #555;
  text-transform: uppercase;
}
.lt-article-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lt-article-toc__list li {
  margin: 0.25rem 0;
}
.lt-article-toc__list li[data-depth="3"] {
  padding-left: 1rem;
  font-size: 0.95em;
}
.lt-article-toc a {
  color: var(--color-link);
  display: block;
  max-width: 100%;
  padding: 2px 6px;
  border-radius: 6px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-decoration: none;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-article-toc a:hover,
.lt-article-toc a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
.lt-article-toc a:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: 2px;
}
.lt-article-toc a.is-active {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Ensure headings don't hide under fixed header when linking */
.lt-article__body h2,
.lt-article__body h3 {
  scroll-margin-top: calc(var(--header-height, 64px) + 16px);
}

/* Bottom "Articles in this section" styling on article page */
.lt-article-page .lt-section-articles .lt-article-list a {
  color: var(--color-link);
  display: inline-block;
  padding: 2px 6px;
  border-radius: 6px;
  text-decoration: none;
  text-underline-offset: 2px;
  transition: text-decoration-thickness 0.2s ease;
}
.lt-article-page .lt-section-articles .lt-article-list a:hover,
.lt-article-page .lt-section-articles .lt-article-list a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
.lt-article-page .lt-section-articles .lt-article-list a[aria-current="page"] {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Remove horizontal dividers in bottom "Articles in this section" list and tweak item spacing */
.lt-article-page .lt-section-articles .lt-article-list > li > .lt-flow,
.lt-article-page
  .lt-section-articles
  details.accordion
  .accordion__content
  ul.lt-article-list
  > li.lt-article-list-item
  > .lt-flow,
.lt-article-page .lt-section-articles .lt-article-list > li > .lt-flow.lt-border-bottom {
  border-bottom: 0 !important;
}
/* Compact spacing like TOC: reduce right/bottom padding and item gaps */
.lt-article-page .lt-section-articles .lt-article-list > li {
  margin: 0.25rem 0;
}
.lt-article-page .lt-section-articles .lt-article-list > li > .lt-flow {
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  text-align: center;
}

/* Center the entire bottom section list */
.lt-article-page .lt-section-articles .lt-article-list {
  text-align: center;
}

/* Center the "Articles in this section" heading */
.lt-article-page .lt-section-articles summary {
  text-align: center !important;
}
.lt-article-page .lt-section-articles .accordion__summary-wrapper {
  justify-content: center !important;
}

/* Move scroll-to-top button to bottom-right */
[dir="ltr"] .lt-scroll-to-top {
  left: auto !important;
  right: 2rem !important;
}

/* Make the entire left sidebar sticky on desktop */
@media (min-width: 1200px) {
  .lt-article-container__sidenav {
    position: sticky;
    top: calc(var(--header-height, 64px) + 16px);
    align-self: start;
    height: max-content;
  }
}

/* Accordion: avoid inner double borders when content is also marked as .tab */
.accordion .accordion__content.tab {
  border: 0 !important;
  border-radius: 0 !important;
  padding: var(--lt-accordion-padding-vertical) var(--lt-accordion-padding-horizontal) !important;
}

/* If a tab panel exists inside accordion content, keep it borderless to align with outer frame */
.accordion .accordion__content .tab {
  border: 0;
  border-radius: 0;
}

/* When the left sidenav is disabled, use a 2-column layout with TOC on the right */
@media (min-width: 1200px) {
  /* Establish an explicit grid so content never flows under the TOC */
  .lt-article-container--no-left {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px; /* content, toc */
    grid-template-areas: "main toc";
    column-gap: 24px;
    align-items: start;
  }
  .lt-article-container--no-left .lt-article-container__sidenav {
    display: none;
  }
  .lt-article-container--no-left .lt-article-container__sidebar {
    display: none !important;
  }
  .lt-article-container--no-left .lt-article-container__article {
    grid-area: main;
    min-width: 0;
    position: relative;
    z-index: 1;
    background: var(--color-surface-primary);
  }
  /* Keep TOC sticky within its column */
  .lt-article-container--no-left .lt-article-container__toc {
    grid-area: toc;
    position: sticky;
    top: calc(var(--header-height, 64px) + 16px);
    align-self: start;
    z-index: 0;
  }
  .toc-enabled .lt-article-container__sidebar {
    display: none !important;
  }
  .toc-enabled .lt-article-container--sidenav .lt-article-container__toc {
    grid-area: toc;
  }

  /* Remove hard width cap to avoid over-shrinking content; rely on grid. */

  /* Ensure custom element host cannot exceed the content box */
  .lt-article-container__article tabs-component.tabs {
    display: block;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Tabs component: encourage inline chips instead of stacked rows */
  .lt-article__body tabs-component.tabs .tabs-link[role="tab"] {
    display: inline-flex !important;
    align-items: center;
    white-space: nowrap;
    gap: 6px;
    margin-right: 12px;
    padding: 8px 12px;
    border-radius: 8px 8px 0 0;
    border: 1px solid transparent; /* filled for selected state */
    position: relative;
  }

  /* Group baseline under tabs */
  .lt-article__body tabs-component.tabs {
    border-bottom: 0;
    margin-bottom: 0;
  }

  /* Selected tab chip merges into panel */
  .lt-article__body tabs-component.tabs .tabs-link[role="tab"][aria-selected="true"] {
    border-color: var(--color-border);
    border-bottom-color: transparent; /* allow panel top border to continue */
    background-color: var(--color-surface-primary);
    color: var(--color-link); /* dark gray for text link contrast, keep border accent orange */
    font-weight: 600;
    margin-bottom: -1px; /* tuck into the panel top border for a seamless join */
  }

  /* Panel box: shared border with selected tab */
  .lt-article__body tab-panel.tab {
    display: block;
    border: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    border-radius: 0 8px 8px;
    padding: 16px;
    background-color: var(--color-surface-primary);
    margin-top: 0; /* no compensation needed now that baseline is removed */
  }

  /* Harmonize headings inside tab panels with article spacing */
  .lt-article__body tab-panel.tab h4 {
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
  }
  .lt-article__body tab-panel.tab h5 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
  }
  /* Avoid extra space when a heading is the first element in the panel */
  .lt-article__body tab-panel.tab > :first-child {
    margin-top: 0 !important;
  }

  /* Desktop UX: wrap tabs to additional rows, no horizontal scroll */
  /* Web component tabs: avoid forcing borders/structure from outside */
  .lt-article__body [role="tablist"],
  .lt-article__body .tabs,
  .lt-article__body .lt-tabs {
    max-width: 100%;
  }
  .lt-article__body [role="tab"] {
    white-space: nowrap;
  }
}

/* Mobile/Tablet: allow horizontal scroll on tablist to avoid tall stacks */
@media (max-width: 1199px) {
  .lt-article__body [role="tablist"],
  .lt-article__body .tabs,
  .lt-article__body .lt-tabs {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Footer columns helper */
/* Two-column lists only on wide screens to avoid narrow columns */
.lt-columns-2 {
  column-gap: 2rem;
}
@media (min-width: 1200px) {
  .lt-columns-2 {
    column-count: 2;
  }
}
@media (max-width: 1199px) {
  .lt-columns-2 {
    column-count: 1;
  }
}

/* Footer background and padding to match corporate */
.lt-footer {
  background-color: var(--color-footer-bg);
}
/* Balanced padding in HC to reduce crowding */
.ss-footer-grid {
  padding: 40px 24px 32px;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
}
@media (max-width: 992px) {
  .ss-footer-grid {
    padding: 24px 16px;
  }
}

/* Even column layout and spacing */
.ss-footer-grid .lt-row {
  display: grid !important;
  gap: 2rem;
  /* neutralize flex row gutters from utilities */
  --lt-gutter-x: 0 !important;
  --lt-gutter-y: 0 !important;

  margin: 0 !important;
}
/* Equivalent rules for the dedicated footer row to avoid theme grid interference */
.ss-footer-row {
  display: grid !important;
  gap: 2rem;
  margin: 0 !important;
}
/* desktop single-row layout will be defined below; clear any area placement */
/* Remove inner padding added by theme columns so content spans full grid width */
.ss-footer-grid .lt-row > div {
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0; /* prevent grid blowout */
}
.ss-footer-row > div {
  padding: 0 !important;
  min-width: 0;
}
@media (min-width: 992px) {
  .ss-footer-grid .lt-row {
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
  }
  .ss-footer-row {
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(0, 1fr));
    column-gap: clamp(24px, 3vw, 48px);
    align-items: start;
  }
  .ss-footer-links {
    display: contents;
  }
}
@media (max-width: 991px) {
  .ss-footer-grid .lt-row {
    grid-template-columns: 1fr;
  }
  .ss-footer-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  /* Consistent vertical spacing between stacked sections */
  .ss-footer-row > div {
    margin: 0 0 24px;
  }
  .ss-footer-row > div:last-child {
    margin-bottom: 0;
  }
  /* Tidy spacing between sub-sections when stacked */
  .ss-footer-grid h4 {
    margin-top: 0;
  }
  /* Uniform gaps within the first links column */
  .ss-footer-links > div h4 {
    margin-top: 24px;
  }
  .ss-footer-links > div h4:first-of-type {
    margin-top: 0;
  }
  /* Add a gap before the second column (Resources) when stacked */
  .ss-footer-links > div {
    margin-top: 0;
  }
  .ss-footer-links > div + div {
    margin-top: 24px;
  }
}

/* Footer headings and links */
.ss-footer-grid h4 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.3px;
}
/* Add extra spacing before sub-sections in first links column */
.ss-footer-links > div h4:not(:first-of-type) {
  margin-top: calc(1rem + 18px);
}
/* Footer links use neutral text color (not brand) */
.ss-footer-grid a.lt-footer__link {
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: 18px;
  line-height: 1.4;
}
.ss-footer-grid a.lt-footer__link:hover,
.ss-footer-grid a.lt-footer__link:focus-visible {
  color: var(--color-text-primary) !important; /* same color on hover */
  text-decoration: underline !important;
  opacity: 1 !important; /* override base theme's opacity: 0.6 */
}
/* Prevent aggressive word breaks in footer */
.ss-footer-grid h4,
.ss-footer-grid a.lt-footer__link {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
  white-space: normal !important;
}

/* Footer lists spacing */
.ss-footer-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ss-footer-grid li {
  margin: 0.35rem 0;
  line-height: 1.6;
}

/* Logo sizing */
.ss-footer-logo {
  width: 100%;
  max-width: 420px;
  height: auto;
  max-height: 71px;
  display: block;
}
.ss-footer-left .lt-text-secondary {
  font-size: 20px;
  line-height: 1.4;
  color: var(--color-text-secondary);
}
.ss-social {
  gap: 20px !important;
  width: 180px;
}
.ss-g2-badge {
  width: 180px;
  height: auto;
}
.ss-footer-logo + .lt-text-secondary {
  margin-top: 0.5rem;
}
.ss-social a {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  background-color: var(--color-surface-primary);
  transition:
    color 0.15s ease,
    border-color 0.15s ease,
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}
.ss-social a:hover {
  color: var(--color-link-hover);
  border-color: var(--color-link-hover);
  background-color: var(--color-surface-primary);
  box-shadow: var(--shadow-control-hover);
}
.ss-social svg {
  width: 18px;
  height: 18px;
}

/* Copyright bar */
.lt-footer__copyright {
  border-top: 1px solid var(--color-border);
  padding-top: 12px;
  margin-top: 24px;
}

/* Support CTA button styling */
#footer-cta .lt-btn.lt-btn--primary {
  background-color: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
  color: var(--color-surface-primary) !important;
}

/* Hide the 'Our support hours' tile (first contact box) */
.contact-box-1 {
  display: none !important;
}

/* DISABLED: Hide gated request links until org access is confirmed
   Feature disabled to allow universal access to support requests
   See assets/request-access.js for details
*/
/*
[data-org-gated] {
  display: none !important;
}
*/

/* Reduce paragraph spacing in new request page callout */
.lt-new-request-page,
.lt-new-request-form,
#new-request-form,
#new-request-form form {
  min-width: 0;
}

.lt-new-request-page .callout {
  border: 1px solid var(--color-border, #d1d1d1);
  border-radius: 6px;
}

.lt-new-request-page .callout p {
  margin-bottom: 0.5rem;
}

.lt-new-request-page .callout p:last-child {
  margin-bottom: 0;
}

#new-request-form form,
#new-request-form [data-garden-id*="field"],
#new-request-form [data-garden-id*="Field"],
#new-request-form .form-field {
  max-width: 100%;
}

#new-request-form label,
#new-request-form [data-garden-id*="label"],
#new-request-form [data-garden-id*="Label"],
#new-request-form [data-garden-id*="hint"],
#new-request-form [data-garden-id*="Hint"],
#new-request-form [data-garden-id*="message"],
#new-request-form [data-garden-id*="Message"],
#new-request-form .notification,
#new-request-form .notification-error,
#new-request-form .lt-severity-help-links,
#new-request-form .lt-attachment-help-text {
  max-width: 100%;
  overflow-wrap: anywhere;
}

#new-request-form input:not([type="hidden"]),
#new-request-form textarea,
#new-request-form select,
#new-request-form [role="combobox"],
#new-request-form .nesty-input,
.lt-comment-form input:not([type="hidden"]),
.lt-comment-form textarea,
.lt-comment-form select,
.lt-comment-form .nesty-input,
.request-details select {
  max-width: 100%;
  min-width: 0;
}

#new-request-form textarea,
#new-request-form .ck.ck-editor,
#new-request-form .ck.ck-editor__main,
#new-request-form .ck.ck-content,
.lt-comment-form .ck.ck-editor,
.lt-comment-form .ck.ck-editor__main,
.lt-comment-form .ck.ck-content {
  max-width: 100%;
}

#new-request-form .upload-dropzone,
.lt-comment-form .upload-dropzone {
  overflow-wrap: anywhere;
}

#new-request-form .upload-dropzone:focus-within,
.lt-comment-form .upload-dropzone:focus-within {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.lt-comment-form__body,
.lt-comment-form__attachments,
.lt-comment-form__controls,
.lt-comment-form__mark-as-solved,
.lt-comment-form__ccs {
  min-width: 0;
  max-width: 100%;
}

.lt-comment-form__mark-as-solved label {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Fix HubSpot modal overlay causing horizontal scroll on tablets/desktops */
#hs-interactives-modal-overlay,
.go1632949049 {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box;
}

/**
 * Severity Field Help Links
 * Subtle hint text matching Zendesk's native field descriptions
 */
.lt-severity-help-links {
  margin-top: 4px;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text-secondary);
}

.lt-severity-help-links a {
  color: var(--color-link); /* WCAG compliant text color */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 400;
  transition: text-decoration-thickness 0.15s ease;
}

.lt-severity-help-links a:hover,
.lt-severity-help-links a:focus {
  font-weight: 400; /* Keep weight stable */
  color: var(--color-link-hover); /* same color on hover */
  text-decoration-thickness: 2px;
}

/**
 * Attachment Field Help Text
 * Subtle hint text matching Zendesk's native field descriptions
 */
.lt-attachment-help-text {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--color-text-secondary);
}

/**
 * Article Footer Contact Support Link
 * Subtle hint text below feedback button in article footer
 * Directs users to the support article when they need additional help
 */
.lt-article-support-link {
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-text-secondary); /* muted gray */
}

.lt-article-support-link a {
  color: var(--color-link); /* WCAG compliant text color */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 400;
  transition: text-decoration-thickness 0.15s ease;
}

.lt-article-support-link a:hover,
.lt-article-support-link a:focus {
  font-weight: 400; /* Keep weight stable */
  color: var(--color-link-hover); /* same color on hover */
  text-decoration-thickness: 2px;
}

/**
 * Accessibility: Replace decorative checkmarks with standard bullets
 * WCAG 2.0 Level A, SC 1.1.1: Non-text Content
 *
 * The checkmark character in .list-check and .list-bullet is announced
 * by screen readers. Replace with standard bullet points which are
 * semantically neutral and universally ignored by assistive technology.
 */
.lt-article__body .list-check > li::before,
.lt-article__body .list-bullet > li::before {
  content: "•" !important;
  background-color: transparent !important;
  color: var(--color-text-primary) !important;
  font-size: 1.2em;
  top: -0.2em !important;
  line-height: inherit;
}

/**
 * Dropdown Menu Items (Accessibility Fix)
 * WCAG 2.0 Level A, SC 4.1.2: Name, Role, Value
 *
 * Removed role="menuitem" from dropdown items so native <a> elements
 * announce as "link" rather than just "menu item". This class replicates
 * the styling previously applied via [role="menuitem"] selectors in style.css.
 */
.lt-dropdown-menu .lt-dropdown-item {
  display: block;
  width: auto;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-inline-start: 0.75rem;
  padding-inline-end: 2rem;
  line-height: inherit;
  color: var(--color-text-primary);
  text-align: start;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
}

.lt-dropdown-menu .lt-dropdown-item:hover,
.lt-dropdown-menu .lt-dropdown-item:focus {
  color: var(--color-text-primary);
  text-decoration: none;
  background: var(--color-bg-secondary);
  border-radius: min(
    var(--border-radius-base),
    var(--border-radius-menu-item-max)
  );
}

.lt-dropdown-menu .lt-dropdown-item[aria-selected="true"] {
  cursor: default;
}

.lt-dropdown-menu .lt-dropdown-item[aria-selected="true"]::after {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-top: 0.15rem;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /%3E%3C/svg%3E%0A");
}

[dir="ltr"] .lt-dropdown-menu .lt-dropdown-item[aria-selected="true"]::after {
  margin-left: 0.5rem;
}

[dir="rtl"] .lt-dropdown-menu .lt-dropdown-item[aria-selected="true"]::after {
  margin-right: 0.5rem;
  float: left;
  margin-left: 0;
}

.lt-dropdown-menu .lt-dropdown-item[hidden],
.lt-dropdown-menu .lt-dropdown-item[aria-hidden="true"] {
  display: none !important;
}


/* SearchStax autosuggest: native Lotus input with custom suggestions dropdown. */
.lt-search-wrap.has-searchstax-autosuggest {
  position: relative;
}

.lt-search-wrap.has-searchstax-autosuggest input[name="query"] {
  padding-right: 2.75rem;
}

.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-webkit-search-decoration,
.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
  width: 0;
  height: 0;
  margin: 0;
}

.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-webkit-search-results-button,
.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-ms-clear,
.lt-search-wrap.has-searchstax-autosuggest input[type="search"]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

.searchstax-autosuggest-clear {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  color: var(--color-text-secondary);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  border: 0;
  border-radius: 50%;
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}

.lt-search-wrap.has-searchstax-autosuggest-submit .searchstax-autosuggest-clear {
  right: 6rem;
}

.searchstax-autosuggest-clear:hover,
.searchstax-autosuggest-clear:focus-visible {
  color: var(--color-text-primary);
  background: var(--color-surface-soft);
}

.searchstax-autosuggest-clear[hidden] {
  display: none !important;
}

.searchstax-autosuggest-dropdown {
  box-sizing: border-box;
  max-height: 18rem;
  margin: 0;
  padding: 0.35rem 0;
  overflow-y: auto;
  list-style: none;
  text-align: left;
  border: 1px solid var(--color-border);
  border-top: 0;
  border-radius: 0 0 var(--border-radius-base, 4px) var(--border-radius-base, 4px);
  background: var(--color-surface-primary);
  box-shadow: var(--shadow-menu);
  pointer-events: auto;
}

.searchstax-autosuggest-dropdown[hidden] {
  display: none !important;
}

.searchstax-autosuggest-option {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 2.5rem;
  margin: 0;
  padding: 0.6rem 1rem;
  color: var(--color-text-primary);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  cursor: pointer;
}

.searchstax-autosuggest-highlight {
  color: inherit;
  font-weight: 700;
  background: transparent;
}

.searchstax-autosuggest-option:hover,
.searchstax-autosuggest-option.is-active {
  background: var(--color-surface-soft);
}

.searchstax-autosuggest-option + .searchstax-autosuggest-option {
  border-top: 1px solid var(--color-border-muted);
}

/* SearchStax attribution lockup. */
.ss-zd-searchstax-attribution {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  max-width: 100%;
  color: var(--color-text-secondary);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.ss-zd-searchstax-attribution:hover,
.ss-zd-searchstax-attribution:focus-visible {
  color: var(--color-text-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.ss-zd-searchstax-attribution:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: 4px;
}

.ss-zd-searchstax-attribution__text {
  flex: 0 0 auto;
}

.ss-zd-searchstax-attribution__logo {
  display: block;
  width: 118px;
  max-width: min(118px, 48vw);
  height: auto;
}

.ss-zd-searchstax-attribution--home {
  margin-top: 0.8rem;
}

.lt-hero-unit--center .ss-zd-searchstax-attribution--home {
  margin-right: auto;
  margin-left: auto;
}

.lt-hero-unit--start .ss-zd-searchstax-attribution--home,
.lt-hero-unit--text-start .ss-zd-searchstax-attribution--home {
  margin-right: auto;
}

.ss-zd-searchstax-attribution--results {
  margin: 0.15rem 0 1.1rem;
}

@media (max-width: 575px) {
  .ss-zd-searchstax-attribution {
    gap: 0.35rem;
    font-size: 0.75rem;
  }

  .ss-zd-searchstax-attribution__logo {
    width: 104px;
    max-width: min(104px, 54vw);
  }
}

/* Use neutral borders for SearchStax result card hover and focus states. */
.lt-search-results-page .searchstax-result-item-link:hover .searchstax-search-result,
.lt-search-results-page .searchstax-result-item-link:focus-visible .searchstax-search-result {
  border-color: var(--color-border) !important;
}
