/* Shared styles for page-builder-rendered content (public site + builder canvas) */

/* Reserve scrollbar width so toggling overflow does not shift centered content horizontally.
   Class is set on <html> in layout.php (same condition as body.has-page-builder-background)
   so we avoid relying on :has(), which can miss in some browsers. */
html.has-page-builder-root {
  scrollbar-gutter: stable;
}

body.has-page-builder-background {
  min-height: 100vh;
}
/* Memorial .layout-main is capped at 42rem in style.css; builder pages override to
   full width. Section width % must use that same full-width column in the builder
   canvas (no artificial max-width on .builder-canvas-inner). */
body.has-page-builder-background .layout-main {
  position: relative;
  z-index: 1;
  max-width: none;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.pb-bg-video-wrap {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.pb-bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pb-bg-slideshow-wrap {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.pb-bg-slideshow-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.pb-page {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
}

.pb-section {
  --pb-section-width: 100;
  --pb-section-padding-v: 32;
  --pb-section-padding-h: 24;
  --pb-section-margin: 6;
  --pb-section-radius: 0;
  --pb-section-size: 16;
  --pb-section-content-spacing: 16;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: calc(var(--pb-section-padding-v, 32) * 1px) calc(var(--pb-section-padding-h, 24) * 1px);
  font-size: calc(var(--pb-section-size, 16) * 1px);
}

.pb-section.layout-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--pb-section-content-spacing, 16) * 1px);
  align-items: center;
}
/* Section root uses a 2-col grid historically; block elements must span both tracks. Side-by-side belongs in a columns container. */
.pb-section.layout-two-column > * {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
}

.pb-section.layout-stack {
  display: flex;
  flex-direction: column;
  gap: calc(var(--pb-section-content-spacing, 16) * 1px);
}

.pb-section.layout-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: calc(var(--pb-section-content-spacing, 16) * 1px);
  align-items: center;
}

.pb-section.section-style-box {
  width: min(100%, min(56rem, calc(var(--pb-section-width, 100) * 1%)));
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(var(--pb-section-margin, 6) * 1px);
  margin-bottom: calc(var(--pb-section-margin, 6) * 1px);
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: calc(var(--pb-section-radius, 0) * 1px);
}
.pb-section.section-style-wide-box {
  width: min(100%, min(90rem, calc(var(--pb-section-width, 100) * 1%)));
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(var(--pb-section-margin, 6) * 1px);
  margin-bottom: calc(var(--pb-section-margin, 6) * 1px);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 0;
}
.pb-section.section-style-tall-box {
  width: min(100%, min(56rem, calc(var(--pb-section-width, 100) * 1%)));
  margin-left: auto;
  margin-right: auto;
  min-height: 85vh;
  display: flex;
  flex-direction: column;
  /* flex-start: avoid re-centering when tab/content height changes inside the min-height box */
  justify-content: flex-start;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0;
}

/* Fixed pixel width (builder + live): --pb-section-width-px set on section; still capped by viewport and 56rem/90rem. */
.pb-section.section-style-box.pb-section-width-px,
.pb-section.section-style-tall-box.pb-section-width-px {
  width: min(100%, min(56rem, calc(var(--pb-section-width-px, 800) * 1px)));
}
.pb-section.section-style-wide-box.pb-section-width-px {
  width: min(100%, min(90rem, calc(var(--pb-section-width-px, 800) * 1px)));
}

.pb-section.section-position-left,
.pb-section.section-position-top-left,
.pb-section.section-position-bottom-left {
  margin-left: 0;
  margin-right: auto;
}
.pb-section.section-position-right,
.pb-section.section-position-top-right,
.pb-section.section-position-bottom-right {
  margin-left: auto;
  margin-right: 0;
}
.pb-section.section-position-top,
.pb-section.section-position-top-left,
.pb-section.section-position-top-right {
  margin-top: 0;
  margin-bottom: auto;
}
.pb-section.section-position-bottom,
.pb-section.section-position-bottom-left,
.pb-section.section-position-bottom-right {
  margin-top: auto;
  margin-bottom: 0;
}

/* Center in the page column (flex parent: .pb-page or .builder-canvas-inner).
   Vertical margin:auto distributes free space above/below the section. Content height changes
   will shift the block (expected for true vertical centering). */
.pb-section.section-position-center {
  margin-top: auto;
  margin-bottom: auto;
  margin-left: auto;
  margin-right: auto;
}

.pb-section.content-align-left { text-align: left; }
.pb-section.content-align-center { text-align: center; }
.pb-section.content-align-right { text-align: right; }
.pb-section.layout-stack.content-align-left { align-items: flex-start; }
.pb-section.layout-stack.content-align-center { align-items: center; }
.pb-section.layout-stack.content-align-right { align-items: flex-end; }
.pb-section.layout-row.content-align-left { justify-content: flex-start; }
.pb-section.layout-row.content-align-center { justify-content: center; }
.pb-section.layout-row.content-align-right { justify-content: flex-end; }

