/* Canonical structural primitives for public, authenticated, and member experiences. */
@font-face {
  font-family: "WebFMQ Experience Icons";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("./fonts/webfmq-experience-icons-solid.woff2?v=20260822-icon-system-r4") format("woff2");
}

@font-face {
  font-family: "WebFMQ Experience Icons";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("./fonts/webfmq-experience-icons-regular.woff2?v=20260822-icon-system-r4") format("woff2");
}

:root {
  --experience-public-page-max: 75rem;
  --experience-public-navbar-height: 0px;
  --experience-public-navbar-offset: var(--experience-public-navbar-height);
  --experience-public-navbar-banner-gap: 0.75rem;
  --experience-public-inline-gutter: 0.625rem;
  --experience-public-banner-inline-gutter: var(--experience-public-inline-gutter);
  --experience-radius: 8px;
  --experience-radius-compact-media: 3px;
  --experience-radius-pill: 999px;
  --experience-radius-circle: 50%;
  --experience-control-radius: var(--experience-radius);
  --experience-surface-radius: var(--experience-radius);
  --experience-public-navbar-toolbar-radius: 0 0 var(--experience-radius) var(--experience-radius);
  --experience-public-banner-radius: var(--experience-radius);
  --experience-public-frame-border-width: 1px;
  --experience-public-frame-border-color: #d9dee7;
  --experience-public-frame-bottom-radius: var(--experience-radius);
  --experience-control-height: 34px;
  --experience-control-padding-y: 7px;
  --experience-control-padding-x: 5px;
  --experience-joined-field-label-inline-size: 7.5rem;
  --experience-member-shell-max: 75rem;
  --experience-member-sidebar-inline-size: 16.25rem;
  --experience-member-topbar-block-size: 3rem;
  --experience-member-drawer-backdrop: rgb(15 23 42 / 42%);
}

:where(.ExperienceUI-Surface, .ExperienceUI-Surface *) {
  box-sizing: border-box;
}

:where(
  .ExperienceUI-Surface input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]),
  .ExperienceUI-Surface select
) {
  height: var(--experience-control-height);
  min-height: var(--experience-control-height);
  padding-block: var(--experience-control-padding-y);
  padding-inline: var(--experience-control-padding-x);
  border-radius: var(--experience-control-radius);
}

:where(.ExperienceUI-Surface textarea) {
  min-height: var(--experience-control-height);
  padding-block: var(--experience-control-padding-y);
  padding-inline: var(--experience-control-padding-x);
  border-radius: var(--experience-control-radius);
}

:where(.ExperienceUI-JoinedField) {
  display: grid;
  grid-template-columns: var(--experience-joined-field-label-inline-size) minmax(0, 1fr);
  min-inline-size: 0;
  min-block-size: var(--experience-control-height);
  align-items: stretch;
}

:where(.ExperienceUI-JoinedFieldLabel, .ExperienceUI-JoinedFieldControl) {
  min-inline-size: 0;
}

:where(.ExperienceUI-JoinedFieldLabel) {
  display: flex;
  align-items: center;
}

:where(.ExperienceUI-JoinedFieldControl) {
  display: flex;
  align-items: stretch;
}

:where(.ExperienceUI-JoinedFieldControl > :is(input, select, textarea)) {
  inline-size: 100%;
  min-inline-size: 0;
}

:where(.ExperienceUI-Surface) {
  min-inline-size: 0;
}

:where(.ExperienceUI-Main, .ExperienceUI-Section, .ExperienceUI-Card) {
  min-inline-size: 0;
}

:where(.ExperienceUI-ProvisionalFrame) {
  padding: var(--experience-public-inline-gutter);
}

:where(.ExperienceUI-ProvisionalFrame .ExperienceUI-JoinedField) {
  margin-block: var(--experience-public-inline-gutter);
  overflow-wrap: anywhere;
}

:where(.ExperienceUI-ProvisionalFrame .ExperienceUI-JoinedFieldControl) {
  display: block;
}

:where(.ExperienceUI-Card, .ExperienceUI-CornerRect) {
  border-radius: var(--experience-surface-radius);
}

:where(.ExperienceUI-CornerPill) {
  border-radius: var(--experience-radius-pill);
}

:where(.ExperienceUI-CornerCompactMedia) {
  border-radius: var(--experience-radius-compact-media);
}

