/* Protection contre les valeurs génériques du thème ; règles locales uniquement.
   Les styles validés, ajoutés ensuite avec leur spécificité renforcée, prévalent. */
#frizbooth-configurator.fb-configurator { text-align: left; text-transform: none; letter-spacing: normal; }
#frizbooth-configurator :where(p, li, dl, dt, dd, label, legend, output) {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  text-transform: none;
  letter-spacing: normal;
}
#frizbooth-configurator :where(button, input, select, textarea) {
  margin: 0;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
}
#frizbooth-configurator #fb-receive-success:focus { outline: 0; }
#frizbooth-configurator :where(button, button:hover, button:focus) {
  height: auto;
  border-radius: 0;
  background-image: none;
  text-decoration: none;
  text-shadow: none;
}
#frizbooth-configurator :where(legend) { float: none; padding: 0; }
#frizbooth-configurator :where(h1, h2, h3) { text-transform: none; }
#frizbooth-configurator :where(form) { margin: 0; padding: 0; }

/* Ces deux champs restent natifs, même si Selectmenu les masque inline. */
#frizbooth-configurator #fb-activity,
#frizbooth-configurator #fb-timeline {
  -webkit-appearance: auto;
  appearance: auto;
  display: block !important;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  position: static;
  z-index: auto;
  float: none;
  height: auto;
  width: 100%;
  max-width: 100%;
  background-image: none;
}

#frizbooth-configurator #fb-activity-button,
#frizbooth-configurator #fb-timeline-button {
  display: none !important;
}

@media (max-width: 599px) {
  /* Deux marges de 24 px se cumulaient entre Mode et Durée. */
  #frizbooth-configurator #fb-project-loa > .fb-project-facts { margin-top: 0; }
}

/* Confirmation WordPress : le formulaire et ses états restent inchangés. */
#frizbooth-configurator #fb-receive-success {
  display: grid;
  gap: 24px;
  margin-top: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#frizbooth-configurator #fb-receive-success .fb-receive-success-main { display: flex; align-items: center; gap: 24px; min-width: 0; }
#frizbooth-configurator #fb-receive-success .fb-receive-success-halo { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; border-radius: 50%; background: var(--fb-light); }
#frizbooth-configurator #fb-receive-success .fb-receive-success-circle { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--fb-primary); }
#frizbooth-configurator #fb-receive-success img { display: block; flex: 0 0 32px; width: 32px; height: 32px; max-width: none; border: 0; border-radius: 0; object-fit: contain; }
#frizbooth-configurator #fb-receive-success .fb-receive-success-copy { display: grid; gap: 8px; min-width: 0; }
#frizbooth-configurator #fb-receive-success h3 { font-size: 27px; font-weight: 800; line-height: 1.3; color: var(--fb-dark); }
#frizbooth-configurator #fb-receive-success .fb-receive-success-subtitle { font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--fb-dark); }
#frizbooth-configurator #fb-receive-success .fb-card-description { margin: 0; font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--fb-muted); }
#frizbooth-configurator #fb-receive-success .fb-receive-success-tip { display: flex; align-items: center; gap: 20px; width: 100%; padding: 20px; border: 0; border-radius: 12px; background: var(--fb-light); box-shadow: none; }
#frizbooth-configurator #fb-receive-success .fb-receive-success-divider { align-self: stretch; flex: 0 0 1px; width: 1px; background: rgb(133 99 210 / 30%); }
#frizbooth-configurator #fb-receive-success .fb-receive-success-tip-copy { display: grid; gap: 5px; min-width: 0; }
#frizbooth-configurator #fb-receive-success .fb-receive-success-tip-title { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--fb-dark); }
#frizbooth-configurator #fb-receive-success .fb-receive-success-tip-text { font-size: 15px; font-weight: 400; line-height: 1.6; color: var(--fb-muted); }
@media (max-width: 599px) {
  #frizbooth-configurator #fb-receive-success .fb-receive-success-main { flex-direction: column; gap: 16px; text-align: center; }
  #frizbooth-configurator #fb-receive-success .fb-receive-success-halo { flex-basis: 72px; width: 72px; height: 72px; }
  #frizbooth-configurator #fb-receive-success .fb-receive-success-circle { width: 56px; height: 56px; }
  #frizbooth-configurator #fb-receive-success h3 { font-size: 24px; }
  #frizbooth-configurator #fb-receive-success .fb-receive-success-tip { gap: 16px; padding: 16px; }
  #frizbooth-configurator #fb-receive-success .fb-receive-success-tip > img { flex-basis: 26px; width: 26px; height: 26px; }
}


/* Réserver la barre de défilement de la page autonome évite de redimensionner la 3D entre panneaux. */