.pb-text { margin: 0; word-break: break-word; display: block; width: 100%; box-sizing: border-box; }
.pb-text .pb-inline-svg {
  display: inline-block;
  vertical-align: -0.15em;
  line-height: 1;
}
.pb-text .pb-inline-svg svg {
  display: block;
  width: 1em;
  height: 1em;
}
.pb-text.pb-level-h1 { font-size: 1.75em; font-weight: 600; }
.pb-text.pb-level-h2 { font-size: 1.375em; font-weight: 600; }
.pb-text.pb-level-h3 { font-size: 1.125em; font-weight: 600; }
.pb-text.pb-level-p { font-size: 1em; line-height: 1.6; }
.pb-text.pb-overline {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75em;
  opacity: 0.85;
  margin-bottom: 0.35rem;
}
.pb-text a:not(.pb-tabs-tab) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.pb-list {
  --pb-list-item-spacing: 0.35rem;
  --pb-list-indent: 1.25rem;
  --pb-list-icon-size: 1em;
  list-style-position: inside;
  margin: 0;
  padding-left: var(--pb-list-indent);
  width: 100%;
  box-sizing: border-box;
}
.pb-list .pb-list-item + .pb-list-item {
  margin-top: var(--pb-list-item-spacing);
}
.pb-list .pb-list-item::marker {
  color: var(--pb-list-icon-color, currentColor);
  font-size: var(--pb-list-icon-size);
}
.pb-list.pb-list-bullet-circle { list-style-type: circle; }
.pb-list.pb-list-bullet-square { list-style-type: square; }
.pb-list.pb-list-bullet-disc { list-style-type: disc; }
.pb-list.pb-list-bullet-none { list-style-type: none; padding-left: 0; }
/* Numbered lists: explicit types so markers match sidebar even if <ol type> is ignored */
.pb-list.pb-list-numbered.pb-list-num-decimal { list-style-type: decimal; }
.pb-list.pb-list-numbered.pb-list-num-lower-alpha { list-style-type: lower-alpha; }
.pb-list.pb-list-numbered.pb-list-num-upper-alpha { list-style-type: upper-alpha; }
.pb-list.pb-list-numbered.pb-list-num-lower-roman { list-style-type: lower-roman; }
.pb-list.pb-list-numbered.pb-list-num-upper-roman { list-style-type: upper-roman; }
.pb-list.pb-list-bullet-dash { list-style: none; padding-left: 0; }
.pb-list.pb-list-bullet-dash .pb-list-item {
  position: relative;
  padding-left: 1rem;
}
.pb-list.pb-list-bullet-dash .pb-list-item::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--pb-list-icon-color, currentColor);
}
.pb-list.pb-list-links-plain a {
  text-decoration: none;
}
.pb-list .pb-list-item-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Scroll-triggered text animations (public page; script toggles .pb-anim-visible) */
.pb-anim {
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
}
.pb-anim-pending.pb-anim-fade-in { opacity: 0; }
.pb-anim-visible.pb-anim-fade-in { opacity: 1; }
.pb-anim-pending.pb-anim-fade-up { opacity: 0; transform: translateY(14px); }
.pb-anim-visible.pb-anim-fade-up { opacity: 1; transform: translateY(0); }
.pb-anim-pending.pb-anim-fade-down { opacity: 0; transform: translateY(-14px); }
.pb-anim-visible.pb-anim-fade-down { opacity: 1; transform: translateY(0); }
.pb-anim-pending.pb-anim-fade-left { opacity: 0; transform: translateX(18px); }
.pb-anim-visible.pb-anim-fade-left { opacity: 1; transform: translateX(0); }
.pb-anim-pending.pb-anim-fade-right { opacity: 0; transform: translateX(-18px); }
.pb-anim-visible.pb-anim-fade-right { opacity: 1; transform: translateX(0); }

.pb-image-wrap {
  line-height: 0;
  min-width: 0;
}
.pb-image-wrap img { max-width: 100%; height: auto; display: block; vertical-align: middle; }