:where(.ExperienceUI-CornerCircle) {
  border-radius: var(--experience-radius-circle);
}

:where(.ExperienceUI-CornerJoinedBlockEnd) {
  border-radius: 0 0 var(--experience-radius) var(--experience-radius);
}

.ExperienceUI-PublicNavbarToolbar.ExperienceUI-CornerJoinedBlockEnd {
  border-radius: var(--experience-public-navbar-toolbar-radius);
}

:where(.ExperienceUI-CornerInset) {
  border-radius: calc(var(--experience-radius) - 1px);
}

:where(.ExperienceUI-PageFrame) {
  position: relative;
  inline-size: min(100%, var(--experience-public-page-max));
  min-block-size: 100vh;
  min-block-size: 100dvh;
  margin-inline: auto;
  border: var(--experience-public-frame-border-width) solid var(--experience-public-frame-border-color);
  border-block-start: 0;
  border-radius: 0 0 var(--experience-public-frame-bottom-radius) var(--experience-public-frame-bottom-radius);
}

:where(.ExperienceUI-MemberShell) {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: var(--experience-member-sidebar-inline-size) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  inline-size: min(100%, var(--experience-member-shell-max));
  block-size: 100vh;
  block-size: 100dvh;
  min-block-size: 100vh;
  min-block-size: 100dvh;
  margin-inline: auto;
  overflow: hidden;
}

:where(.ExperienceUI-MemberShell[data-experience-member-width-mode="fluid"]) {
  inline-size: 100%;
}

:where(.ExperienceUI-MemberSidebar) {
  position: relative;
  z-index: 30;
  min-inline-size: 0;
  min-block-size: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

:where(.ExperienceUI-MemberMain) {
  display: grid;
  grid-template-rows: var(--experience-member-topbar-block-size) minmax(0, 1fr);
  min-inline-size: 0;
  min-block-size: 0;
  overflow: hidden;
}

:where(.ExperienceUI-MemberTopbar) {
  position: relative;
  z-index: 10;
  display: flex;
  min-inline-size: 0;
  min-block-size: var(--experience-member-topbar-block-size);
  align-items: center;
}

:where(.ExperienceUI-MemberContent) {
  min-inline-size: 0;
  min-block-size: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

:where(.ExperienceUI-MemberSidebarBackdrop) {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--experience-member-drawer-backdrop);
  cursor: pointer;
}

:where(.ExperienceUI-MemberSidebarBackdrop[hidden]) {
  display: none;
}

:where(.ExperienceUI-MemberShell [data-experience-member-sidebar-toggle]) {
  display: none;
}

:where(
  .ExperienceUI-MemberShell[data-experience-member-width-mode="contained"]
    [data-experience-member-width-when="fluid"],
  .ExperienceUI-MemberShell[data-experience-member-width-mode="fluid"]
    [data-experience-member-width-when="contained"]
) {
  display: none;
}

:where(.ExperienceUI-PublicNavbar) {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  transform: translate3d(0, 0, 0);
  transition: transform 180ms ease;
  will-change: transform;
}

:where(.ExperienceUI-Banner) {
  margin-block-start: var(--experience-public-navbar-banner-gap);
  border-radius: var(--experience-public-banner-radius);
}

:where(.ExperienceUI-PageFrame > .ExperienceUI-Banner) {
  inline-size: calc(100% - var(--experience-public-inline-gutter) - var(--experience-public-inline-gutter));
  margin-inline: var(--experience-public-inline-gutter);
}

html[data-experience-public-navbar-hidden="1"] :where(.ExperienceUI-PublicNavbar) {
  pointer-events: none;
  transform: translate3d(0, calc(-100% - 0.5rem), 0);
}

:where(.ExperienceUI-Container) {
  inline-size: min(100% - 2rem, 75rem);
  margin-inline: auto;
}

:where(.ExperienceUI-ActionGroup, .ExperienceUI-SectionHeader, .ExperienceUI-FilterBar) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

:where(.ExperienceUI-SectionHeader) {
  justify-content: space-between;
}

:where(.ExperienceUI-Action) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 0.375rem;
}

:where(.ExperienceUI-Action > .ExperienceUI-ActionIcon) {
  order: -1;
  flex: 0 0 auto;
  line-height: 1;
}

:where(.ExperienceUI-Action > .ExperienceUI-ActionLabel) {
  min-inline-size: 0;
}

