:root {
  --niche-selector-panel: min(37rem, 42vw);
  --niche-selector-panel-motion: 480ms cubic-bezier(.22, 1, .36, 1);
  --niche-selector-control-surface: #f3f3f0;
}

.niche-selector-page {
  background: var(--color-background, #f6f4ef);
}

.niche-selector-shell {
  position: relative;
  display: block;
  height: var(
    --niche-selector-viewport-height,
    calc(100dvh - var(--header-height, 5rem) - var(--admin-bar-height, 0px))
  );
  min-height: 0;
  overflow: hidden;
  color: var(--color-foreground, #242621);
  background: var(--color-background, #f6f4ef);
}

.niche-selector-preview,
#niche-selector-app,
.niche-selector-viewer,
.niche-selector-canvas-frame {
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.niche-selector-preview {
  width: calc(100% - var(--niche-selector-panel));
  will-change: width;
  transition: width var(--niche-selector-panel-motion);
}

.niche-selector-shell.is-options-hidden .niche-selector-preview {
  width: 100%;
}

.niche-selector-shell.is-confirm-page {
  --niche-selector-panel: min(78rem, calc(100vw - 5rem));
}

.niche-selector-viewer {
  position: relative;
  background: #20221f;
}

.niche-selector-toolbar {
  position: absolute;
  right: 3rem;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: 0;
  color: var(--color-header-foreground, var(--color-background, #c1e1c1));
  transform: translateY(-50%);
  z-index: 6;
}

.niche-selector-tool-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-header-foreground, #c1e1c1) 22%, transparent);
  border-radius: .5rem;
  background: var(--color-header, var(--color-foreground, #434c33));
  box-shadow: 0 .2rem .65rem rgba(0, 0, 0, .24);
}

.niche-selector-tool {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.niche-selector-tool:first-child {
  border-radius: .45rem .45rem 0 0;
}

.niche-selector-tool:last-child {
  border-radius: 0 0 .45rem .45rem;
}

.niche-selector-tool:only-child {
  border-radius: .45rem;
}

.niche-selector-tool + .niche-selector-tool {
  border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}

.niche-selector-tool:hover,
.niche-selector-tool:focus-visible {
  background: color-mix(in srgb, var(--color-header, #434c33) 82%, var(--color-header-foreground, #c1e1c1));
  outline: 2px solid var(--color-header-foreground, #c1e1c1);
  outline-offset: -3px;
}

.niche-selector-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.niche-selector-icon-minus { mask-image: url("../icons/minus.svg"); }
.niche-selector-icon-plus { mask-image: url("../icons/plus.svg"); }
.niche-selector-icon-fit { mask-image: url("../icons/fit.svg"); }
.niche-selector-icon-fullscreen { mask-image: url("../icons/fullscreen.svg"); }
.niche-selector-icon-fullscreen-exit { mask-image: url("../icons/fullscreen-exit.svg"); }
.niche-selector-icon-download { mask-image: url("../icons/download.svg"); }
.niche-selector-icon-chevron-left { mask-image: url("../icons/chevron-left.svg"); }
.niche-selector-icon-chevron-right { mask-image: url("../icons/chevron-right.svg"); }

.niche-selector-canvas-frame {
  position: relative;
  overflow: hidden;
  background: #e8e7e2;
  touch-action: none;
}

.niche-selector-canvas-frame:fullscreen {
  width: 100vw;
  height: 100vh;
}

.niche-selector-options-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 8;
  width: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .75rem .45rem;
  border: 0;
  border-radius: 0;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-background, #c1e1c1));
  font: inherit;
  cursor: pointer;
}

.niche-selector-options-toggle:hover,
.niche-selector-options-toggle:focus-visible {
  background: color-mix(in srgb, var(--color-header, #434c33) 82%, var(--color-header-foreground, #c1e1c1));
  outline: 2px solid var(--color-header-foreground, #c1e1c1);
  outline-offset: -3px;
}

.niche-selector-options-toggle-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.niche-selector-canvas-frame:fullscreen .niche-selector-options-toggle {
  display: none;
}

.niche-selector-canvas-frame canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
}

.niche-selector-canvas-frame canvas:active {
  cursor: grabbing;
}

.niche-selector-split {
  position: absolute;
  inset-block: 0;
  width: 2px;
  padding: 0;
  border: 0;
  background: var(--color-header, var(--color-foreground, #434c33));
  cursor: col-resize;
  z-index: 3;
  transform: translateX(-1px);
}

.niche-selector-split::before {
  content: '';
  position: absolute;
  inset: 0 -1.15rem;
}

.niche-selector-split svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% + var(--niche-selector-handle-shift, 0rem)), -50%);
  filter: drop-shadow(0 .35rem .7rem rgba(0, 0, 0, .28));
}

.niche-selector-split-disc {
  fill: var(--color-header, var(--color-foreground, #434c33));
}

.niche-selector-split-arrow {
  fill: var(--color-header-foreground, var(--color-background, #c1e1c1));
  pointer-events: none;
  transition: transform 120ms ease, fill 120ms ease;
  transform-box: fill-box;
  transform-origin: center;
}

.niche-selector-split-hit {
  fill: transparent;
  pointer-events: all;
  stroke: transparent;
  stroke-linejoin: round;
  stroke-width: 2px;
  transition: fill 120ms ease, stroke 120ms ease;
}

.niche-selector-split-hit:hover,
.niche-selector-split:focus-visible .niche-selector-split-hit,
.niche-selector-split.is-left-focused .niche-selector-split-hit-left,
.niche-selector-split.is-right-focused .niche-selector-split-hit-right {
  fill: color-mix(in srgb, var(--color-header, #434c33) 82%, var(--color-header-foreground, #c1e1c1));
  stroke: var(--color-header-foreground, #c1e1c1);
}

.niche-selector-split-hit-left:hover ~ .niche-selector-split-arrow-left,
.niche-selector-split-hit-right:hover ~ .niche-selector-split-arrow-right,
.niche-selector-split.is-left-focused .niche-selector-split-arrow-left,
.niche-selector-split.is-right-focused .niche-selector-split-arrow-right {
  fill: var(--color-header-foreground, var(--color-background, #c1e1c1));
  transform: scale(1.08);
}

.niche-selector-split:focus-visible {
  outline: 0;
}

.niche-selector-scene-label {
  position: absolute;
  top: 1rem;
  z-index: 2;
  padding: .32rem .45rem .32rem .65rem;
  border-radius: 999px;
  min-height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-background, #c1e1c1));
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 .15rem .55rem rgba(0, 0, 0, .22);
}

.niche-selector-scene-label-left { left: 1rem; }
.niche-selector-scene-label-right { right: 3rem; }

span.niche-selector-scene-label-text {
  padding-left: 4px;
  text-box-trim: trim-both !important;
}

.niche-selector-scene-map {
  position: relative;
  display: block;
  width: 3.15rem;
  height: 1.15rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, currentColor 58%, transparent);
  border-radius: .25rem;
  background: color-mix(in srgb, currentColor 13%, transparent);
}

.niche-selector-scene-viewport {
  position: absolute;
  min-width: 2px;
  min-height: 2px;
  border: 1px solid currentColor;
  border-radius: .12rem;
  background: color-mix(in srgb, currentColor 52%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-header, #434c33) 35%, transparent);
  transition:
    left 100ms linear,
    top 100ms linear,
    width 100ms linear,
    height 100ms linear;
}

.niche-selector-loading {
  pointer-events: none;
}

.niche-selector-loading-disc {
  fill: var(--color-header, var(--color-foreground, #434c33));
}

.niche-selector-spinner-track,
.niche-selector-spinner {
  fill: none;
  stroke-width: 3;
}

.niche-selector-spinner-track {
  stroke: color-mix(in srgb, var(--color-header-foreground, #c1e1c1) 30%, transparent);
}

.niche-selector-spinner {
  stroke: var(--color-header-foreground, var(--color-background, #c1e1c1));
  stroke-dasharray: 18 52;
  stroke-linecap: round;
  transform-box: view-box;
  transform-origin: 36.721px 28px;
  animation: niche-selector-spin .75s linear infinite;
}

@keyframes niche-selector-spin {
  to { transform: rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
  .niche-selector-spinner {
    animation-duration: 1.8s;
  }

  .niche-selector-scene-viewport {
    transition: none;
  }
}

.niche-selector-disclaimer {
  position: absolute;
  left: 1rem;
  bottom: .7rem;
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-shadow: 0 1px 3px #000, 0 0 6px rgba(0, 0, 0, .72);
  z-index: 2;
}

.niche-selector-form {
  position: absolute;
  inset: 0 0 0 auto;
  width: var(--niche-selector-panel);
  max-width: 100vw;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  padding: clamp(1rem, 2.5vw, 2.5rem);
  background: var(--color-background, #fff);
  scrollbar-gutter: stable;
  scrollbar-color:
    var(--color-header, var(--color-foreground, #434c33))
    color-mix(in srgb, var(--color-foreground, #434c33) 8%, var(--color-background, #fff));
  scrollbar-width: thin;
  transform: translateX(0);
  will-change: transform;
  visibility: visible;
  transition:
    width var(--niche-selector-panel-motion),
    transform var(--niche-selector-panel-motion),
    visibility 0s linear 0s;
}

.niche-selector-form::-webkit-scrollbar {
  width: .7rem;
}

.niche-selector-form::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--color-foreground, #434c33) 8%, var(--color-background, #fff));
}

.niche-selector-form::-webkit-scrollbar-thumb {
  border: .18rem solid color-mix(in srgb, var(--color-foreground, #434c33) 8%, var(--color-background, #fff));
  border-radius: 999px;
  background: var(--color-header, var(--color-foreground, #434c33));
}

.niche-selector-form::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--color-header, #434c33) 82%, var(--color-header-foreground, #c1e1c1));
}

.niche-selector-shell.is-options-hidden .niche-selector-form {
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition:
    transform var(--niche-selector-panel-motion),
    visibility 0s linear 480ms;
}

.niche-selector-form .gform_wrapper {
  max-width: 100%;
  opacity: 1;
  /* Let the panel surface arrive before revealing its dense form content. */
  transition: opacity 180ms ease 260ms;
}

.niche-selector-shell.is-options-hidden .niche-selector-form .gform_wrapper {
  opacity: 0;
  transition: opacity 100ms ease 0s;
}

.niche-selector-form .gform_page_fields > .gform_fields {
  column-gap: 1.35rem;
  row-gap: var(--niche-selector-field-gap, 1.65rem);
}

.niche-selector-form .gfield_radio,
.niche-selector-form .gfield_checkbox {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.niche-selector-form .niche-selector-image-choice-field {
  margin-bottom: 2rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 22%, transparent);
}

.niche-selector-form .niche-selector-image-choice-field .gfield_radio,
.niche-selector-form .niche-selector-image-choice-field .gfield_checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.niche-selector-form .niche-selector-image-choice-field .niche-selector-choice-item {
  position: relative;
  display: block;
  flex: 0 0 4.375rem;
  width: 4.375rem;
  height: 4.375rem;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.niche-selector-form .niche-selector-choice-item > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.niche-selector-choice-card {
  display: block !important;
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 !important;
  padding: .4375rem !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
  box-shadow: none !important;
}

.niche-selector-choice-item > input:focus-visible + .niche-selector-choice-card .niche-selector-choice-media {
  outline: 3px solid color-mix(in srgb, var(--color-primary, #c1e1c1) 75%, transparent);
  outline-offset: 3px;
}

.niche-selector-choice-media {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  overflow: hidden;
  border: 0 solid var(--color-background, #fff);
  border-radius: 50%;
  background: var(--color-background, #fff);
  box-shadow: 0 .125rem .25rem .0625rem color-mix(in srgb, var(--color-foreground, #434c33) 16%, transparent);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.niche-selector-choice-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.niche-selector-choice-card:hover .niche-selector-choice-media {
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--color-foreground, #434c33) 38%, transparent),
    0 .125rem .25rem .0625rem color-mix(in srgb, var(--color-foreground, #434c33) 16%, transparent);
}

.niche-selector-choice-item > input:checked + .niche-selector-choice-card .niche-selector-choice-media {
  border-width: 2px;
  box-shadow: 0 0 0 2px var(--color-foreground, #434c33);
}

.niche-selector-choice-text,
.niche-selector-choice-price {
  display: none;
}

.niche-selector-choice-lightbox,
.niche-selector-layer-preview {
  position: absolute;
  top: 50%;
  right: .4rem;
  z-index: 4;
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  text-decoration: none;
  cursor: pointer;
  transform: translateY(-50%);
}

.niche-selector-choice-lightbox:hover,
.niche-selector-choice-lightbox:focus-visible,
.niche-selector-layer-preview:hover,
.niche-selector-layer-preview:focus-visible {
  outline: 2px solid var(--color-header-foreground, var(--color-primary, #c1e1c1));
  outline-offset: -3px;
  background: color-mix(in srgb, var(--color-header, #434c33) 82%, var(--color-header-foreground, #c1e1c1));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
}

.niche-selector-choice-lightbox > span {
  width: .9rem;
  height: .9rem;
  background: currentColor;
  mask: url('../icons/magnifying-glass-plus.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/magnifying-glass-plus.svg') center / contain no-repeat;
}

.niche-selector-layer-preview-item {
  position: relative;
}

.niche-selector-layer-preview-item:not(.niche-selector-choice-item) > label {
  padding-right: 3.25rem !important;
}

.niche-selector-layer-preview {
  appearance: none;
}

.niche-selector-layer-preview > span {
  width: .9rem;
  height: .9rem;
  background: currentColor;
  mask: url('../icons/eye.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/eye.svg') center / contain no-repeat;
}

.niche-selector-choice-item .niche-selector-choice-lightbox,
.niche-selector-choice-item .niche-selector-layer-preview {
  top: .05rem;
  right: .05rem;
  width: 1.65rem;
  height: 1.65rem;
  transform: none;
}

.niche-selector-choice-dialog {
  width: min(68rem, calc(100vw - 3rem));
  max-width: none;
  height: min(52rem, calc(100vh - 3rem));
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 18%, transparent);
  border-radius: .75rem;
  background: var(--color-background, #fff);
  color: var(--color-foreground, #434c33);
  box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .35);
}

.niche-selector-choice-dialog::backdrop {
  background: color-mix(in oklab, var(--color-foreground, #434c33) 80%, transparent);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.niche-selector-choice-dialog figure {
  display: grid;
  width: 100%;
  height: 100%;
  margin: 0;
  grid-template-rows: minmax(0, 1fr) auto;
}

.niche-selector-choice-dialog-viewport {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  place-items: center;
  background: color-mix(in srgb, var(--color-foreground, #434c33) 4%, var(--color-background, #fff));
  cursor: grab;
  outline: none;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.niche-selector-choice-dialog-viewport:focus-visible {
  box-shadow: inset 0 0 0 2px var(--color-primary, #c1e1c1);
}

.niche-selector-choice-dialog-viewport.is-dragging {
  cursor: grabbing;
}

.niche-selector-choice-dialog-viewport img {
  display: block;
  width: auto;
  max-width: none !important;
  height: auto;
  max-height: none !important;
  pointer-events: none;
  object-fit: contain;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center;
  will-change: transform;
  -webkit-user-drag: none;
}

.niche-selector-choice-dialog-viewport.is-animating img {
  transition: transform 140ms cubic-bezier(.2, .7, .3, 1);
}

.niche-selector-choice-dialog-footer {
  position: relative;
  display: grid;
  min-height: 4rem;
  padding: .7rem 1rem;
  align-items: center;
  border-top: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 18%, transparent);
  background: var(--color-background, #fff);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem;
}

.niche-selector-choice-dialog figcaption {
  grid-column: 2;
  max-width: 34rem;
  font-size: .9rem;
  font-weight: 600;
  text-align: center;
}

.niche-selector-choice-dialog-controls {
  display: flex;
  grid-column: 3;
  justify-self: end;
  gap: .45rem;
}

.niche-selector-choice-dialog-controls button {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 30%, transparent);
  border-radius: .35rem;
  background: var(--color-background, #fff);
  color: var(--color-foreground, #434c33);
  cursor: pointer;
  box-shadow: none;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.niche-selector-choice-dialog-controls button:hover {
  border-color: var(--color-foreground, #434c33);
  background: color-mix(in srgb, var(--color-foreground, #434c33) 7%, var(--color-background, #fff));
}

.niche-selector-choice-dialog-controls button:focus-visible {
  outline: 2px solid var(--color-primary, #c1e1c1);
  outline-offset: 2px;
}

.niche-selector-choice-dialog-controls button:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.niche-selector-choice-dialog-icon {
  width: .95rem;
  height: .95rem;
  background: currentColor;
}

.niche-selector-choice-dialog-icon--minus {
  mask: url('../icons/minus.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/minus.svg') center / contain no-repeat;
}

.niche-selector-choice-dialog-icon--fit {
  mask: url('../icons/fit.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/fit.svg') center / contain no-repeat;
}

.niche-selector-choice-dialog-icon--plus {
  mask: url('../icons/plus.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/plus.svg') center / contain no-repeat;
}

.niche-selector-choice-dialog-icon--rotate-left {
  mask: url('../icons/rotate-left.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/rotate-left.svg') center / contain no-repeat;
}

.niche-selector-choice-dialog-icon--rotate-right {
  mask: url('../icons/rotate-right.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/rotate-right.svg') center / contain no-repeat;
}

.niche-selector-choice-dialog-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.niche-selector-choice-dialog-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-foreground, #434c33);
  cursor: pointer;
  box-shadow: none;
  z-index: 3;
}

.niche-selector-choice-dialog-close:hover,
.niche-selector-choice-dialog-close:focus-visible {
  opacity: .65;
}

.niche-selector-choice-dialog-close:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.niche-selector-choice-dialog-close > span {
  width: 1rem;
  height: 1rem;
  background: currentColor;
  mask: url('../icons/close.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/close.svg') center / contain no-repeat;
}

.niche-selector-choice-summary {
  margin-top: .15rem;
  color: var(--color-foreground, #434c33);
}

.niche-selector-choice-summary-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}

.niche-selector-choice-summary-price {
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--color-foreground, #434c33) 45%, transparent);
}

.niche-selector-choice-summary-description {
  margin: .45rem 0 0;
  font-size: .75rem;
  line-height: 1.55;
}

.niche-selector-legacy-description {
  display: none !important;
}

.niche-selector-form .options-page .niche-selector-flat-choice-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
}

.niche-selector-form .options-page .niche-selector-flat-choice {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.niche-selector-form .options-page .niche-selector-flat-choice > input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.niche-selector-form .options-page .niche-selector-flat-choice-label {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 3.5rem;
  margin: 0 !important;
  padding: .7rem 1rem .7rem 3.25rem !important;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 26%, transparent) !important;
  border-radius: 999px !important;
  background: var(--niche-selector-control-surface, #f3f3f0) !important;
  color: var(--color-foreground, #434c33) !important;
  font-family: var(--font-primary, sans-serif) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.niche-selector-form .options-page .niche-selector-flat-choice-label::before {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-foreground, #434c33);
  border-radius: 50%;
  background: transparent;
  content: '';
  transform: translateY(-50%);
  transition: border-color .16s ease, background-color .16s ease;
}

.niche-selector-form .options-page .niche-selector-flat-choice-label::after {
  position: absolute;
  top: 50%;
  left: 1.375rem;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  content: '';
  opacity: 0;
  transform: translateY(-50%) scale(.6);
  transition: opacity .16s ease, transform .16s ease;
}

.niche-selector-form .options-page .niche-selector-flat-choice-label .ginput_price {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  padding-left: 1rem;
  color: var(--color-muted-foreground, #858b7a);
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.2;
}

.niche-selector-form .options-page .niche-selector-flat-choice-label .ginput_price:empty {
  display: none;
}

.niche-selector-form .options-page .niche-selector-flat-choice > input:hover + .niche-selector-flat-choice-label,
.niche-selector-form .options-page .niche-selector-flat-choice-label:hover {
  border-color: color-mix(in srgb, var(--color-foreground, #434c33) 55%, transparent) !important;
  background: color-mix(in srgb, var(--color-primary, #c1e1c1) 12%, var(--color-background, #fff)) !important;
}

.niche-selector-form .options-page .niche-selector-flat-choice > input:focus-visible + .niche-selector-flat-choice-label {
  border-color: var(--color-header, var(--color-foreground, #434c33)) !important;
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #c1e1c1) 72%, transparent) !important;
}

.niche-selector-form .options-page .niche-selector-flat-choice > input:checked + .niche-selector-flat-choice-label {
  border-color: var(--color-header, var(--color-foreground, #434c33)) !important;
  background: color-mix(in srgb, var(--color-primary, #c1e1c1) 28%, var(--color-background, #fff)) !important;
}

.niche-selector-form .options-page .niche-selector-flat-choice > input:checked + .niche-selector-flat-choice-label::before {
  background: var(--color-header, var(--color-foreground, #434c33));
}

.niche-selector-form .options-page .niche-selector-flat-choice > input:checked + .niche-selector-flat-choice-label::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.niche-selector-form .options-page .niche-selector-flat-choice > input[type="checkbox"]:checked + .niche-selector-flat-choice-label::after {
  width: .55rem;
  height: .35rem;
  border: 0 solid var(--color-header-foreground, var(--color-primary, #c1e1c1));
  border-width: 0 0 2px 2px;
  border-radius: 0;
  background: transparent;
  transform: translate(-.02rem, -.18rem) rotate(-45deg);
}

.niche-selector-form .gform_wrapper:has(.niche-selector-save-card) {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0 !important;
}

.niche-selector-save-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 1rem;
  padding: clamp(1.25rem, 2vw, 2rem);
  color: var(--color-foreground, #434c33);
}

.niche-selector-form .niche-selector-save-header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.15rem 1.2rem;
  border-radius: .75rem;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
}

.niche-selector-save-status {
  position: relative;
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  margin: 0;
  border-radius: 50%;
  background: var(--color-header-foreground, var(--color-primary, #c1e1c1));
}

.niche-selector-save-status::after {
  position: absolute;
  top: .27rem;
  left: .25rem;
  width: .46rem;
  height: .27rem;
  border: 0 solid var(--color-header, var(--color-foreground, #434c33));
  border-width: 0 0 2px 2px;
  content: '';
  transform: rotate(-45deg);
}

.niche-selector-save-progress {
  display: flex;
  margin: 0 0 .55rem;
  align-items: center;
  gap: .45rem;
}

.niche-selector-save-eyebrow {
  margin: 0;
  color: color-mix(in srgb, var(--color-header-foreground, #c1e1c1) 72%, transparent);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.niche-selector-form .gform_wrapper .niche-selector-save-header h2 {
  margin: 0;
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  font-family: var(--font-secondary, serif);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  font-weight: 500;
  line-height: 1.15;
}

.niche-selector-save-header > p:last-child {
  margin: .65rem 0 0;
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  font-size: .82rem;
  line-height: 1.45;
}

.niche-selector-save-methods {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11.5rem, .38fr);
  gap: 1rem;
  align-items: stretch;
}

.niche-selector-save-link-card,
.niche-selector-save-qr,
.niche-selector-save-email {
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 20%, transparent);
  border-radius: .75rem;
  background: var(--niche-selector-control-surface, #f3f3f0);
}

.niche-selector-save-link-card,
.niche-selector-save-email {
  padding: 1.15rem;
}

.niche-selector-form .gform_wrapper .niche-selector-save-card h3 {
  margin: 0 0 .65rem;
  color: var(--color-foreground, #434c33);
  font-family: var(--font-primary, sans-serif);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.3;
}

.niche-selector-save-link-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
}

.niche-selector-save-link-control input,
.niche-selector-save-email input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  height: 3rem;
  min-height: 3rem;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 34%, transparent);
  border-radius: .5rem;
  background: var(--color-background, #fff);
  color: var(--color-foreground, #434c33);
  font: inherit;
  font-size: .82rem;
  box-shadow: none;
}

.niche-selector-save-link-control input {
  border-radius: .5rem;
  padding: .65rem .75rem;
  text-overflow: ellipsis;
}

.niche-selector-copy-resume {
  display: grid;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--color-header, var(--color-foreground, #434c33));
  border-radius: .5rem;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  font-size: .78rem;
  font-weight: 700;
}

.niche-selector-copy-resume-icon {
  width: 1rem;
  height: 1rem;
  background: currentColor;
  mask: url('../icons/copy.svg') center / contain no-repeat;
  -webkit-mask: url('../icons/copy.svg') center / contain no-repeat;
}

.niche-selector-copy-resume.is-copied .niche-selector-copy-resume-icon {
  mask-image: url('../icons/check.svg');
  -webkit-mask-image: url('../icons/check.svg');
}

.niche-selector-copy-resume:hover,
.niche-selector-copy-resume:focus-visible,
.niche-selector-copy-resume.is-copied {
  outline: 0;
  background: color-mix(in srgb, var(--color-header, #434c33) 86%, var(--color-primary, #c1e1c1));
}

.niche-selector-resume-now {
  display: flex;
  width: 100%;
  min-height: 3rem;
  box-sizing: border-box;
  margin-top: .85rem;
  align-items: center;
  justify-content: center;
  border-radius: .5rem;
  background: var(--color-header, var(--color-foreground, #434c33));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}

.niche-selector-resume-now:hover,
.niche-selector-resume-now:focus,
.niche-selector-resume-now:focus-visible {
  background: color-mix(in srgb, var(--color-header, #434c33) 86%, var(--color-primary, #c1e1c1));
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1));
  text-decoration: none;
}

.niche-selector-resume-now:hover {
  outline: 0;
  box-shadow: none;
}

.niche-selector-resume-now:focus {
  outline: 0;
  box-shadow: none;
}

.niche-selector-resume-now:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 2px var(--color-primary, #c1e1c1);
}

.niche-selector-save-expiry {
  margin: .5rem 0 0;
  color: var(--color-muted-foreground, #858b7a);
  font-size: .75rem;
}

.niche-selector-save-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: .8rem;
  text-align: center;
}

.niche-selector-save-qr h3 {
  font-size: .76rem;
  white-space: nowrap;
}

.niche-selector-resume-qr {
  display: block;
  width: 100%;
  max-width: 7rem;
  height: auto;
  color: #172012;
  background: #fff;
}

.niche-selector-save-qr p {
  margin: .6rem 0 0;
  color: var(--color-muted-foreground, #858b7a);
  font-size: .7rem;
  line-height: 1.35;
}

.niche-selector-save-email > p {
  margin: -.2rem 0 .9rem;
  font-size: .8rem;
  line-height: 1.45;
}

.niche-selector-save-email .form_saved_message_emailform,
.niche-selector-save-email form,
.niche-selector-save-email .gform-body,
.niche-selector-save-email .gform_footer {
  margin: 0;
  padding: 0;
}

.niche-selector-save-email form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
  align-items: end;
}

.niche-selector-form .gform-theme .niche-selector-save-email .gform-body,
.niche-selector-form .gform-theme .niche-selector-save-email .gform_footer {
  margin: 0;
  padding: 0;
}

.niche-selector-form .gform-theme .niche-selector-save-email .gform_footer {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  align-self: end;
  gap: 0;
  border: 0;
}

.niche-selector-save-email .gform-body {
  min-width: 0;
}

.niche-selector-save-email .gform_fields {
  display: block;
}

.niche-selector-form .niche-selector-save-email .gfield {
  width: 100%;
  grid-column: 1 / -1;
}

.niche-selector-form .niche-selector-save-email .ginput_container {
  width: 100%;
}

.niche-selector-form .niche-selector-save-email .gfield_label {
  display: block;
  margin: 0 0 .35rem;
  font-family: var(--font-primary, sans-serif);
  font-size: .78rem;
  font-weight: 600;
}

.niche-selector-save-email input[type="email"] {
  padding: .65rem .8rem;
}

.niche-selector-save-email input[type="email"]:focus {
  border-color: var(--color-header, var(--color-foreground, #434c33));
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #c1e1c1) 72%, transparent);
}

.niche-selector-form .niche-selector-save-email :is(.gform_button, input[type="submit"], button[type="submit"]) {
  box-sizing: border-box;
  width: auto;
  height: 3rem !important;
  min-height: 3rem !important;
  max-height: 3rem !important;
  margin: 0;
  padding: .65rem 1rem;
  border: 1px solid var(--color-header, var(--color-foreground, #434c33));
  border-radius: .5rem !important;
  background: var(--color-header, var(--color-foreground, #434c33)) !important;
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1)) !important;
  font-family: var(--font-primary, sans-serif) !important;
  font-size: .78rem !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

.niche-selector-form .niche-selector-save-email :is(.gform_button, input[type="submit"], button[type="submit"]):hover {
  border-color: var(--color-header, var(--color-foreground, #434c33)) !important;
  background: color-mix(in srgb, var(--color-header, #434c33) 86%, var(--color-primary, #c1e1c1)) !important;
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1)) !important;
}

.niche-selector-form .niche-selector-save-email :is(.gform_button, input[type="submit"], button[type="submit"]):focus-visible {
  border-color: var(--color-header, var(--color-foreground, #434c33)) !important;
  outline: 0 !important;
  background: color-mix(in srgb, var(--color-header, #434c33) 86%, var(--color-primary, #c1e1c1)) !important;
  color: var(--color-header-foreground, var(--color-primary, #c1e1c1)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #c1e1c1) 72%, transparent) !important;
}

.niche-selector-save-email .gfield_validation_message {
  margin-top: .35rem;
  color: var(--color-destructive, #ef4444);
  font-size: .75rem;
}

.niche-selector-save-security {
  margin: -.4rem 0 0;
  color: var(--color-muted-foreground, #858b7a);
  font-size: .72rem;
  line-height: 1.45;
  text-align: center;
}

.niche-selector-save-email-sent {
  margin: clamp(1.5rem, 3vw, 2.5rem) !important;
  padding: 1.5rem !important;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #434c33) 20%, transparent);
  border-radius: .75rem;
  background: var(--niche-selector-control-surface, #f3f3f0);
  color: var(--color-foreground, #434c33);
}

.niche-selector-save-email-sent .saved_message_success {
  margin: 0 0 .5rem;
  font-family: var(--font-secondary, serif);
  font-size: 1.8rem;
  font-weight: 500;
}

@media (max-width: 40rem) {
  .niche-selector-choice-dialog {
    width: calc(100vw - 1.5rem);
    height: calc(100vh - 1.5rem);
  }

  .niche-selector-choice-dialog-footer {
    min-height: 3.75rem;
    padding: .6rem .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .niche-selector-choice-dialog figcaption {
    grid-column: 1;
    text-align: left;
  }

  .niche-selector-choice-dialog-controls {
    grid-column: 2;
  }

  .niche-selector-save-methods,
  .niche-selector-save-email form {
    grid-template-columns: minmax(0, 1fr);
  }

  .niche-selector-save-qr {
    padding: 1.1rem;
  }

  .niche-selector-resume-qr {
    max-width: 10rem;
  }
}

.niche-selector-form .pre-selector .gfield_radio {
  grid-template-columns: repeat(2, minmax(8rem, 1fr));
}

.niche-selector-form .pre-selector .gchoice {
  position: relative;
  display: block !important;
}

.niche-selector-form .pre-selector .gchoice > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.niche-selector-form .pre-selector input + label {
  display: grid;
  width: 100%;
  min-height: 4rem;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--color-foreground, #242621) 30%, transparent);
  border-radius: .45rem;
  cursor: pointer;
}

.niche-selector-form .pre-selector input:checked + label {
  background: var(--color-primary, #273b32);
  color: var(--color-primary-foreground, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #273b32) 22%, transparent);
}

.niche-selector-form .gform_page_footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid color-mix(in srgb, var(--color-foreground, #242621) 18%, transparent);
}

.niche-selector-form .gform_page_footer .button,
.niche-selector-form .gform_footer .button {
  min-height: 2.75rem;
  padding: .65rem 1.2rem;
  border: 1px solid var(--color-primary, #273b32);
  border-radius: .35rem;
  background: var(--color-primary, #273b32);
  color: var(--color-primary-foreground, #fff);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.niche-selector-form .gform_page_footer .gform_previous_button {
  background: transparent;
  color: var(--color-primary, #273b32);
}

.niche-selector-form .gf_page_steps {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid color-mix(in srgb, var(--color-foreground, #242621) 25%, transparent);
}

.niche-selector-form .gf_step {
  display: flex;
  align-items: center;
  gap: .25rem;
  opacity: .55;
}

.niche-selector-form .gf_step_active,
.niche-selector-form .gf_step_completed {
  opacity: 1;
}

.niche-selector-form .gf_step_number {
  font-weight: 700;
}

.niche-selector-notice {
  margin: 2rem;
}

@media (max-width: 64rem) {
  :root { --niche-selector-panel: min(31rem, 46vw); }
  .niche-selector-form { padding: 1rem; }
}

@media (max-width: 52rem), (orientation: portrait) {
  .niche-selector-shell,
  .niche-selector-shell.is-options-hidden {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(22rem, 47dvh) auto;
    height: auto;
    min-height: calc(100dvh - 4rem);
    overflow: visible;
  }

  .niche-selector-preview {
    position: sticky;
    top: 0;
    width: 100%;
    height: 47dvh;
    z-index: 8;
    transition: none;
  }

  .niche-selector-options-toggle {
    display: none;
  }

  .niche-selector-form,
  .niche-selector-shell.is-options-hidden .niche-selector-form {
    position: static;
    inset: auto;
    width: 100%;
    overflow: visible;
    transform: none;
    visibility: visible;
    pointer-events: auto;
  }

  .niche-selector-shell.is-confirm-page {
    --niche-selector-panel: 100%;
  }
}

@media (max-width: 34rem) {
  .niche-selector-form .gfield_radio,
  .niche-selector-form .gfield_checkbox {
    grid-template-columns: 1fr;
  }

}

@media (prefers-reduced-motion: reduce) {
  .niche-selector-preview,
  .niche-selector-form,
  .niche-selector-form .gform_wrapper {
    transition-duration: 1ms;
    transition-delay: 0s;
  }
}
