.content {
    max-width: 100% !important;
}

.page-header {
    margin-left: auto;
    margin-right: auto;
}

.page-header,
.page-node {
    max-width: 900px !important;
}

.footer > .page-node {
    max-width: unset !important;
}

.show-api-client-button {
    display: none !important;
}

.request-card-footer {
    display: none !important;
}

.scalar-card-header.scalar-card-header-tabs > div:nth-of-type(2) {
  display: none !important;
}

.light-mode .t-doc__sidebar,
.dark-mode .t-doc__sidebar {
    --scalar-border-color: #e8e8f0;
    --scalar-sidebar-background-1: #F3F5FF;
    --scalar-sidebar-color-1: #2e324b;
    --scalar-sidebar-color-2: #6b7080;
    --scalar-sidebar-border-color: var(--scalar-border-color);

    --scalar-sidebar-item-hover-background: #ffffff;
    --scalar-sidebar-item-hover-color: #2e324b;

    --scalar-sidebar-item-active-background: #ffffff;
    --scalar-sidebar-color-active: #5b5fc7;

    --scalar-sidebar-indent-border: #e8e8f0;
    --scalar-sidebar-indent-border-hover: #d0d4f0;
    --scalar-sidebar-indent-border-active: #5b5fc7;

    --scalar-sidebar-search-background: #ffffff;
    --scalar-sidebar-search-color: #2e324b;
    --scalar-sidebar-search-border-color: #d0d4f0;
}
.light-mode .t-doc__sidebar button[aria-selected="true"],
.dark-mode .t-doc__sidebar button[aria-selected="true"] {
    font-weight: bold;
}

