/* Design audit refinements; drawing surfaces use a consistent neutral canvas in 0.1.68. */
body.fpb-shell-active { --fpb-drawing-surface: #ececec; }
body.fpb-shell-active .fpb-mobile-search-slot,
body.fpb-shell-active .fpb-mobile-account-slot { display: none; }
body.fpb-shell-active .fpb-drawer-backdrop:not(.is-open) { visibility: hidden; }
body.fpb-shell-active .fpb-project-handle::after { content: attr(aria-label); position: absolute; right: 42px; width: max-content; padding: 10px 14px; border: 1px solid var(--fpb-line); border-radius: 999px; background: var(--fpb-panel-strong); color: var(--fpb-ink); font: 500 13px/1.4 var(--fpb-ui-font); opacity: 0; pointer-events: none; }
body.fpb-shell-active .fpb-project-handle:is(:hover,:focus-visible)::after { opacity: 1; }
body.fpb-shell-active .fpb-wordmark { border-radius: 0; padding: 0; background: transparent; }
body.fpb-home-context .fpb-wordmark,
body.fpb-company-context .fpb-wordmark { --fpb-wordmark-ink: #fff; --fpb-wordmark-mist: none; }
/* Clip the tint to the inside of the frame, including its rounded corners. */
body.fpb-shell-active .fpb-shell-controls::before { content: ''; position: fixed; z-index: -1; top: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset) + 1px); right: calc(var(--fpb-frame-inset) + 1px); left: calc(var(--fpb-frame-inset) + 1px); height: 106px; border-radius: calc(var(--fpb-frame-radius) - 1px) calc(var(--fpb-frame-radius) - 1px) 0 0; background: linear-gradient(var(--fpb-page-bg) 8%, transparent); pointer-events: none; }
body.fpb-home-context .fpb-shell-controls::before,
body.fpb-company-context .fpb-shell-controls::before { background: linear-gradient(rgb(5 9 7 / 36.8%), transparent); }
body.fpb-shell-active .fpb-catalog-category-list button,
body.fpb-shell-active .fpb-catalog-type-list button { font-size: 14px !important; }
body.fpb-shell-active .fpb-catalog-filter-heading > button[data-fpb-catalog-clear] { font-size: 13px !important; letter-spacing: .02em; }
body.fpb-shell-active .fpb-catalog-sort-options button,
body.fpb-shell-active [data-fpb-catalog-sort-option],
body.fpb-shell-active .fpb-catalog-card-details,
body.fpb-shell-active .fpb-catalog-card-action,
body.fpb-shell-active .fpb-legal-navigation :is(a,button) { font-size: 13px !important; }
body.fpb-shell-active .fpb-catalog-card-meta { font-size: 12px; }
body.fpb-shell-active .fpb-smart-dock :is(select,.fpb-product-action) { font-size: 13px !important; font-weight: 500 !important; }
body.fpb-shell-active .fpb-project-handle:not(:hover):not(:focus-visible)::after { visibility: hidden; }
:root[data-fpb-theme="light"] body.fpb-account-context .fpb-account-shortcut :is(strong,h2,h3),
:root[data-fpb-theme="light"] body.fpb-account-context .fpb-account-shortcut { color: #24543f !important; }
body.fpb-product-context .fpb-product-summary-pagination { top: 90px; right: 64px; left: auto; transform: none; flex-direction: row; gap: 6px; padding: 4px; border: 1px solid var(--fpb-line); border-radius: 999px; background: var(--fpb-panel-strong); }
body.fpb-product-context .fpb-product-summary-pagination button,
body.fpb-product-context .fpb-product-summary-pagination button[aria-selected="true"] { width: auto !important; min-width: 100px !important; height: 44px !important; min-height: 44px !important; padding: 0 18px !important; color: var(--fpb-ink) !important; font: 500 14px/1 var(--fpb-ui-font); background: transparent !important; }
body.fpb-product-context .fpb-product-summary-pagination button[aria-selected="true"] { background: var(--fpb-panel-soft) !important; box-shadow: inset 0 0 0 1px var(--fpb-line) !important; }
body.fpb-product-context .fpb-product-summary-pagination button::after { content: none; }
body.fpb-product-context .fpb-product-summary-price { font-size: 18px; font-weight: 500; color: var(--fpb-ink); margin: 0; }
body.fpb-product-context .fpb-product-summary-pane { gap: 18px; }
body.fpb-product-context .fpb-product-quick-facts { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.65; color: var(--fpb-muted); }
body.fpb-product-context .fpb-product-description-more { font-size: 14px; line-height: 1.65; color: var(--fpb-muted); }
body.fpb-product-context .fpb-product-description-more summary { cursor: pointer; min-height: 32px; text-decoration: underline; text-underline-offset: 4px; color: var(--fpb-ink); }
body.fpb-product-context .fpb-product-description-more p { margin: 8px 0; }
body.fpb-product-context .fpb-product-jump-links { display: flex; gap: 16px; flex-wrap: wrap; }
body.fpb-product-context .fpb-product-jump-links a { min-height: 32px; font-size: 14px; color: var(--fpb-ink); text-decoration: underline; text-underline-offset: 5px; }
body.fpb-product-context :is(#fpb-product-specifications,#fpb-product-dimensions,#fpb-product-downloads) { scroll-margin-top: 90px; }
@media (min-width: 1101px) and (min-height: 821px) {
  /* Full-page chapters already include their header clearance in their padding. */
  body.fpb-product-context #fpb-product-dimensions { scroll-margin-top: 0; }
}
body.fpb-product-context .fpb-product-story-details.has-dimension-drawing { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-content: center; gap: 36px; padding: 140px 64px 130px; height: auto; min-height: 100%; }
/* Keep the complete drawing above the chapter mist (layer 3), in both themes. */
body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media { position: relative; z-index: 4; inset: auto; padding: 0; width: 100%; opacity: 1 !important; transform: none !important; mix-blend-mode: normal !important; }
body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media img { width: 100%; height: auto; max-height: 55vh; opacity: 1 !important; filter: none !important; object-fit: contain; transform: none !important; }
body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-story-resources.fpb-product-technical-panel { position: relative !important; inset: auto !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; opacity: 1 !important; transform: none !important; padding: 28px; }
body.fpb-shell-active button.fpb-drawing-open { display: grid; isolation: isolate; width: 100%; gap: 12px; padding: 20px; border: 1px solid #c5cbc8; border-radius: 16px; background: var(--fpb-drawing-surface); color: #171b19; cursor: zoom-in; }
.fpb-drawing-open span { font: 500 13px/1.5 var(--fpb-ui-font); }
.fpb-drawing-dialog { width: min(1200px,calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 18px; border: 1px solid #c5cdc8; border-radius: 20px; background: var(--fpb-drawing-surface); color: #171b19; }
.fpb-drawing-dialog::backdrop { background: rgb(0 0 0 / 76%); backdrop-filter: blur(12px); }
.fpb-drawing-viewport { isolation: isolate; background: var(--fpb-drawing-surface); max-height: calc(100dvh - 130px); overflow: auto; margin-top: 16px; }
.fpb-drawing-viewport img { display: block; width: 100%; max-width: none; height: auto; }
/* Blend white image paper into the isolated grey canvas; original assets stay intact. */
body.fpb-shell-active :is(.fpb-drawing-open,.fpb-drawing-viewport) img { mix-blend-mode: multiply; }
.fpb-drawing-viewport.is-zoomed img { width: max(100%,1000px); }
.fpb-drawing-close + .fpb-drawing-close { margin-left: 8px; }
body.fpb-shell-active .fpb-drawing-close { min-height: 44px; padding: 8px 18px; color: #171b19; background: #eff2f0; border: 1px solid #8e9d95; border-radius: 999px; }
body.fpb-shell-active .fpb-slideshow-playback { opacity: 0; pointer-events: none; transition: opacity 160ms ease; }
body.fpb-shell-active .fpb-slideshow-playback[aria-pressed="true"],
body.fpb-shell-active .fpb-slideshow-playback:focus-visible { opacity: 1; pointer-events: auto; }
body.fpb-shell-active .fpb-slideshow-playback[aria-pressed="true"] .fpb-slideshow-pause-icon { display: block; }
body.fpb-shell-active .fpb-slideshow-playback[aria-pressed="true"] .fpb-slideshow-play-icon { display: none; }
@layer fpb-glass-buttons {
  body.fpb-shell-active button.fpb-drawing-open { background: var(--fpb-drawing-surface) !important; color: #171b19 !important; border-radius: 16px !important; box-shadow: none !important; backdrop-filter: none !important; }
  body.fpb-shell-active button.fpb-drawing-close { background: #eff2f0 !important; color: #171b19 !important; }
}
body.fpb-contact-context .fpb-contact-details-panel :is(h6,p) { font-size: 16px !important; line-height: 1.6 !important; font-weight: 400; }
body.fpb-contact-context .fpb-contact-details-panel a { color: #c4e1d3; text-underline-offset: 4px; }
body.fpb-contact-context .fpb-contact-form-panel :is(input,textarea) { font-size: 16px !important; }
body.fpb-contact-context .fpb-contact-form-panel label { font-size: 14px !important; }
.fpb-field-requirement { font-size: 12px; opacity: .85; font-weight: 400; }
.fpb-contact-form-jump { display: inline-flex; min-height: 44px; align-items: center; margin-top: 14px; text-underline-offset: 4px; }
.fpb-company-evidence { margin-top: 24px; display: grid; gap: 14px; }
.fpb-company-evidence a { color: #fff; font-size: 15px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
body.fpb-shell-active.fpb-filters-open { overflow: hidden !important; }
body.fpb-shell-active.fpb-filters-open :is(.fpb-shell-controls,.fpb-dock-region,.fpb-project-handle) { visibility: hidden; pointer-events: none; }
@media (max-width:1100px), (max-height:820px) {
  body.fpb-product-context .fpb-product-summary-pagination { display: none; }
  body.fpb-product-context .fpb-product-story-details.has-dimension-drawing { grid-template-columns: minmax(0,1fr); padding: 80px 24px 96px; gap: 24px; }
  body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-technical-kicker { position: relative; inset: auto; }
  body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media img { max-height: none; }
}
@media (max-width:760px) {
  body.fpb-shell-active .fpb-theme-control { display: none !important; }
  body.fpb-shell-active .fpb-shell-controls { grid-template-columns: 1fr auto 1fr; }
  body.fpb-shell-active .fpb-dock-region:not(.is-product):not(.is-project) { display: none !important; }
  body.fpb-shell-active .fpb-smart-dock .fpb-dock-menu { display: none !important; }
  body.fpb-shell-active .fpb-smart-dock.is-product { display: grid; grid-template-columns: minmax(0,1fr) 48px; grid-template-areas: 'variation add'; }
  body.fpb-shell-active .fpb-navigation-drawer { max-height: calc(var(--fpb-shell-viewport-height) - 16px); padding: 26px 22px; overflow-y: auto; overscroll-behavior: contain; }
  body.fpb-shell-active .fpb-mobile-search-slot { display: grid; gap: 12px; margin: 18px 0 20px; }
  body.fpb-shell-active .fpb-mobile-search-slot .fpb-product-search { display: flex !important; min-height: 48px; padding: 4px 14px; border: 1px solid var(--fpb-line); border-radius: 999px; background: var(--fpb-panel-soft); }
  body.fpb-shell-active .fpb-mobile-search-slot input { font-size: 16px !important; width: 100%; }
  body.fpb-shell-active .fpb-mobile-search-slot .fpb-search-results { position: static; inset: auto; width: 100%; max-height: min(400px,50dvh); overflow-y: auto; transform: none; padding: 12px; border-radius: 16px; }
  body.fpb-shell-active .fpb-mobile-account-slot { display: block; margin: 20px 0; border-top: 1px solid var(--fpb-line); padding-top: 12px; }
  .fpb-mobile-account-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
  .fpb-mobile-account-links a { display: flex; align-items: center; gap: 6px; min-height: 44px; color: var(--fpb-ink); font-size: 13px; text-decoration: none; }
  body.fpb-shell-active .fpb-navigation-drawer .formplus-drawer-body > nav:not(.fpb-legal-navigation) a { font-size: 17px; min-height: 42px; }
  body.fpb-shell-active .fpb-drawer-statement { display: none; }
  body.fpb-shell-active .fpb-drawer-wordmark { margin-bottom: 12px; }
  body.fpb-shell-active .fpb-catalog-filters { z-index: 9400; inset: 8px; width: auto; max-height: calc(var(--fpb-shell-viewport-height) - 16px); padding: 20px; color: var(--fpb-ink); background: var(--fpb-panel-strong); font-family: var(--fpb-ui-font); gap: 20px; box-sizing: border-box; }
  body.fpb-shell-active .fpb-catalog-filter-heading { align-items: center; position: sticky; top: -20px; margin: -20px -20px 0; padding: 16px 20px 12px; background: var(--fpb-panel-strong); z-index: 1; }
  body.fpb-shell-active .fpb-catalog-filter-close { width: 44px !important; height: 44px !important; }
  body.fpb-shell-active .fpb-catalog-header { padding-top: 0; padding-bottom: 0; gap: 16px; margin-bottom: 24px; }
  body.fpb-shell-active .fpb-catalog-introduction h1 { font-size: clamp(32px,9vw,42px) !important; line-height: 1.05; margin-bottom: 12px; }
  body.fpb-shell-active .fpb-catalog-intro { font-size: 14px; line-height: 1.6; margin: 0; }
  body.fpb-shell-active .fpb-catalog-header-tools { margin: 0; }
  body.fpb-shell-active .fpb-catalog-results-heading { margin-bottom: 16px; gap: 8px; }
  body.fpb-shell-active .fpb-catalog-results-heading-main { gap: 10px; flex-direction: row; align-items: center; justify-content: space-between; }
  body.fpb-shell-active .fpb-catalog-card-media { aspect-ratio: 1; }
  body.fpb-shell-active .fpb-catalog-card-title { font-size: 20px; }
  body.fpb-shell-active .fpb-product-explorer { padding-top: 90px; padding-bottom: 36px; }
  body.fpb-home-context :is(.fpb-carousel-dots,.fpb-section-dots) { bottom: calc(28px + env(safe-area-inset-bottom)); }
  body.fpb-home-context .fpb-slideshow-playback { bottom: calc(22px + env(safe-area-inset-bottom)); }
  body.fpb-home-context .fpb-hero-message { bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.fpb-home-context .fpb-category-section { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  body.fpb-home-context .fpb-hero-message h1 { font-size: clamp(42px,12vw,60px); }
  body.fpb-contact-context .fpb-contact-layout { padding-top: 0; }
  body.fpb-contact-context .fpb-contact-step-content { padding-top: 104px !important; padding-bottom: 40px !important; }
  body.fpb-contact-context .fpb-info-story-title { max-width: 14ch; font-size: 42px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.fpb-shell-active .fpb-slideshow-playback { transition: none; }
}

/* Keep the website drawer as compact as the application drawers. */
body.fpb-shell-active .fpb-drawer-statement { display: none; }
body.fpb-shell-active .formplus-workspace-nav a { box-sizing: border-box; }
body.fpb-shell-active .fpb-navigation-drawer .formplus-drawer-body > nav:first-of-type a { font-family: var(--formplus-font); font-size: 18px; font-weight: 400; }

/* Mobile catalog and navigation refinements. */
.fpb-drawer-search-toggle { display: none !important; }
.fpb-catalog-result-summary { min-width: 0; }
.fpb-catalog-result-summary p { margin: 4px 0 0; font-size: 12px; color: var(--fpb-muted); }
@media (max-width: 760px) {
  body.fpb-shell-active .fpb-catalog-results-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) auto; align-items: center; gap: 8px; }
  body.fpb-shell-active .fpb-catalog-results-heading-main { display: contents; }
  body.fpb-shell-active .fpb-catalog-results-heading h2 { font-size: 14px; line-height: 1.2; }
  body.fpb-shell-active .fpb-catalog-result-summary p { font-size: 11px; line-height: 1.2; margin: 3px 0 0; }
  body.fpb-shell-active .fpb-catalog-sort-control, body.fpb-shell-active .fpb-catalog-sort { width: 100%; min-width: 0; }
  body.fpb-shell-active .fpb-catalog-sort select { width: 100% !important; min-width: 0 !important; height: 44px !important; min-height: 44px !important; font-size: 12px !important; padding: 0 22px 0 10px !important; }
  body.fpb-shell-active .fpb-catalog-filter-toggle { height: 44px !important; min-height: 44px !important; min-width: 0 !important; padding: 0 12px !important; gap: 5px; font-size: 12px !important; }
  body.fpb-shell-active .fpb-catalog-filter-toggle svg { width: 16px; height: 16px; }
  body.fpb-shell-active .fpb-catalog-card-media { position: relative; width: 100%; aspect-ratio: 1; }
  body.fpb-shell-active .fpb-catalog-card-media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-height: 100%; object-fit: contain; transform: none; }
  body.fpb-shell-active .fpb-navigation-drawer .fpb-drawer-wordmark { margin-right: 100px !important; margin-bottom: 18px !important; }
  body.fpb-shell-active .fpb-navigation-drawer > .fpb-drawer-close { top: 26px !important; right: 20px !important; width: 44px !important; height: 44px !important; }
  body.fpb-shell-active .fpb-drawer-search-toggle { display: grid !important; position: absolute; top: 26px; right: 70px; width: 44px !important; height: 44px !important; min-width: 44px !important; padding: 0 !important; place-items: center; border-radius: 50% !important; color: var(--fpb-ink) !important; background: var(--fpb-panel-soft) !important; border: 1px solid var(--fpb-line) !important; }
  .fpb-drawer-search-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
  body.fpb-shell-active .fpb-navigation-drawer .fpb-mobile-search-slot { display: none; margin: 0 0 16px; }
  body.fpb-shell-active .fpb-navigation-drawer.is-search-expanded .fpb-mobile-search-slot { display: grid; }
  body.fpb-shell-active .fpb-mobile-account-slot { display: none !important; }
  body.fpb-shell-active .fpb-navigation-drawer .formplus-workspace-nav a { font-size: 14px !important; min-height: 44px !important; }
}
@media (max-width: 370px) {
  body.fpb-shell-active .fpb-navigation-drawer .formplus-drawer-signature { display: none; }
}