#frizbooth-configurator.fb-configurator {
  --fb-primary: #8563D2;
  --fb-dark: #1A0C27;
  --fb-light: #F3EFFA;
  --fb-gray: #F6F5F6;
  --fb-white: #FFFFFF;
  --fb-text: #181B31;
  --fb-muted: #696371;
  --fb-purple-ink: #6943AE;
  --fb-border: #e7e2ed;
  --fb-error: #a12323;
  --fb-font: "Poppins", system-ui, sans-serif;
  --fb-radius: 16px;
  --fb-space: 24px;
  --fb-content-width: 1560px;
  --fb-sticky-top: 0px;
  --fb-nav-height: 76px;
  --fb-summary-space: 0px;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--fb-content-width);
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 48px) calc(48px + var(--fb-summary-space));
  color: var(--fb-text);
  background: var(--fb-white);
  font: 400 15px/1.65 var(--fb-font);
  -webkit-font-smoothing: antialiased;
}
#frizbooth-configurator.fb-configurator *, #frizbooth-configurator.fb-configurator *::before, #frizbooth-configurator.fb-configurator *::after { box-sizing: inherit; }
#frizbooth-configurator.fb-configurator [hidden] { display: none !important; }
#frizbooth-configurator.fb-configurator .fb-icon-library { position: absolute; overflow: hidden; pointer-events: none; }
#frizbooth-configurator.fb-configurator .fb-icon { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#frizbooth-configurator.fb-configurator .fb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#frizbooth-configurator.fb-configurator h1, #frizbooth-configurator.fb-configurator h2, #frizbooth-configurator.fb-configurator h3, #frizbooth-configurator.fb-configurator p, #frizbooth-configurator.fb-configurator figure, #frizbooth-configurator.fb-configurator dl, #frizbooth-configurator.fb-configurator dd { margin: 0; }
#frizbooth-configurator.fb-configurator h1, #frizbooth-configurator.fb-configurator h2, #frizbooth-configurator.fb-configurator h3 { font-family: inherit; color: var(--fb-dark); font-weight: 600; line-height: 1.3; }
#frizbooth-configurator.fb-configurator button, #frizbooth-configurator.fb-configurator input { font: inherit; }
#frizbooth-configurator.fb-configurator button { cursor: pointer; }
#frizbooth-configurator.fb-configurator button:disabled { cursor: default; }
#frizbooth-configurator.fb-configurator :focus-visible { outline: 3px solid var(--fb-primary); outline-offset: 4px; }
#frizbooth-configurator.fb-configurator .fb-eyebrow { color: var(--fb-purple-ink); font-size: 12px; font-weight: 600; letter-spacing: .14em; }

/* Navigation : étape active et étapes terminées. */
#frizbooth-configurator.fb-configurator .fb-navigation { position: sticky; top: var(--fb-sticky-top); z-index: 20; background: var(--fb-white); border-top: 1px solid var(--fb-border); border-bottom: 1px solid var(--fb-border); box-shadow: 0 5px 14px rgb(26 12 39 / 3%); }
#frizbooth-configurator.fb-configurator .fb-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
#frizbooth-configurator.fb-configurator .fb-step { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 76px; padding: 12px 4px; border: 0; background: none; color: var(--fb-muted); font-size: 12px; font-weight: 500; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-step-label { font-weight: 700; }
#frizbooth-configurator.fb-configurator .fb-step-number { display: grid; place-items: center; flex: 0 0 32px; height: 32px; padding: 0; border: 1px solid var(--fb-border); border-radius: 50%; font-size: 12px; line-height: 1; font-variant-numeric: tabular-nums; }
#frizbooth-configurator.fb-configurator .fb-step[aria-current="step"] { color: var(--fb-purple-ink); font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-step[aria-current="step"]::after { position: absolute; bottom: -1px; left: 16px; right: 16px; height: 3px; background: var(--fb-primary); content: ""; border-radius: 3px 3px 0 0; }
#frizbooth-configurator.fb-configurator .fb-step[aria-current="step"] .fb-step-number { border-color: var(--fb-primary); background: var(--fb-light); }
#frizbooth-configurator.fb-configurator .fb-step[data-complete="true"] .fb-step-number { border-color: var(--fb-primary); background: var(--fb-primary); color: var(--fb-white); }
#frizbooth-configurator.fb-configurator .fb-step:not(:disabled):hover { background: var(--fb-light); }

#frizbooth-configurator.fb-configurator .fb-step-section { padding-top: 32px; scroll-margin-top: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 20px); }
#frizbooth-configurator.fb-configurator .fb-section-heading { margin-bottom: 28px; }
#frizbooth-configurator.fb-configurator .fb-section-heading .fb-eyebrow { margin-bottom: 8px; }
#frizbooth-configurator.fb-configurator h2 { font-size: calc(clamp(23px, 2vw, 30px) + 1px); letter-spacing: -.025em; }
#frizbooth-configurator.fb-configurator .fb-section-heading > p:last-child { margin-top: 10px; color: var(--fb-muted); max-width: 780px; }
#frizbooth-configurator.fb-configurator .fb-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--fb-space); }
/* La moitié droite comprend le panneau et le récapitulatif de largeur inchangée. */
#frizbooth-configurator.fb-configurator.has-selection .fb-workspace { grid-template-columns: minmax(0, calc((100% - var(--fb-space)) / 2)) minmax(0, 1fr) 224px; }
#frizbooth-configurator.fb-configurator .fb-workspace > * { min-width: 0; }