:where(.ExperienceUI-Icon) {
  --experience-icon-font-weight: 900;
  --experience-icon-glyph: "";
  display: inline-flex;
  inline-size: 1.25em;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: currentColor;
  font-family: "WebFMQ Experience Icons";
  font-size: 1em;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  font-weight: var(--experience-icon-font-weight);
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(.ExperienceUI-Icon)::before {
  display: block;
  content: var(--experience-icon-glyph);
  line-height: 1;
}

:where(.ExperienceUI-IconAction) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

:where(.ExperienceUI-Action > .ExperienceUI-ActionIcon--trailing) {
  order: 1;
}

:where(.ExperienceUI-Icon[data-experience-icon="account"]) { --experience-icon-glyph: "\f007"; }
:where(.ExperienceUI-Icon[data-experience-icon="align-center"]) { --experience-icon-glyph: "\f037"; }
:where(.ExperienceUI-Icon[data-experience-icon="align-justify"]) { --experience-icon-glyph: "\f039"; }
:where(.ExperienceUI-Icon[data-experience-icon="align-left"]) { --experience-icon-glyph: "\f036"; }
:where(.ExperienceUI-Icon[data-experience-icon="align-right"]) { --experience-icon-glyph: "\f038"; }
:where(.ExperienceUI-Icon[data-experience-icon="articles"]) { --experience-icon-font-weight: 400; --experience-icon-glyph: "\f15c"; }
:where(.ExperienceUI-Icon[data-experience-icon="arrow-left"]) { --experience-icon-glyph: "\f060"; }
:where(.ExperienceUI-Icon[data-experience-icon="arrow-right"]) { --experience-icon-glyph: "\f061"; }
:where(.ExperienceUI-Icon[data-experience-icon="assessments"]) { --experience-icon-glyph: "\f0ae"; }
:where(.ExperienceUI-Icon[data-experience-icon="assignments"]) { --experience-icon-glyph: "\f46c"; }
:where(.ExperienceUI-Icon[data-experience-icon="cart"]) { --experience-icon-glyph: "\f07a"; }
:where(.ExperienceUI-Icon[data-experience-icon="check"]) { --experience-icon-glyph: "\f00c"; }
:where(.ExperienceUI-Icon[data-experience-icon="check-in"]) { --experience-icon-glyph: "\f029"; }
:where(.ExperienceUI-Icon[data-experience-icon="chevron-down"]) { --experience-icon-glyph: "\f078"; }
:where(.ExperienceUI-Icon[data-experience-icon="chevron-left"]) { --experience-icon-glyph: "\f053"; }
:where(.ExperienceUI-Icon[data-experience-icon="chevron-right"]) { --experience-icon-glyph: "\f054"; }
:where(.ExperienceUI-Icon[data-experience-icon="chevron-up"]) { --experience-icon-glyph: "\f077"; }
:where(.ExperienceUI-Icon[data-experience-icon="classroom"]) { --experience-icon-glyph: "\e163"; }
:where(.ExperienceUI-Icon[data-experience-icon="close"]) { --experience-icon-glyph: "\f00d"; }
:where(.ExperienceUI-Icon[data-experience-icon="copy"]) { --experience-icon-font-weight: 400; --experience-icon-glyph: "\f0c5"; }
:where(.ExperienceUI-Icon[data-experience-icon="courses"]) { --experience-icon-glyph: "\f518"; }
:where(.ExperienceUI-Icon[data-experience-icon="download"]) { --experience-icon-glyph: "\f019"; }
:where(.ExperienceUI-Icon[data-experience-icon="error"]) { --experience-icon-glyph: "\f06a"; }
:where(.ExperienceUI-Icon[data-experience-icon="events"]) { --experience-icon-glyph: "\f073"; }
:where(.ExperienceUI-Icon[data-experience-icon="file"]) { --experience-icon-glyph: "\f15b"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-archive"]) { --experience-icon-glyph: "\f1c6"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-audio"]) { --experience-icon-glyph: "\f1c7"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-image"]) { --experience-icon-glyph: "\f1c5"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-pdf"]) { --experience-icon-glyph: "\f1c1"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-presentation"]) { --experience-icon-glyph: "\f51c"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-text"]) { --experience-icon-glyph: "\f15c"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-video"]) { --experience-icon-glyph: "\f1c8"; }
:where(.ExperienceUI-Icon[data-experience-icon="file-word"]) { --experience-icon-glyph: "\f1c2"; }
:where(.ExperienceUI-Icon[data-experience-icon="filter"]) { --experience-icon-glyph: "\f0b0"; }
:where(.ExperienceUI-Icon[data-experience-icon="folder"]) { --experience-icon-glyph: "\f07b"; }
:where(.ExperienceUI-Icon[data-experience-icon="folder-open"]) { --experience-icon-glyph: "\f07c"; }
:where(.ExperienceUI-Icon[data-experience-icon="folder-tree"]) { --experience-icon-glyph: "\f802"; }
:where(.ExperienceUI-Icon[data-experience-icon="fullscreen"]) { --experience-icon-glyph: "\f065"; }
:where(.ExperienceUI-Icon[data-experience-icon="fullscreen-exit"]) { --experience-icon-glyph: "\f066"; }
:where(.ExperienceUI-Icon[data-experience-icon="heading"]) { --experience-icon-glyph: "\f1dc"; }
:where(.ExperienceUI-Icon[data-experience-icon="home"]) { --experience-icon-glyph: "\f015"; }
:where(.ExperienceUI-Icon[data-experience-icon="images"]) { --experience-icon-font-weight: 400; --experience-icon-glyph: "\f302"; }
:where(.ExperienceUI-Icon[data-experience-icon="info"]) { --experience-icon-glyph: "\f129"; }
:where(.ExperienceUI-Icon[data-experience-icon="library"]) { --experience-icon-glyph: "\f02d"; }
:where(.ExperienceUI-Icon[data-experience-icon="list"]) { --experience-icon-glyph: "\f03a"; }
:where(.ExperienceUI-Icon[data-experience-icon="list-bullets"]) { --experience-icon-glyph: "\f0ca"; }
:where(.ExperienceUI-Icon[data-experience-icon="list-ordered"]) { --experience-icon-glyph: "\f0cb"; }
:where(.ExperienceUI-Icon[data-experience-icon="link"]) { --experience-icon-glyph: "\f0c1"; }
:where(.ExperienceUI-Icon[data-experience-icon="loading"]) { --experience-icon-glyph: "\f110"; }
:where(.ExperienceUI-Icon[data-experience-icon="login"]) { --experience-icon-glyph: "\f2f6"; }
:where(.ExperienceUI-Icon[data-experience-icon="logout"]) { --experience-icon-glyph: "\f2f5"; }
:where(.ExperienceUI-Icon[data-experience-icon="member"]) { --experience-icon-glyph: "\f2bd"; }
:where(.ExperienceUI-Icon[data-experience-icon="menu"]) { --experience-icon-glyph: "\f0c9"; }
:where(.ExperienceUI-Icon[data-experience-icon="mute"]) { --experience-icon-glyph: "\f6a9"; }
:where(.ExperienceUI-Icon[data-experience-icon="pause"]) { --experience-icon-glyph: "\f04c"; }
:where(.ExperienceUI-Icon[data-experience-icon="paragraph"]) { --experience-icon-glyph: "\f1dd"; }
:where(.ExperienceUI-Icon[data-experience-icon="page-break"]) { --experience-icon-glyph: "\f0c4"; }
:where(.ExperienceUI-Icon[data-experience-icon="page-margins"]) { --experience-icon-glyph: "\f84c"; }
:where(.ExperienceUI-Icon[data-experience-icon="play"]) { --experience-icon-glyph: "\f04b"; }
:where(.ExperienceUI-Icon[data-experience-icon="products"]) { --experience-icon-glyph: "\f468"; }
:where(.ExperienceUI-Icon[data-experience-icon="quote"]) { --experience-icon-glyph: "\f10d"; }
:where(.ExperienceUI-Icon[data-experience-icon="remove-format"]) { --experience-icon-glyph: "\f12d"; }
:where(.ExperienceUI-Icon[data-experience-icon="search"]) { --experience-icon-glyph: "\f002"; }
:where(.ExperienceUI-Icon[data-experience-icon="services"]) { --experience-icon-glyph: "\f4be"; }
:where(.ExperienceUI-Icon[data-experience-icon="share"]) { --experience-icon-glyph: "\f1e0"; }
:where(.ExperienceUI-Icon[data-experience-icon="square-check"]) { --experience-icon-glyph: "\f14a"; }
:where(.ExperienceUI-Icon[data-experience-icon="store"]) { --experience-icon-glyph: "\f54e"; }
:where(.ExperienceUI-Icon[data-experience-icon="success"]) { --experience-icon-glyph: "\f058"; }
:where(.ExperienceUI-Icon[data-experience-icon="table"]) { --experience-icon-glyph: "\f0ce"; }
:where(.ExperienceUI-Icon[data-experience-icon="text-bold"]) { --experience-icon-glyph: "\f032"; }
:where(.ExperienceUI-Icon[data-experience-icon="text-color"]) { --experience-icon-glyph: "\f53f"; }
:where(.ExperienceUI-Icon[data-experience-icon="text-highlight"]) { --experience-icon-glyph: "\f591"; }
:where(.ExperienceUI-Icon[data-experience-icon="text-italic"]) { --experience-icon-glyph: "\f033"; }
:where(.ExperienceUI-Icon[data-experience-icon="text-underline"]) { --experience-icon-glyph: "\f0cd"; }
:where(.ExperienceUI-Icon[data-experience-icon="ticket"]) { --experience-icon-glyph: "\f145"; }
:where(.ExperienceUI-Icon[data-experience-icon="unlink"]) { --experience-icon-glyph: "\f127"; }
:where(.ExperienceUI-Icon[data-experience-icon="view"]) { --experience-icon-glyph: "\f06e"; }
:where(.ExperienceUI-Icon[data-experience-icon="volume"]) { --experience-icon-glyph: "\f028"; }
:where(.ExperienceUI-Icon[data-experience-icon="warning"]) { --experience-icon-glyph: "\f071"; }

:where(.ExperienceUI-CardGrid) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem;
}