.t-editor__page-link {
  box-shadow: var(--scalar-shadow-1);
  border-radius: var(--scalar-radius);
  background: var(--scalar-background-2);
  padding: 16px;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.light-mode .t-editor__anchor {
  --font-visited: #681da8;
  --font-hover: #681da8;
}

.dark-mode .t-editor__anchor {
  --font-visited: #c58af9;
  --font-hover: #c58af9;
}

.t-editor__anchor {
  --font-color: var(--scalar-color-accent);
  --font-hover: var(--scalar-color-accent);
  --text-decoration: none;
  --text-decoration-hover: underline;
}

.section-column table {
  table-layout: auto !important;
}

.layout-footer {
    padding: 100px 50px;
}

.layout-footer .page-node {
    max-width: unset !important;
}

@media screen and (max-width: 1000px) {
    .layout-footer {
        padding: 10px;
    }
}
.t-doc__sidebar button,
.t-doc__sidebar a {
  font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif !important;
}
.t-doc__sidebar a[href="https://product-docs.partech.com"] {
    font-weight: normal;
    color: #5b5fc7;
    background-color: #ffffff;
    border-radius: 6px;
}

.t-doc__sidebar a[href="https://product-docs.partech.com"] .group\/button-label {
    font-weight: normal;
    color: #5b5fc7;
}

.page-nav__container {
  display: none !important;
}
/* Table heading styles */
.t-editor__table thead th {
    background-color: #5b5fc7 !important;
    color:#ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}
/* Layout tables: some articles use a borderless table purely to place
   screenshots side by side with descriptive text. Markdown makes the first row
   the header row, so those image cells inherit the purple heading fill above.
   Any heading row containing an image is a layout row, not a real header —
   strip the fill and heading typography from it. */
.t-editor__table thead tr:has(img) th {
    background-color: transparent !important;
    color: inherit !important;
    font-weight: 400 !important;
}

/* Table font size */
.t-editor__table td {
    font-size: 16px !important;
}
/* callout font size */
.callout-content__text,
.callout-content__text p,
.callout-content__text ul,
.callout-content__text li,
.callout-content__text .t-editor__list {
    font-size: inherit !important;
}
/* divider line above H2s */
h2 {
  border-top: 1px solid #E2E4EA;
  padding-top: 24px;
  margin-top: 16px !important;
}
/* Undo the divider for H2s inside accordion/detail dropdowns */
.t-editor__detail-content h2 {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Accordion: Light mode: light grey background */
.light-mode .t-editor__detail-summary {
  background-color: #FAFAFB;
}

/* Accordion: Dark mode: dark background instead, so text stays readable */
.dark-mode .t-editor__detail-summary {
  background-color: #2A2D3A;
  color: #E5E5EA;
}

/* PAR Ordering product tag */

:root {
  --pd-label: "PAR Ordering";
  --pd-accent: #b8952e;
  --pd-tile: linear-gradient(135deg, #fbf3d5, #f8ecc4);
  --pd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b8952e' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  --pd-text: var(--scalar-color-1);
}

/* Tile stays light in dark mode, matching the home page cards, so the label
   needs an explicit dark colour here. */
.dark-mode {
  --pd-text: #2e324b;
  --pd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b8952e' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
}

.page-body .page-node.t-prose:has(> h1)::before {
  content: var(--pd-label);
  display: block;
  width: fit-content;
  margin: 0 0 14px;
  padding: 5px 14px 5px 33px;
  border: 1px solid color-mix(in srgb, var(--pd-accent) 24%, transparent);
  border-radius: 999px;
  background: var(--pd-icon) 13px center / 14px 14px no-repeat, var(--pd-tile);
  color: var(--pd-text);
  font-family: Inter, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI",
    Roboto, Ubuntu, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

@media print {
  .page-body .page-node.t-prose:has(> h1)::before {
    display: none;
  }
}

/* Nested unordered list markers step disc -> circle -> square by BULLET depth.
   Scalar sets list-style-type: disc directly on <li>, so the override has to
   target the <li>, not the parent <ul>.

   Each selector requires a <ul> ancestor, so a bullet list nested under a
   NUMBERED step still counts as the first bullet level and stays a filled
   disc — only bullets nested under other bullets step down. */
ul.t-editor__list li ul.t-editor__list > li {
  list-style-type: circle !important;
}

ul.t-editor__list li ul.t-editor__list li ul.t-editor__list > li {
  list-style-type: square !important;
}

/* Screenshots exported from Salesforce Knowledge are often only 350-700px wide,
   so they render tiny at their natural size. Scale content images up to fill the
   available column width, capped at 860px so large captures don't get blurry or
   overwhelm the text. Inline images (icons, badges) are left alone.

   !important is required here: Scalar ships its own rule for content images
   (img[data-scalar-name="scalar-image"], wrapped in :where() for near-zero
   specificity) that ties with this rule on raw specificity count. Scalar's
   stylesheet loads after ours, so it wins that tie by source order and silently
   overrides width without !important, leaving small screenshots at native size.

   max-height caps tall, narrow images (e.g. full-page infographics) so they
   don't dominate the page — the browser's replaced-element sizing algorithm
   shrinks width to match once max-height kicks in, so aspect ratio is preserved
   either way. */
.page-node.t-prose img,
.t-editor__detail-content img {
  width: 100% !important;
  max-width: 860px !important;
  max-height: 800px !important;
  height: auto !important;
  display: block;
  margin-block: 1rem;
  border-radius: 4px;
  object-fit: contain;
}

/* AllDocs batch-conversion images (sf_kb_json_batch_convert.py /
   sf_kb_batch_convert.py) use a smaller cap than the generic 860px/800px
   above. Scoped to img.sfkb-batch-image, a class only these scripts emit (via
   a raw <img> tag rather than markdown image syntax) -- the 91
   previously-hand-converted articles use plain markdown ![]() images with no
   class and are unaffected. The extra class selector gives this rule higher
   specificity than the generic rule above, so it wins on just these two
   properties without editing that rule. */
.page-node.t-prose img.sfkb-batch-image,
.t-editor__detail-content img.sfkb-batch-image {
  max-width: 600px !important;
  max-height: 600px !important;
}

/* Opt-in size modifier for individual screenshots that read better small --
   narrow UI fragments (a single dropdown, a filter bar, a small panel) that the
   600px batch cap still blows up past their natural size. Add
   class="sfkb-batch-image sfkb-image-sm" to the <img>. Extra class keeps
   specificity above the .sfkb-batch-image rule, so only the caps change. */
.page-node.t-prose img.sfkb-image-sm,
.t-editor__detail-content img.sfkb-image-sm {
  max-width: 360px !important;
  max-height: 360px !important;
}

/* Opt-in size modifier for batch images that need MORE room than the 600px
   batch cap -- wide dashboard captures and full-screen flows where 600px loses
   readable detail. Lifts them back to the generic content-image ceiling. */
.page-node.t-prose img.sfkb-image-lg,
.t-editor__detail-content img.sfkb-image-lg {
  max-width: 860px !important;
  max-height: 800px !important;
}

/* Scalar wraps every content image in a <figure class="image-upload-container">
   that has no defined width of its own — it shrink-wraps to content (it's
   display:flex with no explicit width). A percentage width on the <img> above
   resolves against that indeterminate width and silently falls back to the
   image's natural pixel size, which is why small screenshots stayed tiny even
   with !important on the <img> rule. Forcing the figure to span the full
   available column width gives the <img>'s width:100% something real to
   resolve against. */
.page-node.t-prose figure.image-upload-container,
.t-editor__detail-content figure.image-upload-container {
  width: 100% !important;
  display: block !important;
}

/* Don't stretch genuinely small assets like inline icons or logos. */
.page-node.t-prose img[width]:not([width="0"]),
.page-node.t-prose img.inline-image {
  width: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  display: inline-block;
}

/* The par-ordering homepage hero has its own small inline logo mark
   (.par-punchh-hero-title img, sized to 36px tall by the page's own <style>
   block) sitting next to the title text. It shares .page-node.t-prose
   ancestry with regular Kiosk/Mobile/Printer screenshots, so the generic
   content-image scaling rule above was also blowing it up to fill the
   column width.

   .page-node.t-prose img has specificity (0,2,1) (two classes + element),
   which beats a plain .par-punchh-hero-title img override at (0,1,1) even
   with !important on both — specificity is compared before source order
   ever comes into play. Chaining .page-node.t-prose onto this selector
   brings it to (0,3,1) so it wins outright. */
.page-node.t-prose .par-punchh-hero-title img {
  width: auto !important;
  height: 36px !important;
  max-width: none !important;
  max-height: none !important;
  display: inline-block !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Larger header logo */
.t-doc__header img,
.scalar-app header img {
  height: 30px !important;
  max-height: none !important;
  width: auto !important;
}

/* Header link colors (light mode only) */
.light-mode .t-header__item,
.light-mode .t-header__item--active {
  color: #5B5FC7 !important;
}

/* Header search bar: centered, longer, rounded */
.search-group {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  width: 560px;
  min-width: 560px;
  max-width: 100%;
}
.search-group .search-wrapper {
  width: 100% !important;
  min-width: 560px !important;
  max-width: none !important;
}
.search-group button.search {
  width: 100% !important;
  border-radius: 999px !important;
}
/* Keyboard shortcut badge inside the search bar (the bordered span wrapping the <kbd>) */
.search-group button.search > span:has(kbd) {
  border-radius: 999px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Main product page in the sidebar (identified by its shopping cart icon): always show in the active purple */
.t-doc__sidebar button:has(svg[data-scalar-icon-src*="shopping-cart-bold"]),
.t-doc__sidebar button:has(svg[data-scalar-icon-src*="shopping-cart-bold"]):hover {
  color: #5B5FC7 !important;
}