/* Le document de l'iframe et les réglages Three.js restent intacts. */
#frizbooth-configurator.fb-configurator .fb-product-view { position: sticky; top: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 24px); padding: 12px; border: 1px solid var(--fb-border); border-radius: 20px; background: var(--fb-gray); }
#frizbooth-configurator.fb-configurator .fb-viewer-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 4px 8px 15px; font-size: 14px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-viewer-tag { display: inline-flex; gap: 6px; align-items: center; color: var(--fb-muted); font-size: 12px; font-weight: 400; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-viewer-tag .fb-icon { width: 16px; height: 16px; flex-basis: 16px; }
#frizbooth-configurator.fb-configurator .fb-viewer-stage { position: relative; height: clamp(380px, 58vh, 640px); overflow: hidden; border-radius: 12px; background: var(--fb-light); }
#frizbooth-configurator.fb-configurator iframe { display: block; width: 100%; height: 100%; border: 0; }
#frizbooth-configurator.fb-configurator .fb-viewer-caption { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 6px 6px; text-align: center; }
#frizbooth-configurator.fb-configurator .fb-current-finish { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-finish-dot { flex: 0 0 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 1px rgb(24 27 49 / 12%); }
#frizbooth-configurator.fb-configurator .fb-desktop-help, #frizbooth-configurator.fb-configurator .fb-touch-help { font-size: 11px; color: var(--fb-muted); }
#frizbooth-configurator.fb-configurator .fb-touch-help, #frizbooth-configurator.fb-configurator .fb-exit-explore { display: none; }
#frizbooth-configurator.fb-configurator .fb-viewer-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--fb-border); border-radius: 30px; background: var(--fb-white); color: var(--fb-dark); box-shadow: 0 4px 18px rgb(26 12 39 / 12%); font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-viewer-action:disabled { opacity: .65; }
#frizbooth-configurator.fb-configurator .fb-viewer-action.fb-exit-explore { display: none; }
#frizbooth-configurator.fb-configurator .fb-viewer-action:hover:not(:disabled) { color: var(--fb-purple-ink); border-color: var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-error { padding: 12px; margin-top: 12px; background: var(--fb-white); border-radius: 8px; color: var(--fb-error); font-size: 13px; overflow-wrap: anywhere; }

#frizbooth-configurator.fb-configurator .fb-options { display: grid; gap: 20px; }
#frizbooth-configurator.fb-configurator .fb-price-card { padding: 23px 24px; border-radius: var(--fb-radius); color: var(--fb-white); background: var(--fb-dark); }
#frizbooth-configurator.fb-configurator .fb-price-card h3 { color: var(--fb-white); font-size: 19px; font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-price { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-price output { font-size: 35px; line-height: 1.25; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
#frizbooth-configurator.fb-configurator .fb-price > span { font-size: 14px; color: #d7cce9; }
#frizbooth-configurator.fb-configurator .fb-option-card { min-width: 0; padding: 24px; border: 1px solid var(--fb-border); border-radius: var(--fb-radius); background: var(--fb-white); box-shadow: 0 3px 12px rgb(26 12 39 / 2%); }
#frizbooth-configurator.fb-configurator h3 { font-size: 19px; letter-spacing: -.02em; }
#frizbooth-configurator.fb-configurator .fb-card-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; }
#frizbooth-configurator.fb-configurator .fb-badge { display: inline-block; padding: 4px 8px; border-radius: 6px; color: var(--fb-purple-ink); background: var(--fb-light); font-size: 11px; font-weight: 500; line-height: 1.6; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-card-description { margin-top: 12px; color: var(--fb-muted); font-size: 14px; line-height: 1.8; }
#frizbooth-configurator.fb-configurator .fb-fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
#frizbooth-configurator.fb-configurator .fb-fieldset:disabled { opacity: .55; }
#frizbooth-configurator.fb-configurator .fb-color-grid { display: grid; grid-template-columns: repeat(6, minmax(44px, 1fr)); max-width: 352px; gap: 10px 8px; margin-top: 22px; }
#frizbooth-configurator.fb-configurator .fb-swatch { position: relative; display: block; min-width: 44px; min-height: 44px; aspect-ratio: 1; cursor: pointer; }
#frizbooth-configurator.fb-configurator .fb-choice-input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; }
#frizbooth-configurator.fb-configurator .fb-swatch-face { position: absolute; inset: 5px; background: var(--fb-swatch-color); border: 1px solid rgb(24 27 49 / 12%); border-radius: 50%; transition: transform .18s ease; }
#frizbooth-configurator.fb-configurator .fb-swatch-face::before { position: absolute; inset: -5px; border: 2px solid transparent; border-radius: inherit; content: ""; }
#frizbooth-configurator.fb-configurator .fb-swatch input:checked + .fb-swatch-face::before { border-color: var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-swatch input:checked + .fb-swatch-face::after { position: absolute; right: -5px; bottom: -4px; display: grid; place-items: center; width: 18px; height: 18px; border: 2px solid var(--fb-white); border-radius: 50%; background: var(--fb-dark); color: var(--fb-white); font: 600 10px/1 var(--fb-font); content: "✓"; }
#frizbooth-configurator.fb-configurator .fb-choice-input:focus-visible { outline: none; }
#frizbooth-configurator.fb-configurator .fb-swatch input:focus-visible + .fb-swatch-face { outline: 3px solid var(--fb-purple-ink); outline-offset: 7px; }
#frizbooth-configurator.fb-configurator .fb-swatch:hover .fb-swatch-face { transform: scale(1.07); }
#frizbooth-configurator.fb-configurator .fb-selected-finish { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; }
#frizbooth-configurator.fb-configurator .fb-selected-finish strong { display: block; font-size: 14px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-selected-finish #fb-color-code { display: block; margin-top: 2px; color: var(--fb-muted); font-size: 12px; }
#frizbooth-configurator.fb-configurator .fb-color-pricing { padding: 12px 0 18px; color: var(--fb-muted); font-size: 13px; white-space: pre-line; }
#frizbooth-configurator.fb-configurator .fb-custom-finish { padding-top: 16px; border-top: 1px solid var(--fb-border); font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-custom-finish strong { font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-custom-finish p { margin-top: 4px; color: var(--fb-muted); }