:where(.ExperienceUI-TransactionGrid) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem);
  align-items: start;
  gap: 1.5rem;
}

:where(.ExperienceUI-TransactionPanel, .ExperienceUI-CartSummary, .ExperienceUI-OrderStatus) {
  min-inline-size: 0;
}

:where(.ExperienceUI-CheckoutForm) {
  display: grid;
  gap: 1rem;
}

:where(.ExperienceUI-PaymentSelection) {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  border: 0;
}

:where(.ExperienceUI-PaymentOption) {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

:where(.ExperienceUI-OrderStatus[aria-busy="true"]) {
  cursor: progress;
}

:where(.ExperienceUI-Feedback[hidden]) {
  display: none;
}

:where(.ExperienceUI-Surface :focus-visible) {
  outline: 0.1875rem solid currentColor;
  outline-offset: 0.1875rem;
}

@media (max-width: 48.75rem) {
  :root {
    --experience-public-inline-gutter: 0.3125rem;
  }

  :where(.ExperienceUI-MemberShell) {
    grid-template-columns: minmax(0, 1fr);
    inline-size: 100%;
  }

  :where(.ExperienceUI-MemberSidebar) {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    inline-size: min(var(--experience-member-sidebar-inline-size), calc(100% - 3rem));
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform 180ms ease, visibility 180ms step-end;
  }

  :where([dir="rtl"] .ExperienceUI-MemberSidebar) {
    transform: translateX(100%);
  }

  :where(
    .ExperienceUI-MemberShell[data-experience-member-sidebar-state="open"]
      .ExperienceUI-MemberSidebar
  ) {
    visibility: visible;
    transform: translateX(0);
    transition: transform 180ms ease, visibility 0s step-start;
  }

  :where(.ExperienceUI-MemberShell [data-experience-member-sidebar-toggle]) {
    display: inline-flex;
  }

  :where(.ExperienceUI-MemberShell [data-experience-member-width-toggle]) {
    display: none;
  }
}

@media (max-width: 40rem) {
  :root {
    --experience-public-navbar-banner-gap: 0.5rem;
  }

  :where(.ExperienceUI-Container) {
    inline-size: min(100% - 1rem, 75rem);
  }

  :where(.ExperienceUI-SectionHeader, .ExperienceUI-FilterBar) {
    align-items: stretch;
    flex-direction: column;
  }

  :where(.ExperienceUI-TransactionGrid) {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 22.5rem) {
  :where(.ExperienceUI-JoinedField) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows:
      minmax(var(--experience-control-height), auto)
      minmax(var(--experience-control-height), auto);
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.ExperienceUI-Surface *, .ExperienceUI-Surface *::before, .ExperienceUI-Surface *::after) {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