/* Image width: span section content (cancel horizontal padding) */
.pb-image-wrap.pb-image-edge-to-edge {
  width: calc(100% + 2 * var(--pb-section-padding-h, 24) * 1px);
  max-width: none;
  margin-left: calc(-1 * var(--pb-section-padding-h, 24) * 1px);
  margin-right: calc(-1 * var(--pb-section-padding-h, 24) * 1px);
  box-sizing: border-box;
}
/* Image width: viewport (break out of page column) */
.pb-image-wrap.pb-image-full-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  box-sizing: border-box;
}
/* Builder mobile preview: 100vw is the browser window, not the phone frame — clip to canvas inner */
.builder-canvas-wrap.viewport-mobile .pb-image-wrap.pb-image-full-bleed {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.builder-canvas-wrap.viewport-mobile .pb-image-wrap.pb-image-edge-to-edge {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Tall box: ~85% of chosen device height in mobile preview (var set on .builder-canvas-inner) */
.builder-canvas-wrap.viewport-mobile .pb-section.section-style-tall-box {
  min-height: min(580px, calc(var(--builder-mobile-vp-h, 681) * 0.85));
}

.pb-video-wrap {
  position: relative;
  box-sizing: border-box;
}
.pb-video-aspect {
  width: 100%;
  box-sizing: border-box;
  /* Clip <video> to border-radius (inline radius on this box); auto aspect omits overflow in inline styles */
  overflow: hidden;
}
.pb-video-wrap.pb-video-wrap--aspect .pb-video-aspect video,
.pb-video-wrap.pb-video-wrap--aspect .pb-video-aspect iframe.pb-video-embed {
  display: block;
}
.pb-video-placeholder {
  background: #e2e8f0;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  font-size: 0.875rem;
}
.pb-video-placeholder.is-fill {
  position: absolute;
  inset: 0;
  min-height: 0;
}
.pb-video-wrap video,
.pb-video-wrap iframe.pb-video-embed {
  max-width: 100%;
}

iframe.pb-video-embed {
  border: 0;
  vertical-align: middle;
}

.pb-button-wrap {
  width: 100%;
  box-sizing: border-box;
}
.pb-button-wrap--left { text-align: left; }
.pb-button-wrap--center { text-align: center; }
.pb-button-wrap--right { text-align: right; }

.pb-button {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  font-size: 0.9375em;
  border-radius: 9999px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  vertical-align: middle;
}
.pb-button:hover { opacity: 0.9; }

.pb-timer {
  width: 100%;
  box-sizing: border-box;
}
.pb-timer-inner {
  max-width: 100%;
}
.pb-timer-row .pb-timer-seg {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.2em;
}
.pb-timer-row .pb-timer-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.pb-timer--canvas .pb-timer-row {
  min-height: 2rem;
}

.pb-divider { border: none; margin: 1rem 0; }
.pb-divider.style-line { height: 1px; background: currentColor; opacity: 0.2; }
.pb-divider.style-dots { height: 0; border: none; background: transparent; }

.pb-spacer {
  width: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  display: block;
}

.pb-container { }
.pb-container.layout-stack { display: flex; flex-direction: column; gap: 0.75rem; }
.pb-container.layout-row { display: flex; flex-direction: row; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.pb-container.type-columns {
  display: grid;
  grid-template-columns: var(--pb-grid-template, repeat(var(--pb-col-count, 2), minmax(0, 1fr)));
  gap: 0.75rem;
}
/* Per-tab full width inside columns: active tab with data-pb-tab-full-width hides sibling columns (:has). */
.pb-container.type-columns:has(.pb-tabs[data-pb-tabs-root="1"] .pb-tabs-nav a.pb-tabs-tab[aria-selected="true"][data-pb-tab-full-width="1"]) {
  grid-template-columns: 1fr !important;
}
.pb-container.type-columns:has(.pb-tabs[data-pb-tabs-root="1"] .pb-tabs-nav a.pb-tabs-tab[aria-selected="true"][data-pb-tab-full-width="1"])
  > .pb-container-col:not(:has(.pb-tabs-nav a.pb-tabs-tab[aria-selected="true"][data-pb-tab-full-width="1"])) {
  display: none !important;
}
/* Builder canvas tabs (buttons + .is-active). */
.pb-container.type-columns:has(.pb-tabs--canvas .pb-tabs-canvas-tab.is-active[data-pb-tab-full-width="1"]) {
  grid-template-columns: 1fr !important;
}
.pb-container.type-columns:has(.pb-tabs--canvas .pb-tabs-canvas-tab.is-active[data-pb-tab-full-width="1"])
  > .pb-container-col:not(:has(.pb-tabs-canvas-tab.is-active[data-pb-tab-full-width="1"])) {
  display: none !important;
}
.pb-container-col { min-width: 0; }
.pb-container-col.col-align-left { text-align: left; }
.pb-container-col.col-align-center { text-align: center; }
.pb-container-col.col-align-right { text-align: right; }
.pb-container-col.col-valign-start { align-self: start; }
.pb-container-col.col-valign-center { align-self: center; }
.pb-container-col.col-valign-end { align-self: end; }
.pb-container-col.col-valign-stretch { align-self: stretch; }
.pb-container-col.is-spacer { min-height: 2.5rem; }
.pb-container.type-layer-group {
  position: relative;
  min-height: var(--pb-layer-group-min-height, 0px);
  /* Override .layout-stack flex: nested flex min-height:auto can over-size the stack vs in-flow copy */
  display: block;
}
.pb-container.type-layer-group > .pb-container-col {
  position: relative;
  min-height: inherit;
}
/* Match builder canvas: flow blocks paint above decorative .pb-layer-item layers unless layerZ raises a layer. */
.pb-container.type-layer-group > .pb-container-col > :not(.pb-layer-item) {
  position: relative;
  z-index: 1;
}
.pb-container.type-layer-group > .pb-container-col > .pb-layer-item {
  z-index: 0;
}
.pb-layer-item {
  box-sizing: border-box;
  max-width: 100%;
}

/* Section row: flex parent + wrap; every direct child must be full-width or forms/tabs/images
   sit side-by-side (only .pb-container had this rule before). */
.pb-section.layout-row > * {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.pb-container.layout-row > .pb-container {
  flex: 1 1 100%;
  width: 100%;
}

@media (max-width: 640px) {
  .pb-section.layout-two-column {
    grid-template-columns: 1fr;
  }
  .pb-section.mobile-manual {
    padding-top: calc(var(--pb-mobile-section-padding-v, var(--pb-section-padding-v, 32)) * 1px);
    padding-bottom: calc(var(--pb-mobile-section-padding-v, var(--pb-section-padding-v, 32)) * 1px);
    padding-left: calc(var(--pb-mobile-section-padding-h, var(--pb-section-padding-h, 24)) * 1px);
    padding-right: calc(var(--pb-mobile-section-padding-h, var(--pb-section-padding-h, 24)) * 1px);
    font-size: calc(var(--pb-mobile-section-size, var(--pb-section-size, 16)) * 1px);
  }
  .pb-section.mobile-manual.layout-two-column,
  .pb-section.mobile-manual.layout-stack,
  .pb-section.mobile-manual.layout-row {
    gap: calc(var(--pb-mobile-section-content-spacing, var(--pb-section-content-spacing, 16)) * 1px);
  }
  .pb-section.mobile-manual.mobile-content-align-left { text-align: left; }
  .pb-section.mobile-manual.mobile-content-align-center { text-align: center; }
  .pb-section.mobile-manual.mobile-content-align-right { text-align: right; }
  .pb-section.mobile-manual.layout-row.mobile-content-align-left { justify-content: flex-start; }
  .pb-section.mobile-manual.layout-row.mobile-content-align-center { justify-content: center; }
  .pb-section.mobile-manual.layout-row.mobile-content-align-right { justify-content: flex-end; }
  /* Manual mobile width (boxed sections only; class + vars from builder) */
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-box:not(.pb-section-mobile-width-px),
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-tall-box:not(.pb-section-mobile-width-px) {
    width: min(100%, min(56rem, calc(var(--pb-mobile-section-width, 100) * 1%)));
  }
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-wide-box:not(.pb-section-mobile-width-px) {
    width: min(100%, min(90rem, calc(var(--pb-mobile-section-width, 100) * 1%)));
  }
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-box.pb-section-mobile-width-px,
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-tall-box.pb-section-mobile-width-px {
    width: min(100%, min(56rem, calc(var(--pb-mobile-section-width-px, 800) * 1px)));
  }
  .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-wide-box.pb-section-mobile-width-px {
    width: min(100%, min(90rem, calc(var(--pb-mobile-section-width-px, 800) * 1px)));
  }
  .pb-container.type-columns {
    grid-template-columns: 1fr !important;
  }
  .pb-container.type-columns > .pb-container-col.mobile-stack-top {
    grid-row: 1;
  }
  .pb-image-wrap.pb-image-mobile-manual {
    height: var(--pb-image-mobile-height, auto);
  }
  .pb-image-wrap.pb-image-mobile-manual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pb-text.pb-text-mobile-manual {
    font-size: var(--pb-text-mobile-font-size, inherit);
    line-height: var(--pb-text-mobile-line-height, inherit);
    letter-spacing: var(--pb-text-mobile-letter-spacing, inherit);
  }
  .pb-list.pb-list-mobile-manual {
    padding-left: var(--pb-list-mobile-indent, var(--pb-list-indent));
    font-size: var(--pb-list-mobile-font-size, inherit);
    line-height: var(--pb-list-mobile-line-height, inherit);
    letter-spacing: var(--pb-list-mobile-letter-spacing, inherit);
  }
  .pb-list.pb-list-mobile-manual .pb-list-item + .pb-list-item {
    margin-top: var(--pb-list-mobile-item-spacing, var(--pb-list-item-spacing));
  }
  .pb-list.pb-list-mobile-manual .pb-list-item::marker {
    font-size: var(--pb-list-mobile-icon-size, var(--pb-list-icon-size));
  }
  .pb-video-mobile-manual {
    max-width: min(var(--pb-video-mobile-max-width, 100%), 100%) !important;
  }
  .pb-button-mobile-manual {
    font-size: var(--pb-button-mobile-font-size, inherit);
    padding: var(--pb-button-mobile-pad-y, 0.5rem) var(--pb-button-mobile-pad-x, 1.25rem);
  }
  .pb-divider-mobile-manual {
    margin-top: var(--pb-divider-mobile-my, 1rem);
    margin-bottom: var(--pb-divider-mobile-my, 1rem);
  }
  .pb-spacer-mobile-manual {
    min-height: var(--pb-spacer-mobile-min-height) !important;
  }
  .pb-tabs-mobile-manual {
    --pb-tabs-font-size: var(--pb-tabs-mobile-font-size, var(--pb-tabs-font-size, 0.9375rem));
  }
  .pb-tabs-mobile-manual .pb-tabs-nav,
  .pb-tabs-mobile-manual.pb-tabs--canvas .pb-tabs-canvas-nav {
    gap: var(--pb-tabs-mobile-gap, var(--pb-tabs-gap, 0.25rem));
  }
  .pb-container.type-columns.pb-container-mobile-manual {
    gap: var(--pb-container-mobile-gap, 0.75rem);
  }
  .pb-form-mobile-manual {
    --pb-form-input-font-size: var(--pb-form-input-font-size-mobile, var(--pb-form-input-font-size, 0.9375rem));
  }
  .pb-form-mobile-manual .pb-form-card {
    padding: var(--pb-form-card-padding-mobile, 1.25rem 1.35rem);
  }
}

/* Builder mobile preview: canvas is narrow but the browser viewport is usually wide, so
   @media (max-width: 640px) above does not run. Mirror those rules when the mobile toggle is on. */
.builder-canvas-wrap.viewport-mobile .pb-section.layout-two-column {
  grid-template-columns: 1fr;
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual {
  padding-top: calc(var(--pb-mobile-section-padding-v, var(--pb-section-padding-v, 32)) * 1px);
  padding-bottom: calc(var(--pb-mobile-section-padding-v, var(--pb-section-padding-v, 32)) * 1px);
  padding-left: calc(var(--pb-mobile-section-padding-h, var(--pb-section-padding-h, 24)) * 1px);
  padding-right: calc(var(--pb-mobile-section-padding-h, var(--pb-section-padding-h, 24)) * 1px);
  font-size: calc(var(--pb-mobile-section-size, var(--pb-section-size, 16)) * 1px);
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-two-column,
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-stack,
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-row {
  gap: calc(var(--pb-mobile-section-content-spacing, var(--pb-section-content-spacing, 16)) * 1px);
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.mobile-content-align-left { text-align: left; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.mobile-content-align-center { text-align: center; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.mobile-content-align-right { text-align: right; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-row.mobile-content-align-left { justify-content: flex-start; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-row.mobile-content-align-center { justify-content: center; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.layout-row.mobile-content-align-right { justify-content: flex-end; }
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-box:not(.pb-section-mobile-width-px),
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-tall-box:not(.pb-section-mobile-width-px) {
  width: min(100%, min(56rem, calc(var(--pb-mobile-section-width, 100) * 1%)));
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-wide-box:not(.pb-section-mobile-width-px) {
  width: min(100%, min(90rem, calc(var(--pb-mobile-section-width, 100) * 1%)));
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-box.pb-section-mobile-width-px,
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-tall-box.pb-section-mobile-width-px {
  width: min(100%, min(56rem, calc(var(--pb-mobile-section-width-px, 800) * 1px)));
}
.builder-canvas-wrap.viewport-mobile .pb-section.mobile-manual.pb-section-mobile-width-manual.section-style-wide-box.pb-section-mobile-width-px {
  width: min(100%, min(90rem, calc(var(--pb-mobile-section-width-px, 800) * 1px)));
}
.builder-canvas-wrap.viewport-mobile .pb-container.type-columns {
  grid-template-columns: 1fr !important;
}
.builder-canvas-wrap.viewport-mobile .pb-container.type-columns > .pb-container-col.mobile-stack-top {
  grid-row: 1;
}
.builder-canvas-wrap.viewport-mobile .pb-image-wrap.pb-image-mobile-manual {
  height: var(--pb-image-mobile-height, auto);
}
.builder-canvas-wrap.viewport-mobile .pb-image-wrap.pb-image-mobile-manual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.builder-canvas-wrap.viewport-mobile .pb-text.pb-text-mobile-manual {
  font-size: var(--pb-text-mobile-font-size, inherit);
  line-height: var(--pb-text-mobile-line-height, inherit);
  letter-spacing: var(--pb-text-mobile-letter-spacing, inherit);
}
.builder-canvas-wrap.viewport-mobile .pb-list.pb-list-mobile-manual {
  padding-left: var(--pb-list-mobile-indent, var(--pb-list-indent));
  font-size: var(--pb-list-mobile-font-size, inherit);
  line-height: var(--pb-list-mobile-line-height, inherit);
  letter-spacing: var(--pb-list-mobile-letter-spacing, inherit);
}
.builder-canvas-wrap.viewport-mobile .pb-list.pb-list-mobile-manual .pb-list-item + .pb-list-item {
  margin-top: var(--pb-list-mobile-item-spacing, var(--pb-list-item-spacing));
}
.builder-canvas-wrap.viewport-mobile .pb-list.pb-list-mobile-manual .pb-list-item::marker {
  font-size: var(--pb-list-mobile-icon-size, var(--pb-list-icon-size));
}
.builder-canvas-wrap.viewport-mobile .pb-video-mobile-manual {
  max-width: min(var(--pb-video-mobile-max-width, 100%), 100%) !important;
}
.builder-canvas-wrap.viewport-mobile .pb-button-mobile-manual {
  font-size: var(--pb-button-mobile-font-size, inherit);
  padding: var(--pb-button-mobile-pad-y, 0.5rem) var(--pb-button-mobile-pad-x, 1.25rem);
}
.builder-canvas-wrap.viewport-mobile .pb-divider-mobile-manual {
  margin-top: var(--pb-divider-mobile-my, 1rem);
  margin-bottom: var(--pb-divider-mobile-my, 1rem);
}
.builder-canvas-wrap.viewport-mobile .pb-spacer-mobile-manual {
  min-height: var(--pb-spacer-mobile-min-height) !important;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs-mobile-manual {
  --pb-tabs-font-size: var(--pb-tabs-mobile-font-size, var(--pb-tabs-font-size, 0.9375rem));
}
.builder-canvas-wrap.viewport-mobile .pb-tabs-mobile-manual .pb-tabs-nav,
.builder-canvas-wrap.viewport-mobile .pb-tabs-mobile-manual.pb-tabs--canvas .pb-tabs-canvas-nav {
  gap: var(--pb-tabs-mobile-gap, var(--pb-tabs-gap, 0.25rem));
}
.builder-canvas-wrap.viewport-mobile .pb-container.type-columns.pb-container-mobile-manual {
  gap: var(--pb-container-mobile-gap, 0.75rem);
}
.builder-canvas-wrap.viewport-mobile .pb-form-mobile-manual {
  --pb-form-input-font-size: var(--pb-form-input-font-size-mobile, var(--pb-form-input-font-size, 0.9375rem));
}
.builder-canvas-wrap.viewport-mobile .pb-form-mobile-manual .pb-form-card {
  padding: var(--pb-form-card-padding-mobile, 1.25rem 1.35rem);
}

/* Embedded forms (published site + builder canvas preview) */
.pb-form-wrap {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}
.pb-form-card {
  background: var(--pb-form-card-bg, rgba(255, 255, 255, 0.92));
  border: 1px solid var(--pb-form-card-border-color, #e2e8f0);
  border-radius: var(--pb-form-card-radius, 8px);
  padding: 1.25rem 1.35rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  font-family: var(--pb-form-card-font-family, inherit);
}
.pb-form-title {
  margin: 0 0 0.5rem;
  font-family: var(--pb-form-title-font-family, inherit);
  font-size: var(--pb-form-title-font-size, 1.25rem);
  font-weight: var(--pb-form-title-font-weight, 600);
  color: var(--pb-form-title-color, #1a202c);
}
.pb-form-desc {
  margin: 0 0 1rem;
  font-family: var(--pb-form-desc-font-family, inherit);
  font-size: var(--pb-form-desc-font-size, 0.9375rem);
  color: var(--pb-form-desc-color, #4a5568);
  line-height: 1.5;
}
.pb-form-preview-note {
  margin: 0;
  font-size: 0.875rem;
  color: #718096;
}
.pb-form-field {
  margin-bottom: 1rem;
}
.pb-form-label {
  display: block;
  font-family: var(--pb-form-label-font-family, inherit);
  font-size: var(--pb-form-label-font-size, 0.8125rem);
  font-weight: var(--pb-form-label-font-weight, 600);
  color: var(--pb-form-label-color, #2d3748);
  margin-bottom: 0.35rem;
}
.pb-form-field-error {
  margin: 0.35rem 0 0;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #c53030;
  line-height: 1.35;
}
.pb-form-input[aria-invalid="true"],
.pb-form-textarea[aria-invalid="true"],
.pb-form-select[aria-invalid="true"],
.pb-form-file[aria-invalid="true"] {
  border-color: #c53030;
}
.pb-form-input,
.pb-form-textarea,
.pb-form-select,
.pb-form-file {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.65rem;
  background: var(--pb-form-input-bg, #fff);
  border: 1px solid var(--pb-form-input-border-color, #cbd5e0);
  border-radius: var(--pb-form-input-radius, 6px);
  color: var(--pb-form-input-color, inherit);
  font-size: var(--pb-form-input-font-size, 0.9375rem);
  font-family: var(--pb-form-input-font-family, inherit);
}
.pb-form-file {
  padding: 0.4rem 0.5rem;
  cursor: pointer;
}
.pb-form-upload-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.pb-form-upload-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0.5rem 0.65rem;
  padding: 0.45rem 0.55rem;
  font-size: 0.8125rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
}
.pb-form-upload-row--error {
  border-color: #fc8181;
  background: #fff5f5;
}
.pb-form-upload-name {
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: #2d3748;
}
.pb-form-upload-progress {
  grid-column: 1 / -1;
  grid-row: 2;
  height: 4px;
  background: #e2e8f0;
  border-radius: 2px;
  overflow: hidden;
}
.pb-form-upload-bar {
  display: block;
  height: 100%;
  width: 0%;
  background: #38b2ac;
  border-radius: 2px;
  transition: width 0.15s ease-out;
}
.pb-form-upload-status {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.75rem;
  color: #718096;
  white-space: nowrap;
}
.pb-form-upload-remove {
  grid-column: 3;
  grid-row: 1;
  border: none;
  background: transparent;
  color: #718096;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0.15rem 0.35rem;
  cursor: pointer;
  border-radius: 4px;
}
.pb-form-upload-remove:hover {
  background: #edf2f7;
  color: #2d3748;
}
.pb-form-textarea {
  resize: vertical;
  min-height: 5rem;
}
.pb-form-choices {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.pb-form-radio,
.pb-form-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--pb-form-input-font-family, inherit);
  font-size: var(--pb-form-input-font-size, 0.9375rem);
  cursor: pointer;
  color: var(--pb-form-label-color, inherit);
}
.pb-form-yesno {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.pb-form-turnstile {
  margin-top: 1rem;
}
.pb-form-actions {
  margin-top: 1.25rem;
}
.pb-form-success-view {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}
.pb-form-success-msg {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #2d3748;
  white-space: pre-line;
}
.pb-form-success-msg .pb-form-success-link {
  color: var(--pb-form-submit-bg, #38b2ac);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pb-form-success-msg .pb-form-success-link:hover {
  filter: brightness(0.92);
}
.pb-form-submit-another {
  margin-top: 0.25rem;
}
.pb-form-submit {
  display: inline-block;
  padding: 0.55rem 1.25rem;
  background: var(--pb-form-submit-bg, #38b2ac);
  color: var(--pb-form-submit-color, #fff);
  border: none;
  border-radius: 6px;
  font-family: var(--pb-form-submit-font-family, inherit);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
}
.pb-form-submit:hover {
  filter: brightness(1.05);
}
.pb-form-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.pb-form-wrap .pb-form {
  position: relative;
}

.pb-form-conditional {
  margin-top: 0.35rem;
}
.pb-form-conditional--hidden {
  display: none !important;
}
.pb-form-conditional .pb-form-field {
  margin-left: 0.35rem;
  padding-left: 0.5rem;
  border-left: 2px solid #e2e8f0;
}

/* Builder canvas preview */
.pb-form-wrap--canvas .pb-form-card {
  background: var(--pb-form-card-bg, #f8fafc);
}
.pb-form-canvas-fields {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
  color: var(--pb-form-canvas-fields-color, #4a5568);
  font-family: var(--pb-form-label-font-family, inherit);
  font-size: var(--pb-form-label-font-size, 0.875rem);
}
.pb-form-canvas-field-line--indent {
  margin-left: 0.65rem;
  list-style: circle;
}
.pb-form-submit--fake {
  opacity: 0.85;
  pointer-events: none;
}

/* Tabs (published + builder canvas preview); optional theming via --pb-tabs-* on .pb-tabs */
.pb-tabs {
  width: 100%;
  box-sizing: border-box;
  overflow-anchor: none;
}
.pb-tabs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pb-tabs-gap, 0.25rem);
  margin: 0 0 0.75rem;
  padding: 0;
  border-bottom: 1px solid var(--pb-tabs-nav-border, #e2e8f0);
}
/* Tab controls are <a href="#pb-tab=…">; strip default link underline in all states */
.pb-tabs .pb-tabs-nav a.pb-tabs-tab {
  display: inline-block;
  margin: 0 0 -1px;
  padding: var(--pb-tabs-tab-py, 0.45rem) var(--pb-tabs-tab-px, 0.85rem);
  font-family: var(--pb-tabs-font-family, inherit);
  font-size: var(--pb-tabs-font-size, 0.9375rem);
  font-weight: var(--pb-tabs-font-weight, 500);
  color: var(--pb-tabs-label, #4a5568);
  text-decoration: none !important;
  text-decoration-line: none;
  -webkit-text-decoration: none;
  background: var(--pb-tabs-tab-bg, transparent);
  border: 1px solid var(--pb-tabs-tab-border, transparent);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  box-sizing: border-box;
  cursor: pointer;
}
.pb-tabs .pb-tabs-nav a.pb-tabs-tab:focus-visible {
  outline: 2px solid var(--pb-tabs-indicator, #38a169);
  outline-offset: 2px;
}
.pb-tabs .pb-tabs-nav a.pb-tabs-tab:hover {
  color: var(--pb-tabs-hover, #2d3748);
  background: var(--pb-tabs-tab-bg-hover, #f7fafc);
  text-decoration: none !important;
  text-decoration-line: none;
  -webkit-text-decoration: none;
}
.pb-tabs .pb-tabs-nav a.pb-tabs-tab:visited {
  color: var(--pb-tabs-label, #4a5568);
  text-decoration: none !important;
}
.pb-tabs .pb-tabs-nav a.pb-tabs-tab[aria-selected="true"] {
  color: var(--pb-tabs-label-active, #1a202c);
  background: var(--pb-tabs-tab-bg-active, #fff);
  border-color: var(--pb-tabs-tab-border, #e2e8f0);
  border-bottom-color: var(--pb-tabs-tab-bg-active, #fff);
  font-weight: var(--pb-tabs-font-weight-active, 600);
  text-decoration: none !important;
}
.pb-tabs .pb-tabs-nav a.pb-tabs-tab[aria-selected="true"]:visited {
  color: var(--pb-tabs-label-active, #1a202c);
  text-decoration: none !important;
}
.pb-tabs-panel {
  padding: var(--pb-tabs-panel-pt, 0.5rem) 0 0;
  box-sizing: border-box;
}
.pb-tabs-panel[hidden] {
  display: none !important;
}
/* Per-tab sticky tab bar when active (:has + data-pb-tab-sticky-nav on the selected tab control). */
.pb-tabs[data-pb-tabs-root="1"]:has(.pb-tabs-nav a.pb-tabs-tab[aria-selected="true"][data-pb-tab-sticky-nav="1"]) .pb-tabs-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background-color: var(--pb-tabs-sticky-nav-bg, var(--pb-tabs-tab-bg-active, #ffffff));
  box-shadow: 0 1px 0 var(--pb-tabs-nav-border, #e2e8f0);
}
.pb-tabs--canvas:has(.pb-tabs-canvas-tab.is-active[data-pb-tab-sticky-nav="1"]) .pb-tabs-canvas-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background-color: var(--pb-tabs-sticky-nav-bg, var(--pb-tabs-tab-bg-active, #ffffff));
  box-shadow: 0 1px 0 var(--pb-tabs-nav-border, #e2e8f0);
}
.pb-tabs-canvas-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pb-tabs-gap, 0.2rem);
  margin: 0 0 0.5rem;
}
.pb-tabs-canvas-tab {
  margin: 0;
  padding: var(--pb-tabs-tab-py, 0.3rem) var(--pb-tabs-tab-px, 0.55rem);
  font-family: var(--pb-tabs-font-family, inherit);
  font-size: var(--pb-tabs-font-size, 0.75rem);
  font-weight: var(--pb-tabs-font-weight, 500);
  color: var(--pb-tabs-label, #64748b);
  background: var(--pb-tabs-tab-bg, #f1f5f9);
  border: 1px solid var(--pb-tabs-tab-border, #e2e8f0);
  border-radius: 4px;
  cursor: pointer;
}
.pb-tabs-canvas-tab:hover {
  color: var(--pb-tabs-hover, #475569);
}
.pb-tabs-canvas-tab.is-active {
  color: var(--pb-tabs-label-active, #0f172a);
  background: var(--pb-tabs-tab-bg-active, #fff);
  border-color: var(--pb-tabs-tab-border, #cbd5e1);
  font-weight: var(--pb-tabs-font-weight-active, 600);
}
.pb-tabs-canvas-panel {
  min-height: 1.5rem;
  padding-top: var(--pb-tabs-panel-pt, 0);
}

.pb-tabs-nav--center {
  justify-content: center;
}
.pb-tabs-nav--stretch {
  gap: 0;
}
.pb-tabs-nav--stretch .pb-tabs-tab {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

/* Tabs: pills (published) */
.pb-tabs--pills .pb-tabs-nav {
  border-bottom: none;
  gap: var(--pb-tabs-gap, 0.35rem);
  margin-bottom: 0.65rem;
}
.pb-tabs--pills .pb-tabs-tab {
  margin: 0;
  border-radius: 999px;
  border: 1px solid var(--pb-tabs-tab-border, #e2e8f0);
  background: var(--pb-tabs-tab-bg, #f8fafc);
}
.pb-tabs--pills .pb-tabs-tab:hover {
  background: var(--pb-tabs-tab-bg-hover, #edf2f7);
}
.pb-tabs--pills .pb-tabs-tab[aria-selected="true"] {
  background: var(--pb-tabs-tab-bg-active, #fff);
  border-color: var(--pb-tabs-tab-border, #cbd5e1);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

/* Tabs: minimal (published) */
.pb-tabs--minimal .pb-tabs-nav {
  gap: var(--pb-tabs-gap, 0.5rem);
}
.pb-tabs--minimal .pb-tabs-tab {
  margin: 0 0 -1px;
  padding: var(--pb-tabs-tab-py, 0.5rem) var(--pb-tabs-tab-px, 0.35rem);
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--pb-tabs-label, #64748b);
  border-bottom: 2px solid transparent;
}
.pb-tabs--minimal .pb-tabs-tab:hover {
  color: var(--pb-tabs-hover, #334155);
  background: transparent;
}
.pb-tabs--minimal .pb-tabs-tab[aria-selected="true"] {
  color: var(--pb-tabs-label-active, #1a202c);
  background: transparent;
  border-color: transparent;
  border-bottom-color: var(--pb-tabs-indicator, #1a202c);
  font-weight: var(--pb-tabs-font-weight-active, 600);
}

/* Builder canvas: tab row alignment */
.pb-tabs-canvas-nav--center {
  justify-content: center;
}
.pb-tabs-canvas-nav--stretch {
  gap: 0;
}
.pb-tabs-canvas-nav--stretch .pb-tabs-canvas-tab {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

/* Builder canvas: variants */
.pb-tabs--canvas.pb-tabs--pills .pb-tabs-canvas-nav {
  border-bottom: none;
  gap: 0.3rem;
}
.pb-tabs--canvas.pb-tabs--pills .pb-tabs-canvas-tab {
  border-radius: 999px;
}
.pb-tabs--canvas.pb-tabs--pills .pb-tabs-canvas-tab:hover {
  background: var(--pb-tabs-tab-bg-hover, #edf2f7);
}
.pb-tabs--canvas.pb-tabs--minimal .pb-tabs-canvas-tab {
  border: none;
  border-radius: 0;
  background: transparent;
  border-bottom: 2px solid transparent;
  padding: 0.25rem 0.4rem;
}
.pb-tabs--canvas.pb-tabs--minimal .pb-tabs-canvas-tab.is-active {
  background: transparent;
  border-color: transparent;
  border-bottom-color: var(--pb-tabs-indicator, #334155);
  color: var(--pb-tabs-label-active, #0f172a);
}

/* Tabs: mobile manual — alignment overrides (small screens) */
@media (max-width: 640px) {
  .pb-tabs.pb-tabs-mobile-manual .pb-tabs-nav.pb-tabs-nav--mobile-start {
    justify-content: flex-start;
  }
  .pb-tabs.pb-tabs-mobile-manual .pb-tabs-nav.pb-tabs-nav--mobile-center {
    justify-content: center;
  }
  .pb-tabs.pb-tabs-mobile-manual .pb-tabs-nav.pb-tabs-nav--mobile-stretch {
    gap: 0;
  }
  .pb-tabs.pb-tabs-mobile-manual .pb-tabs-nav.pb-tabs-nav--mobile-stretch .pb-tabs-tab {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
  }
}

/* Tabs: mobile manual — style variant overrides (small screens; pb-tabs-m-var--* on root) */
@media (max-width: 640px) {
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pb-tabs-gap, 0.25rem);
    margin: 0 0 0.75rem;
    padding: 0;
    border-bottom: 1px solid var(--pb-tabs-nav-border, #e2e8f0);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-tab {
    margin: 0 0 -1px;
    padding: var(--pb-tabs-tab-py, 0.45rem) var(--pb-tabs-tab-px, 0.85rem);
    border-radius: 6px 6px 0 0;
    border: 1px solid var(--pb-tabs-tab-border, transparent);
    border-bottom: none;
    background: var(--pb-tabs-tab-bg, transparent);
    box-shadow: none;
    font-weight: var(--pb-tabs-font-weight, 500);
    color: var(--pb-tabs-label, #4a5568);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-tab:hover {
    color: var(--pb-tabs-hover, #2d3748);
    background: var(--pb-tabs-tab-bg-hover, #f7fafc);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-tab[aria-selected="true"] {
    color: var(--pb-tabs-label-active, #1a202c);
    background: var(--pb-tabs-tab-bg-active, #fff);
    border-color: var(--pb-tabs-tab-border, #e2e8f0);
    border-bottom-color: var(--pb-tabs-tab-bg-active, #fff);
    font-weight: var(--pb-tabs-font-weight-active, 600);
  }

  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-nav {
    border-bottom: none;
    gap: var(--pb-tabs-gap, 0.35rem);
    margin-bottom: 0.65rem;
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-tab {
    margin: 0;
    border-radius: 999px;
    border: 1px solid var(--pb-tabs-tab-border, #e2e8f0);
    background: var(--pb-tabs-tab-bg, #f8fafc);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-tab:hover {
    background: var(--pb-tabs-tab-bg-hover, #edf2f7);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-tab[aria-selected="true"] {
    background: var(--pb-tabs-tab-bg-active, #fff);
    border-color: var(--pb-tabs-tab-border, #cbd5e1);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  }

  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-nav {
    gap: var(--pb-tabs-gap, 0.5rem);
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-tab {
    margin: 0 0 -1px;
    padding: var(--pb-tabs-tab-py, 0.5rem) var(--pb-tabs-tab-px, 0.35rem);
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--pb-tabs-label, #64748b);
    border-bottom: 2px solid transparent;
    box-shadow: none;
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-tab:hover {
    color: var(--pb-tabs-hover, #334155);
    background: transparent;
  }
  .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-tab[aria-selected="true"] {
    color: var(--pb-tabs-label-active, #1a202c);
    background: transparent;
    border-color: transparent;
    border-bottom-color: var(--pb-tabs-indicator, #1a202c);
    font-weight: var(--pb-tabs-font-weight-active, 600);
  }
}

/* Builder canvas: same tab mobile rules when viewport-mobile is on */
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual .pb-tabs-canvas-nav.pb-tabs-canvas-nav--mobile-start {
  justify-content: flex-start;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual .pb-tabs-canvas-nav.pb-tabs-canvas-nav--mobile-center {
  justify-content: center;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual .pb-tabs-canvas-nav.pb-tabs-canvas-nav--mobile-stretch {
  gap: 0;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual .pb-tabs-canvas-nav.pb-tabs-canvas-nav--mobile-stretch .pb-tabs-canvas-tab {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-canvas-nav {
  border-bottom: none;
  gap: var(--pb-tabs-gap, 0.2rem);
  margin: 0 0 0.5rem;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-canvas-tab {
  margin: 0;
  padding: var(--pb-tabs-tab-py, 0.3rem) var(--pb-tabs-tab-px, 0.55rem);
  font-size: var(--pb-tabs-font-size, 0.75rem);
  border-radius: 4px;
  border: 1px solid var(--pb-tabs-tab-border, #e2e8f0);
  background: var(--pb-tabs-tab-bg, #f1f5f9);
  color: var(--pb-tabs-label, #64748b);
  border-bottom: 1px solid var(--pb-tabs-tab-border, #e2e8f0);
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-canvas-tab:hover {
  color: var(--pb-tabs-hover, #475569);
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--default .pb-tabs-canvas-tab.is-active {
  color: var(--pb-tabs-label-active, #0f172a);
  background: var(--pb-tabs-tab-bg-active, #fff);
  border-color: var(--pb-tabs-tab-border, #cbd5e1);
  font-weight: var(--pb-tabs-font-weight-active, 600);
}

.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-canvas-nav {
  border-bottom: none;
  gap: 0.3rem;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-canvas-tab {
  border-radius: 999px;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--pills .pb-tabs-canvas-tab:hover {
  background: var(--pb-tabs-tab-bg-hover, #edf2f7);
}

.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-canvas-tab {
  border: none;
  border-radius: 0;
  background: transparent;
  border-bottom: 2px solid transparent;
  padding: 0.25rem 0.4rem;
}
.builder-canvas-wrap.viewport-mobile .pb-tabs.pb-tabs-mobile-manual.pb-tabs-m-var--minimal .pb-tabs-canvas-tab.is-active {
  background: transparent;
  border-color: transparent;
  border-bottom-color: var(--pb-tabs-indicator, #334155);
  color: var(--pb-tabs-label-active, #0f172a);
}

/* Approved form responses (form_feed widget) */
.pb-form-feed {
  max-width: 100%;
  margin: 0 auto;
}
.pb-form-feed--empty .pb-form-feed-empty {
  margin: 0;
  color: #64748b;
  font-size: 0.95rem;
}
.pb-form-feed-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1rem 1.15rem 1.15rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.pb-form-feed-date {
  display: block;
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 0.65rem;
}
.pb-form-feed-field {
  margin-bottom: 0.75rem;
}
.pb-form-feed-field:last-child {
  margin-bottom: 0;
}
.pb-form-feed-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}
.pb-form-feed-line,
.pb-form-feed-long {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #1e293b;
}
.pb-form-feed-long {
  font-size: 1rem;
  word-break: break-word;
}
.pb-form-feed-media {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
}
.pb-form-feed-media-item {
  flex: 0 0 auto;
}
.pb-form-feed-thumb {
  display: block;
  max-width: 160px;
  max-height: 160px;
  width: auto;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.pb-form-feed-video,
.pb-form-feed-audio {
  max-width: min(100%, 420px);
  border-radius: 8px;
}
.pb-form-feed-caption {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
  margin-top: 0.25rem;
}
.pb-form-feed-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem;
}
.pb-form-feed-gallery-item {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}
.pb-form-feed-gallery-item .pb-form-feed-img {
  display: block;
  width: 100%;
  height: 140px;
  object-fit: cover;
}
.pb-form-feed-gallery-link {
  display: block;
}
.pb-form-feed-layout-stories .pb-form-feed-long {
  font-size: 1.05rem;
  line-height: 1.6;
}
.pb-form-feed-layout-mixed .pb-form-feed-thumb {
  max-width: 200px;
  max-height: 200px;
}
@media (max-width: 640px) {
  .pb-form-feed-gallery {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }
}

/* Builder canvas placeholder for form_feed */
.pb-form-feed--canvas .pb-form-feed-canvas-card {
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 0.9rem 1rem;
  background: #f8fafc;
}
.pb-form-feed--canvas .pb-form-feed-canvas-title {
  font-weight: 600;
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  color: #334155;
}
.pb-form-feed--canvas .pb-form-feed-canvas-note {
  margin: 0;
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.45;
}