#frizbooth-configurator.fb-configurator .fb-led-card { background: var(--fb-light); border-color: transparent; box-shadow: none; }
#frizbooth-configurator.fb-configurator .fb-led-heading { display: flex; align-items: flex-start; gap: 10px; }
#frizbooth-configurator.fb-configurator .fb-led-heading > .fb-icon { margin-top: 1px; color: var(--fb-purple-ink); }
#frizbooth-configurator.fb-configurator .fb-led-heading h3 { font-size: 17px; }
#frizbooth-configurator.fb-configurator .fb-led-picker { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 10px 12px; border: 1px solid var(--fb-border); border-radius: 10px; background: var(--fb-white); font-size: 13px; font-weight: 500; cursor: pointer; }
#frizbooth-configurator.fb-configurator .fb-led-picker > .fb-icon { margin-left: auto; width: 16px; height: 16px; flex-basis: 16px; color: var(--fb-muted); }
#frizbooth-configurator.fb-configurator input[type="color"] { appearance: auto; width: 44px; height: 44px; flex: 0 0 44px; padding: 3px; border: 1px solid var(--fb-border); border-radius: 8px; background: var(--fb-white); cursor: pointer; }
#frizbooth-configurator.fb-configurator input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
#frizbooth-configurator.fb-configurator input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 4px; }
#frizbooth-configurator.fb-configurator input[type="color"]::-moz-color-swatch { border: 0; border-radius: 4px; }
#frizbooth-configurator.fb-configurator .fb-included { display: block; margin-top: 2px; color: var(--fb-purple-ink); font-size: 11px; font-weight: 400; }
#frizbooth-configurator.fb-configurator .fb-small-print { margin-top: 15px; color: var(--fb-muted); font-size: 13px; line-height: 1.8; }
#frizbooth-configurator.fb-configurator .fb-small-print a { font: inherit; color: var(--fb-purple-ink); text-decoration: underline; }

#frizbooth-configurator.fb-configurator .fb-printer-fieldset { margin-top: 18px; }
#frizbooth-configurator.fb-configurator .fb-printer-options { display: grid; gap: 10px; }
#frizbooth-configurator.fb-configurator .fb-printer-choice { position: relative; display: block; cursor: pointer; }
#frizbooth-configurator.fb-configurator .fb-printer-card { display: block; padding: 16px 16px 16px 42px; border: 1px solid var(--fb-border); border-radius: 10px; transition: background-color .18s ease, border-color .18s ease; }
#frizbooth-configurator.fb-configurator .fb-printer-card::before { position: absolute; top: 20px; left: 15px; width: 16px; height: 16px; border: 1px solid #b8afc4; border-radius: 50%; background: var(--fb-white); content: ""; }
#frizbooth-configurator.fb-configurator .fb-printer-choice input:checked + .fb-printer-card { border-color: var(--fb-primary); background: var(--fb-light); box-shadow: inset 0 0 0 1px var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-printer-choice input:checked + .fb-printer-card::before { border: 5px solid var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-printer-choice input:focus-visible + .fb-printer-card { outline: 3px solid var(--fb-purple-ink); outline-offset: 3px; }
#frizbooth-configurator.fb-configurator .fb-printer-choice:hover .fb-printer-card { border-color: var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-printer-card-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
#frizbooth-configurator.fb-configurator .fb-printer-card-heading strong { font-size: 14px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-printer-price { color: var(--fb-purple-ink); font-size: 12px; font-weight: 500; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-printer-description { display: block; margin-top: 6px; color: var(--fb-muted); font-size: 13px; line-height: 1.7; }

/* Un seul récapitulatif : encart sur grand écran, accordéon fixe en format compact. */
#frizbooth-configurator.fb-configurator .fb-project-summary { font-size: 14px; position: sticky; top: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 24px); padding: 20px; border: 1px solid var(--fb-border); border-radius: var(--fb-radius); background: var(--fb-white); box-shadow: 0 5px 24px rgb(26 12 39 / 4%); }
#frizbooth-configurator.fb-configurator .fb-project-summary h3 { font-size: 17px; }
#frizbooth-configurator.fb-configurator .fb-summary-header > h3 { margin-top: 20px; }
#frizbooth-configurator.fb-configurator .fb-summary-choices { margin-top: 24px; }
#frizbooth-configurator.fb-configurator .fb-summary-choices > div + div { margin-top: 20px; }
#frizbooth-configurator.fb-configurator .fb-summary-choices dt { margin-bottom: 4px; color: var(--fb-muted); font-size: 11px; }
#frizbooth-configurator.fb-configurator .fb-summary-choices dd { font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
#frizbooth-configurator.fb-configurator .fb-summary-choices small { display: block; margin-top: 2px; font-size: 10px; font-weight: 400; color: var(--fb-muted); }
#frizbooth-configurator.fb-configurator .fb-summary-total { margin: 0; padding: 0; }
#frizbooth-configurator.fb-configurator .fb-summary-total > span { font-size: 11px; color: var(--fb-muted); }
#frizbooth-configurator.fb-configurator .fb-summary-total p { margin-top: 4px; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-summary-total strong { font-size: 25px; font-weight: 600; color: var(--fb-dark); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
#frizbooth-configurator.fb-configurator .fb-summary-total p > span { color: var(--fb-muted); font-size: 11px; }
#frizbooth-configurator.fb-configurator .fb-summary-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 64px; padding: 15px 20px; border: 0; border-radius: inherit; background: var(--fb-white); color: var(--fb-dark); text-align: left; font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-summary-toggle strong { font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-summary-toggle .fb-icon { color: var(--fb-purple-ink); transform: rotate(180deg); transition: transform .18s ease; }
#frizbooth-configurator.fb-configurator .fb-summary-toggle[aria-expanded="true"] .fb-icon { transform: rotate(0); }
#frizbooth-configurator.fb-configurator[data-active-step="4"] .fb-project-summary { display: none !important; }
#frizbooth-configurator.fb-configurator input, #frizbooth-configurator.fb-configurator button { scroll-margin-block: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 24px) calc(var(--fb-summary-space) + 24px); }

@media (max-width: 1279px) {
  #frizbooth-configurator.fb-configurator .fb-workspace, #frizbooth-configurator.fb-configurator.has-selection .fb-workspace { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #frizbooth-configurator.fb-configurator .fb-project-summary { position: fixed; z-index: 30; top: auto; right: max(16px, env(safe-area-inset-right)); bottom: 0; left: max(16px, env(safe-area-inset-left)); max-width: 540px; margin: 0 auto; padding: 0 0 env(safe-area-inset-bottom, 0px); border-bottom: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -6px 30px rgb(26 12 39 / 12%); }
  #frizbooth-configurator.fb-configurator .fb-summary-details { max-height: min(55dvh, 420px); overflow: auto; overscroll-behavior: contain; padding: 0 24px 24px; border-top: 1px solid var(--fb-border); }
  #frizbooth-configurator.fb-configurator .fb-summary-header { position: relative; display: flex; align-items: center; min-height: 64px; padding: 0 136px 0 16px; border-radius: inherit; }
  #frizbooth-configurator.fb-configurator .fb-summary-header .fb-summary-total { position: relative; z-index: 1; pointer-events: none; }
  #frizbooth-configurator.fb-configurator .fb-summary-toggle { position: absolute; inset: 0; justify-content: flex-end; width: 100%; padding: 8px 16px; }
  #frizbooth-configurator.fb-configurator .fb-summary-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 18px; }
  #frizbooth-configurator.fb-configurator .fb-summary-choices > div + div { margin-top: 0; }
}
@media (max-width: 999px) {
  #frizbooth-configurator.fb-configurator .fb-workspace, #frizbooth-configurator.fb-configurator.has-selection .fb-workspace { grid-template-columns: minmax(0, 1fr); }
  #frizbooth-configurator.fb-configurator .fb-product-view { position: relative; top: auto; }
  #frizbooth-configurator.fb-configurator .fb-viewer-stage { height: 500px; }
  #frizbooth-configurator.fb-configurator .fb-options { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  #frizbooth-configurator.fb-configurator .fb-option-card { padding: 20px; }
  #frizbooth-configurator.fb-configurator .fb-price-card { grid-column: 1 / -1; }
}
@media (max-width: 799px) {
  #frizbooth-configurator.fb-configurator { --fb-space: 20px; }
  #frizbooth-configurator.fb-configurator .fb-steps { grid-template-columns: repeat(5, minmax(max-content, 1fr)); gap: 4px; }
  #frizbooth-configurator.fb-configurator .fb-options { grid-template-columns: minmax(0, 1fr); }
  #frizbooth-configurator.fb-configurator .fb-viewer-stage { height: 440px; }
  #frizbooth-configurator.fb-configurator .fb-step { gap: 6px; font-size: 11px; }
  #frizbooth-configurator.fb-configurator .fb-step-number { flex-basis: 28px; height: 28px; font-size: 11px; }
}
@media (max-width: 599px) {
  #frizbooth-configurator.fb-configurator { --fb-radius: 14px; padding-right: 12px; padding-left: 12px; }
  #frizbooth-configurator.fb-configurator .fb-steps { display: flex; gap: 6px; }
  #frizbooth-configurator.fb-configurator .fb-steps li { flex: 1; min-width: 0; }
  #frizbooth-configurator.fb-configurator .fb-steps li:has([aria-current="step"]) { flex: 3.4; }
  #frizbooth-configurator.fb-configurator .fb-step { min-height: 62px; padding: 10px 0; gap: 6px; font-size: 11px; }
  #frizbooth-configurator.fb-configurator .fb-step-number { flex: 0 0 28px; height: 28px; }
  #frizbooth-configurator.fb-configurator .fb-step:not([aria-current="step"]) .fb-step-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #frizbooth-configurator.fb-configurator .fb-step[aria-current="step"]::after { left: 0; right: 0; }
  #frizbooth-configurator.fb-configurator .fb-step-section { padding-top: 24px; }
  #frizbooth-configurator.fb-configurator .fb-section-heading { margin-bottom: 20px; }
  #frizbooth-configurator.fb-configurator .fb-section-heading .fb-eyebrow { display: none; }
  #frizbooth-configurator.fb-configurator h2 { font-size: 24px; }
  #frizbooth-configurator.fb-configurator .fb-section-heading > p:last-child { margin-top: 10px; font-size: 13px; }
  #frizbooth-configurator.fb-configurator .fb-product-view { padding: 8px; border-radius: 16px; }
  #frizbooth-configurator.fb-configurator .fb-viewer-heading { padding: 5px 6px 12px; font-size: 13px; }
  #frizbooth-configurator.fb-configurator .fb-viewer-stage { height: clamp(320px, 52svh, 440px); }
  #frizbooth-configurator.fb-configurator .fb-viewer-caption { padding-top: 12px; }
  #frizbooth-configurator.fb-configurator .fb-current-finish { font-size: 12px; }
  #frizbooth-configurator.fb-configurator .fb-price-card { padding: 20px; column-gap: 14px; }
  #frizbooth-configurator.fb-configurator .fb-price output { font-size: 30px; }
  #frizbooth-configurator.fb-configurator .fb-color-grid { gap: 10px 8px; }
  #frizbooth-configurator.fb-configurator .fb-summary-header, #frizbooth-configurator.fb-configurator .fb-summary-toggle { min-height: 60px; }
  #frizbooth-configurator.fb-configurator .fb-summary-toggle { font-size: 12px; }
  #frizbooth-configurator.fb-configurator .fb-summary-total strong { font-size: 23px; }
}
@media (max-width: 379px) {
  #frizbooth-configurator.fb-configurator .fb-step[aria-current="step"] .fb-step-number { display: none; }
  #frizbooth-configurator.fb-configurator .fb-color-grid { grid-template-columns: repeat(4, minmax(44px, 1fr)); gap: 12px; }
  #frizbooth-configurator.fb-configurator .fb-swatch { max-width: 54px; }
  #frizbooth-configurator.fb-configurator .fb-price-card { display: block; }
  #frizbooth-configurator.fb-configurator .fb-selected-finish { flex-wrap: wrap; }
  #frizbooth-configurator.fb-configurator .fb-summary-toggle { font-size: 11px; }
}
/* Le même bouclier protège le défilement jusqu'à l'activation volontaire, sur tous les écrans. */
#frizbooth-configurator.fb-configurator .fb-viewer-stage:not(.is-interactive) iframe { pointer-events: none; }
#frizbooth-configurator.fb-configurator .fb-touch-shield { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 20px; touch-action: pan-y; }
#frizbooth-configurator.fb-configurator .fb-viewer-stage.is-interactive .fb-touch-shield { display: none; }
#frizbooth-configurator.fb-configurator .fb-viewer-stage.is-interactive .fb-exit-explore { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: inline-flex; white-space: nowrap; }
@media (hover: none) and (pointer: coarse) {
  #frizbooth-configurator.fb-configurator .fb-touch-help { display: block; max-width: 320px; }
  #frizbooth-configurator.fb-configurator .fb-desktop-help { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  #frizbooth-configurator.fb-configurator *, #frizbooth-configurator.fb-configurator *::before, #frizbooth-configurator.fb-configurator *::after { transition: none !important; animation: none !important; }
}
@media (min-width: 1280px) and (max-height: 650px) {
  #frizbooth-configurator.fb-configurator .fb-product-view, #frizbooth-configurator.fb-configurator .fb-project-summary { position: relative; top: auto; }
}

#frizbooth-configurator.fb-configurator .fb-finance-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-finance-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#frizbooth-configurator.fb-configurator .fb-finance-choice { height: 100%; }
#frizbooth-configurator.fb-configurator .fb-finance-card { min-height: 112px; height: 100%; padding: 22px 22px 22px 48px; }
#frizbooth-configurator.fb-configurator .fb-finance-card::before { top: 26px; left: 20px; }
#frizbooth-configurator.fb-configurator .fb-finance-mode-title { display: block; color: var(--fb-dark); font-size: 17px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-finance-card .fb-printer-description { margin-top: 8px; font-size: 14px; }
#frizbooth-configurator.fb-configurator .fb-finance-panel { display: grid; gap: 24px; margin-top: 20px; padding: 24px; border: 1px solid var(--fb-border); border-radius: var(--fb-radius); background: var(--fb-white); box-shadow: 0 3px 12px rgb(26 12 39 / 2%); }
#frizbooth-configurator.fb-configurator .fb-finance-panel h3 { font-size: 14px; font-weight: 500; letter-spacing: 0; }
#frizbooth-configurator.fb-configurator .fb-cash-total > h3, #frizbooth-configurator.fb-configurator #fb-loa-panel .fb-loa-controls > label { font-size: 19px; font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-finance-amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
#frizbooth-configurator.fb-configurator .fb-finance-amount output { color: var(--fb-dark); font-size: 33px; font-weight: 500; line-height: 1.3; letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-finance-amount > span { color: var(--fb-muted); font-size: 13px; white-space: nowrap; }
#frizbooth-configurator.fb-configurator .fb-cash-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); align-items: center; }
#frizbooth-configurator.fb-configurator .fb-cash-installments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#frizbooth-configurator.fb-configurator .fb-installment { padding: 18px; border-radius: 10px; background: var(--fb-gray); }
#frizbooth-configurator.fb-configurator .fb-installment .fb-finance-amount { gap: 6px; }
#frizbooth-configurator.fb-configurator .fb-installment .fb-finance-amount output { font-size: 26px; }
#frizbooth-configurator.fb-configurator .fb-loa-panel { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; }
#frizbooth-configurator.fb-configurator .fb-loa-controls > label { display: block; font-size: 15px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-loa-duration-value { display: block; margin-top: 12px; color: var(--fb-purple-ink); font-size: 29px; font-weight: 500; line-height: 1.3; }
#frizbooth-configurator.fb-configurator .fb-loa-slider { display: block; appearance: none; width: 100%; height: 44px; padding: 0; margin: 14px 0 0; background: transparent; cursor: pointer; touch-action: pan-y; }
#frizbooth-configurator.fb-configurator .fb-loa-slider::-webkit-slider-runnable-track { height: 6px; border-radius: 99px; background: linear-gradient(to right, var(--fb-primary) 0 var(--fb-range-progress, 40%), var(--fb-border) var(--fb-range-progress, 40%) 100%); }
#frizbooth-configurator.fb-configurator .fb-loa-slider::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; margin-top: -10px; border: 4px solid var(--fb-white); border-radius: 50%; background: var(--fb-primary); box-shadow: 0 0 0 1px var(--fb-primary), 0 3px 10px rgb(133 99 210 / 20%); }
#frizbooth-configurator.fb-configurator .fb-loa-slider::-moz-range-track { height: 6px; border-radius: 99px; background: var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-loa-slider::-moz-range-progress { height: 6px; border-radius: 99px; background: var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-loa-slider::-moz-range-thumb { width: 18px; height: 18px; border: 4px solid var(--fb-white); border-radius: 50%; background: var(--fb-primary); box-shadow: 0 0 0 1px var(--fb-primary); }
#frizbooth-configurator.fb-configurator .fb-loa-bounds { display: flex; justify-content: space-between; color: var(--fb-muted); font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-loa-result { padding: 24px; border-radius: 12px; background: var(--fb-light); }
#frizbooth-configurator.fb-configurator .fb-loa-result h3 { color: var(--fb-purple-ink); }
#frizbooth-configurator.fb-configurator .fb-loa-result .fb-finance-amount output { font-size: 37px; }
#frizbooth-configurator.fb-configurator .fb-finance-legal { grid-column: 1 / -1; padding-top: 20px; margin-top: 0; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-summary-financing { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-summary-financing .fb-summary-choices { margin-top: 0; }
@media (max-width: 1279px) {
  #frizbooth-configurator.fb-configurator .fb-summary-financing .fb-summary-choices { row-gap: 16px; }
}
@media (max-width: 799px) {
  #frizbooth-configurator.fb-configurator .fb-cash-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  #frizbooth-configurator.fb-configurator .fb-finance-section { margin-top: 32px; padding-top: 24px; }
  #frizbooth-configurator.fb-configurator .fb-finance-modes, #frizbooth-configurator.fb-configurator .fb-loa-panel { grid-template-columns: minmax(0, 1fr); }
  #frizbooth-configurator.fb-configurator .fb-finance-card { min-height: 96px; }
  #frizbooth-configurator.fb-configurator .fb-finance-panel { padding: 20px; gap: 20px; }
  #frizbooth-configurator.fb-configurator .fb-loa-result { padding: 20px; }
  #frizbooth-configurator.fb-configurator .fb-installment { padding: 14px; }
  #frizbooth-configurator.fb-configurator .fb-installment .fb-finance-amount output { font-size: 24px; }
}
@media (max-width: 379px) {
  #frizbooth-configurator.fb-configurator .fb-cash-installments { grid-template-columns: minmax(0, 1fr); }
}

/* Un seul panneau actif, entre le visualiseur et le récapitulatif permanents. */
#frizbooth-configurator.fb-configurator > .fb-workspace { margin-top: 32px; }
#frizbooth-configurator.fb-configurator .fb-panel-column { min-width: 0; }
#frizbooth-configurator.fb-configurator .fb-panel-column > .fb-step-section { padding-top: 0; }
#frizbooth-configurator.fb-configurator .fb-panel-column > .fb-finance-section { margin-top: 0; border-top: 0; }
#frizbooth-configurator.fb-configurator .fb-panel-navigation { display: flex; justify-content: space-between; gap: 16px; padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-panel-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--fb-border); border-radius: 50px; background: var(--fb-white); color: var(--fb-purple-ink); font-size: 14px; transition: border-color .18s ease, background-color .18s ease, color .18s ease; }
#frizbooth-configurator.fb-configurator #fb-next { border-color: var(--fb-primary); background: var(--fb-primary); color: #FFFFFF; }
#frizbooth-configurator.fb-configurator .fb-panel-button:disabled { color: var(--fb-muted); opacity: .55; }
#frizbooth-configurator.fb-configurator #fb-next:disabled { border-color: var(--fb-border); background: var(--fb-gray); color: var(--fb-muted); }
#frizbooth-configurator.fb-configurator .fb-panel-button .fb-icon { width: 16px; height: 16px; flex-basis: 16px; }
#frizbooth-configurator.fb-configurator .fb-previous-icon { transform: rotate(90deg); }
#frizbooth-configurator.fb-configurator .fb-next-icon { transform: rotate(-90deg); }
@media (min-width: 1000px) {
  #frizbooth-configurator.fb-configurator .fb-panel-column .fb-finance-modes,
  #frizbooth-configurator.fb-configurator .fb-panel-column .fb-cash-panel,
  #frizbooth-configurator.fb-configurator .fb-panel-column .fb-cash-installments,
  #frizbooth-configurator.fb-configurator .fb-panel-column .fb-loa-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  #frizbooth-configurator.fb-configurator > .fb-workspace { margin-top: 24px; }
  #frizbooth-configurator.fb-configurator .fb-panel-button { flex: 1; padding-right: 10px; padding-left: 10px; }
}

/* SIMULEZ réutilise les cartes, sliders et montants de FINANCEZ. */
#frizbooth-configurator.fb-configurator .fb-simulation-question { padding: 0; margin-bottom: 16px; border: 0; color: var(--fb-dark); font-size: 19px; font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-simulation-controls, #frizbooth-configurator.fb-configurator .fb-simulation-results { grid-template-columns: minmax(0, 1fr); }
#frizbooth-configurator.fb-configurator .fb-simulation-results > h3 { font-size: 19px; font-weight: 600; }
#frizbooth-configurator.fb-configurator .fb-simulation-results > div:not(.fb-loa-result) > h3 { font-weight: 400; }
#frizbooth-configurator.fb-configurator .fb-simulation-controls > .fb-loa-controls + .fb-loa-controls { padding-top: 24px; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-simulation-section .fb-loa-duration-value { font-size: 25px; }
#frizbooth-configurator.fb-configurator .fb-simulation-section .fb-finance-amount output { font-size: calc(clamp(24px, 2.4vw, 32px) + 1px); }
#frizbooth-configurator.fb-configurator .fb-simulation-secondary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-top: 8px; color: var(--fb-purple-ink); }
#frizbooth-configurator.fb-configurator .fb-simulation-secondary output { font-size: 20px; font-weight: 500; font-variant-numeric: tabular-nums; }
#frizbooth-configurator.fb-configurator .fb-simulation-secondary > span { font-size: 13px; }
@media (min-width: 1280px) {
  #frizbooth-configurator.fb-configurator .fb-summary-details { margin-top: 14px; }
  #frizbooth-configurator.fb-configurator.has-simulation .fb-project-summary { position: sticky; top: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 24px); }
  #frizbooth-configurator.fb-configurator.has-simulation .fb-summary-details { max-height: max(120px, calc(100dvh - var(--fb-sticky-top) - var(--fb-nav-height) - 192px - 14px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 8px; margin-right: -8px; }
}

/* VOTRE PROJET occupe l'espace du panneau et du récapitulatif permanent. */
@media (min-width: 1000px) {
  #frizbooth-configurator.fb-configurator[data-active-step="4"] .fb-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
#frizbooth-configurator.fb-configurator .fb-project-cards { display: grid; gap: 20px; }
#frizbooth-configurator.fb-configurator .fb-project-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
#frizbooth-configurator.fb-configurator .fb-project-facts > * { min-width: 0; }
#frizbooth-configurator.fb-configurator .fb-project-facts dt, #frizbooth-configurator.fb-configurator .fb-project-label { color: var(--fb-muted); font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-project-facts dd { margin-top: 6px; font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }
#frizbooth-configurator.fb-configurator .fb-project-price { padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--fb-border); }
#frizbooth-configurator.fb-configurator .fb-project-indicators { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px; margin-top: 24px; }
#frizbooth-configurator.fb-configurator .fb-project-indicators > * { min-width: 0; }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-loa-result { padding: 20px; }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-project-gain { background: rgba(46, 160, 92, 0.08); }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-project-gain h3,
#frizbooth-configurator.fb-configurator .fb-project-section #fb-project-income .fb-simulation-secondary { color: #236B45; }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-loa-result h3 { font-size: 14px; font-weight: 500; letter-spacing: 0; }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-finance-amount output { font-size: calc(clamp(24px, 2.3vw, 32px) + 1px); }
#frizbooth-configurator.fb-configurator .fb-project-section .fb-installment .fb-finance-amount output { font-size: 26px; }
#frizbooth-configurator.fb-configurator .fb-project-coverage { margin-top: 12px; color: #000000; font-size: 25px; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
@media (max-width: 599px) {
  #frizbooth-configurator.fb-configurator .fb-project-facts, #frizbooth-configurator.fb-configurator .fb-project-indicators { grid-template-columns: minmax(0, 1fr); }
}

/* RECEVOIR reprend la disposition de VOTRE PROJET sans récapitulatif supplémentaire. */
#frizbooth-configurator.fb-configurator[data-active-step="5"] .fb-project-summary { display: none !important; }
@media (min-width: 1000px) {
  #frizbooth-configurator.fb-configurator[data-active-step="5"] .fb-workspace { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
#frizbooth-configurator.fb-configurator .fb-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
#frizbooth-configurator.fb-configurator .fb-form-grid-single { grid-template-columns: minmax(0, 1fr); }
#frizbooth-configurator.fb-configurator .fb-form-field { min-width: 0; }
#frizbooth-configurator.fb-configurator .fb-form-field label { display: block; margin-bottom: 8px; color: var(--fb-dark); font-size: 14px; font-weight: 500; }
#frizbooth-configurator.fb-configurator .fb-form-field input, #frizbooth-configurator.fb-configurator .fb-form-field select, #frizbooth-configurator.fb-configurator .fb-form-field textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid var(--fb-border); border-radius: 10px; background: var(--fb-white); color: var(--fb-text); font: inherit; font-size: 15px; }
#frizbooth-configurator.fb-configurator .fb-form-field textarea { resize: vertical; min-height: 128px; }
#frizbooth-configurator.fb-configurator .fb-form-field input::placeholder, #frizbooth-configurator.fb-configurator .fb-form-field textarea::placeholder { color: var(--fb-muted); opacity: 1; }
#frizbooth-configurator.fb-configurator .fb-form-field [aria-invalid="true"] { border-color: var(--fb-error); }
#frizbooth-configurator.fb-configurator .fb-form-error { margin-top: 6px; color: var(--fb-error); font-size: 13px; }
#frizbooth-configurator.fb-configurator .fb-receive-submit { width: 100%; min-height: 52px; padding: 14px 20px; margin-top: 24px; border: 0; border-radius: 50px; background: var(--fb-primary); color: var(--fb-white); font-size: 15px; font-weight: 500; transition: background-color .18s ease, color .18s ease; }
#frizbooth-configurator.fb-configurator .fb-panel-button:hover:not(:disabled), #frizbooth-configurator.fb-configurator #fb-next:hover:not(:disabled), #frizbooth-configurator.fb-configurator .fb-receive-submit:hover:not(:disabled) { border-color: #000000; background: #000000; color: #FFFFFF; }
#frizbooth-configurator.fb-configurator .fb-receive-submit:disabled { opacity: .65; }
#frizbooth-configurator.fb-configurator .fb-form-notice { padding: 16px; margin-top: 20px; border: 1px solid var(--fb-error); border-radius: 10px; color: var(--fb-error); font-size: 14px; }
#frizbooth-configurator.fb-configurator .fb-receive-success { margin-top: 20px; background: var(--fb-light); border-color: transparent; scroll-margin-top: calc(var(--fb-sticky-top) + var(--fb-nav-height) + 20px); }
@media (max-width: 599px) {
  #frizbooth-configurator.fb-configurator .fb-form-grid { grid-template-columns: minmax(0, 1fr); }
  #frizbooth-configurator.fb-configurator .fb-form-field input, #frizbooth-configurator.fb-configurator .fb-form-field select, #frizbooth-configurator.fb-configurator .fb-form-field textarea { font-size: 17px; }
}
