/* ==========================================================================
   68 Reserve configurator ("Spec Your Pagoda.", #configure on the home page)

   Markup: components/r68/* in the configurator source repo, compiled into
   configurator.js (see its embed/r68.tsx). Everything is scoped under
   the root class .r68cfg. Overlays (full view, quote request, build-sheet
   drawer) are portalled to <body> inside a ".r68cfg.cfg-layer" wrapper so they
   sit above the fixed site nav.

   Layout: a wide stage (sticky, partly tucked under the nav while you scroll the
   rows), chapter tabs, quiet parameter rows with chip rails, and the build sheet
   (a column from 1200px, a bottom drawer below that).
   ========================================================================== */

.r68cfg {
  --ink: #0a0a0a;
  --ink-2: #060606;
  --paper: #f5f2ec;
  --sand: #cbba9c;
  --mute: #a69982;
  --line: rgba(245, 242, 236, 0.12);
  --line-2: rgba(245, 242, 236, 0.22);
  --line-3: rgba(245, 242, 236, 0.06);
  --dim: rgba(245, 242, 236, 0.66);
  --faint: rgba(245, 242, 236, 0.44);
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --display: "Anton", "Impact", "Haettenschweiler", sans-serif;
  --sans: "Inter", "Futura", ui-sans-serif, system-ui, sans-serif;

  /* height of the fixed site nav (h-20, md:h-28) */
  --cfg-nav: 80px;

  /* chip card size */
  --face-w: 58px;
  --face-h: 80px;

  /* ---------------------------------------------------------------------
     STAGE BACKDROP
     A vertical gradient drawn behind each render, aligned to the drawn square
     (same top and height), extended to the stage edges so the studio wall and
     floor continue with no seam:
       --sx-wall       colour at the top of the square render
       --sx-horizon    colour at the horizon
       --sx-horizon-at horizon position, % of the square render's height
       --sx-floor      colour at the bottom
       --sx-floor-at   where the floor colour is reached (optional, default 100%)
       --sx-gradient   optional full override (any gradient), set per view below
       --sx-stage-overlay  optional overlay over the whole stage (e.g. a vignette)
       --sx-feather    soft edge on the left/right of a contained render
     Values below are fitted to the renders on disk (2026-11-05 20:22, warm studio).
     Re-fit with: python -I cfg-qa/sample_backdrop.py
     --------------------------------------------------------------------- */
  --sx-wall: #807567;
  --sx-horizon: #867b6b;
  --sx-horizon-at: 38%;
  --sx-floor: #9d8f7f;
  --sx-floor-at: 86%;
  --sx-stage-overlay: none;
  --sx-feather: 1.5%;
  /* stage chrome: text colour and the soft scrim behind the camera bar */
  --sx-ui: var(--paper);
  --sx-scrim: linear-gradient(to top, rgba(6, 6, 6, 0.52), rgba(6, 6, 6, 0.2) 55%, rgba(6, 6, 6, 0));

  /* how large a whole car sits on the stage (fraction of stage width / height) */
  --fill-w: 0.7;
  --fill-h: 0.62;

  position: relative;
  z-index: 1;
  max-width: 1760px;
  margin-inline: auto;
  color: var(--paper);
  font-family: var(--sans);
  font-weight: 300;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 768px) {
  .r68cfg {
    --cfg-nav: 112px;
  }
}

/* portal wrapper: no stacking context of its own, so its fixed children rise above the nav */
.r68cfg.cfg-layer {
  position: static;
  z-index: auto;
  max-width: none;
  margin: 0;
}

.r68cfg *,
.r68cfg *::before,
.r68cfg *::after {
  box-sizing: border-box;
}
.r68cfg button {
  font: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.r68cfg ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.r68cfg h2,
.r68cfg h4,
.r68cfg h5,
.r68cfg p,
.r68cfg dl,
.r68cfg dd {
  margin: 0;
}
.r68cfg :focus {
  outline: none;
}
.r68cfg :focus-visible {
  outline: 1px solid var(--sand);
  outline-offset: 3px;
}

.r68cfg .cfg-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.r68cfg .cfg-eyebrow {
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--sand);
}

/* ─────────────────────────────── Layout ─────────────────────────────── */

.r68cfg.cfg-root {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.r68cfg.cfg-root[data-layout="wide"] {
  grid-template-columns: minmax(0, 1fr) clamp(304px, 23vw, 356px);
  column-gap: clamp(36px, 3.4vw, 64px);
}
.r68cfg .cfg-main {
  min-width: 0;
  container-type: inline-size;
}

/* The stage block sticks under the nav while the rows scroll; the top of the
   stage (empty studio wall in the whole-car views) tucks under the nav. */
.r68cfg .cfg-sticky {
  --stage-h: max(340px, min(60vh, 800px, 56.25cqw));
  --tuck: calc(var(--stage-h) * 0.16);
  position: sticky;
  top: calc(var(--cfg-nav) - var(--tuck));
  z-index: 3;
  background: var(--ink-2);
}
@media (max-width: 1199px) {
  .r68cfg .cfg-sticky {
    --stage-h: min(62.5cqw, 60vh);
    --tuck: calc(var(--stage-h) * 0.14);
  }
}
@media (max-width: 767px) {
  .r68cfg .cfg-sticky {
    --stage-h: min(75vw, 52vh);
    --tuck: calc(var(--stage-h) * 0.08);
    /* full bleed on phones */
    margin-inline: calc(50% - 50vw);
  }
}
/* short screens (landscape phones, small laptops at large zoom): no sticky stage */
@media (max-height: 620px) {
  .r68cfg .cfg-sticky {
    position: relative;
    top: auto;
  }
}

/* ─────────────────────────────── Stage ─────────────────────────────── */

.r68cfg .cfg-stage {
  position: relative;
  height: var(--stage-h);
  container-type: size;
  overflow: hidden;
  isolation: isolate;
  background: var(--sx-wall);
  color: var(--sx-ui);
}
.r68cfg .cfg-stage-hit {
  position: absolute;
  inset: 0;
  cursor: zoom-in;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}
.r68cfg .cfg-stage-hit:focus-visible {
  outline: none;
}
.r68cfg .cfg-stage-hit:focus-visible::after {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 6;
  pointer-events: none;
  outline: 1px solid var(--sand);
}
.r68cfg .cfg-canvas {
  position: absolute;
  inset: 0;
}

/* One slot per configuration; the new one fades in over the old (400ms). */
.r68cfg .cfg-slot {
  position: absolute;
  inset: 0;
  transition: opacity 400ms var(--ease);
  will-change: opacity;

  /* ---- framing (contain): the square render, sized so the car fills
     --fill-w of the stage width or --fill-h of its height, never shorter than
     the stage; its focal point (--sx-fx, --sx-fy, fractions of the square)
     lands in the middle of the stage, clamped so the square covers it. */
  --car-w: 0.88;
  --car-h: 0.44;
  --sx-fx: 0.5;
  --sx-fy: 0.5;
  --sx-land: 0.53;
  --s: max(100cqh, min(100cqw * var(--fill-w) / var(--car-w), 100cqh * var(--fill-h) / var(--car-h)));
  --x: clamp(min(100cqw - var(--s), 0px), 50cqw - var(--sx-fx) * var(--s), max(100cqw - var(--s), 0px));
  --y: clamp(min(100cqh - var(--s), 0px), var(--sx-land) * 100cqh - var(--sx-fy) * var(--s), max(100cqh - var(--s), 0px));
}
.r68cfg .cfg-backdrop {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--y);
  height: var(--s);
  background: var(
    --sx-gradient,
    linear-gradient(
      to bottom,
      var(--sx-wall) 0%,
      var(--sx-horizon) var(--sx-horizon-at),
      var(--sx-floor) var(--sx-floor-at, 100%),
      var(--sx-floor) 100%
    )
  );
}
.r68cfg .cfg-plate {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--sx-feather), #000 calc(100% - var(--sx-feather)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--sx-feather), #000 calc(100% - var(--sx-feather)), transparent 100%);
}
.r68cfg .cfg-plate img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

/* ---- Per view: display mode, car bounds and focal points ------------------
   Whole-car views are "contain" (the square render on the extended backdrop);
   close-ups are "cover" (the square scaled to cover the stage) with a focal
   point chosen so the part each chapter talks about stays in frame. */
.r68cfg .cfg-slot[data-view="diagonal"] {
  --car-w: 0.88;
  --car-h: 0.46; /* incl. the aerial */
  --sx-fx: 0.49;
  --sx-fy: 0.565;
  --sx-feather: 3%; /* the bumper is 4.9% from the left edge */
  --sx-gradient: linear-gradient(to bottom, #807567 0%, #867b6c 32.5%, #887a6a 41.5%, #867b6c 47%, #8a7c6f 50%, #8e8170 53%, #938676 55.5%, #958777 60%, #938877 63%, #968a7a 67.5%, #968a7a 70.5%, #948877 75.5%, #998d7c 78.5%, #9d8f7f 82%, #9d8f7f 100%);
}
.r68cfg .cfg-slot[data-view="side"] {
  --car-w: 0.85;
  --car-h: 0.28;
  --sx-fx: 0.505;
  --sx-fy: 0.52;
  --sx-feather: 6%;
  --sx-gradient: linear-gradient(to bottom, #7d7263 0%, #867b6c 34%, #897c6c 35.5%, #8a7c6f 39%, #8b7e6e 41.5%, #8b7e70 53%, #8e8171 57.5%, #948978 60.5%, #9a8d7c 62%, #9d8f7f 64%, #9d8f7f 71.5%, #948877 76.5%, #8d8170 83%, #8e8071 85%, #8c7f70 86%, #857a6b 100%);
}
.r68cfg .cfg-slot[data-view="top"] {
  --car-w: 0.85;
  --car-h: 0.38;
  --sx-fx: 0.505;
  --sx-fy: 0.5;
  --sx-feather: 6%;
  --sx-gradient: linear-gradient(to bottom, #998e7d 0%, #9c8e7e 8%, #9d8f7f 17%, #9b8e7e 37.5%, #9a8d7b 45.5%, #9a8d7b 67.5%, #9c8e7e 70%, #9a8d7b 73%, #9a8d7d 80%, #998c7c 85%, #988b7b 89%, #958a7a 91%, #948978 96%, #958878 100%);
}
.r68cfg .cfg-slot[data-view="lights-2"],
.r68cfg .cfg-slot[data-view="interior-3"],
.r68cfg .cfg-slot[data-view="interior-1"] {
  --s: calc(max(100cqw, 100cqh) * var(--sx-zoom, 1));
  --sx-feather: 0%;
  --sx-land: 0.58;
}
.r68cfg .cfg-slot[data-view="lights-2"] {
  --sx-fx: 0.5;
  --sx-fy: 0.7;
}
.r68cfg .cfg-slot[data-view="interior-3"] {
  --sx-fx: 0.5;
  --sx-fy: 0.67;
}
.r68cfg .cfg-slot[data-view="interior-1"] {
  --sx-fx: 0.5;
  --sx-fy: 0.4;
}

.r68cfg .cfg-stage-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: var(--sx-stage-overlay);
}

/* loading hairline along the bottom edge (shown after 150ms) */
.r68cfg .cfg-stage-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  z-index: 5;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.r68cfg .cfg-stage[data-loading] .cfg-stage-progress {
  opacity: 1;
}
.r68cfg .cfg-stage-progress::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28%;
  background: var(--sand);
  animation: cfg-load 1.15s var(--ease) infinite;
}
@keyframes cfg-load {
  from {
    transform: translateX(-110%);
  }
  to {
    transform: translateX(380%);
  }
}

/* camera bar */
.r68cfg .cfg-stage-ui {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 72px clamp(16px, 2.4cqw, 30px) clamp(14px, 2.2cqh, 22px);
  background: var(--sx-scrim);
  pointer-events: none;
}
.r68cfg .cfg-stage-ui > * {
  pointer-events: auto;
}
.r68cfg .cfg-views {
  display: flex;
  flex-wrap: wrap;
  gap: 2px clamp(14px, 1.9cqw, 26px);
  min-width: 0;
}
.r68cfg .cfg-view {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 9px 0;
  border: 0;
  background: none;
  color: inherit;
  opacity: 0.6;
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  white-space: nowrap;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
  transition: opacity 0.25s ease;
}
.r68cfg .cfg-view:hover {
  opacity: 0.92;
}
.r68cfg .cfg-view[aria-checked="true"] {
  opacity: 1;
}
.r68cfg .cfg-view::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s var(--ease-out);
}
.r68cfg .cfg-view[aria-checked="true"]::after {
  transform: scaleX(1);
}
.r68cfg .cfg-view-n {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.1em;
  color: var(--sand);
}
.r68cfg .cfg-view-of {
  color: var(--faint);
  letter-spacing: 0.1em;
}
.r68cfg .cfg-view-now {
  display: none;
  align-items: baseline;
  gap: 9px;
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 11px 0;
  white-space: nowrap;
}
.r68cfg .cfg-stage-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
}
.r68cfg .cfg-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(245, 242, 236, 0.3);
  border-radius: 50%;
  background: rgba(6, 6, 6, 0.16);
  color: inherit;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.r68cfg .cfg-icon-btn:hover {
  background: rgba(6, 6, 6, 0.42);
  border-color: rgba(245, 242, 236, 0.6);
}
.r68cfg .cfg-full-btn {
  margin-left: 6px;
}

/* narrower stages: inactive cameras show their number only; phones show one label */
@container (max-width: 920px) {
  .r68cfg .cfg-view:not([aria-checked="true"]) .cfg-view-t {
    display: none;
  }
  .r68cfg .cfg-views {
    gap: 2px 18px;
  }
}
@container (max-width: 560px) {
  .r68cfg .cfg-views {
    display: none;
  }
  .r68cfg .cfg-view-now {
    display: flex;
  }
}

/* ─────────────────────────────── Chapters ─────────────────────────────── */

.r68cfg .cfg-chapters {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 28px;
  background: var(--ink-2);
  box-shadow: inset 0 -1px 0 var(--line);
}
.r68cfg .cfg-chapter-tabs {
  position: relative;
  display: flex;
  gap: clamp(20px, 3.2cqw, 46px);
  overflow-x: auto;
  scrollbar-width: none;
  min-width: 0;
}
.r68cfg .cfg-chapter-tabs::-webkit-scrollbar {
  display: none;
}
.r68cfg .cfg-chapter-tab,
.r68cfg .cfg-chapter-sheet {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 23px 0 21px;
  border: 0;
  background: none;
  color: var(--paper);
  font: 500 11.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.5;
  transition: opacity 0.25s ease;
}
.r68cfg .cfg-chapter-tab:hover,
.r68cfg .cfg-chapter-sheet:hover {
  opacity: 0.85;
}
.r68cfg .cfg-chapter-tab[aria-selected="true"] {
  opacity: 1;
}
.r68cfg .cfg-chapter-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s var(--ease-out);
}
.r68cfg .cfg-chapter-tab[aria-selected="true"]::after {
  transform: scaleX(1);
}
.r68cfg .cfg-chapter-n {
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--sand);
  font-variant-numeric: tabular-nums;
}
.r68cfg .cfg-chapter-sheet {
  opacity: 0.85;
  flex: none;
}
.r68cfg .cfg-chapter-total {
  margin-left: 4px;
  letter-spacing: 0.06em;
  color: var(--sand);
  font-variant-numeric: tabular-nums;
}

/* ─────────────────────────────── Rows ─────────────────────────────── */

.r68cfg .cfg-panel {
  min-height: 240px;
}
.r68cfg .cfg-row {
  display: grid;
  grid-template-columns: minmax(230px, 31%) minmax(0, 1fr);
  column-gap: clamp(24px, 3.4cqw, 52px);
  padding: 26px 0 24px;
  border-bottom: 1px solid var(--line);
  animation: cfg-in 0.5s var(--ease-out) both;
}
.r68cfg .cfg-row:nth-child(2) {
  animation-delay: 0.04s;
}
.r68cfg .cfg-row:nth-child(3) {
  animation-delay: 0.08s;
}
.r68cfg .cfg-row:nth-child(4) {
  animation-delay: 0.12s;
}
.r68cfg .cfg-row:nth-child(n + 5) {
  animation-delay: 0.16s;
}
@keyframes cfg-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
.r68cfg .cfg-row-head {
  min-width: 0;
}
.r68cfg .cfg-row-label {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 11px;
  font: 500 10.5px/1.2 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mute);
  transition: color 0.3s ease;
}
.r68cfg .cfg-row-label::before {
  content: "";
  flex: none;
  width: 0;
  height: 1px;
  margin-right: 0;
  background: var(--sand);
  transition: width 0.4s var(--ease-out), margin-right 0.4s var(--ease-out);
}
.r68cfg .cfg-row[data-active] .cfg-row-label {
  color: var(--sand);
}
.r68cfg .cfg-row[data-active] .cfg-row-label::before {
  width: 18px;
  margin-right: 10px;
}
.r68cfg .cfg-row-kind {
  margin-left: auto;
  padding-left: 12px;
  font-size: 9.5px;
  letter-spacing: 0.2em;
  color: var(--faint);
}
.r68cfg .cfg-row-choice {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 12px;
  font: 400 15.5px/1.35 var(--sans);
  letter-spacing: 0.005em;
  color: var(--paper);
}
.r68cfg .cfg-row-delta {
  font: 400 11.5px/1 var(--sans);
  letter-spacing: 0.06em;
  color: var(--faint);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.r68cfg .cfg-row-delta.is-priced {
  color: var(--sand);
}
.r68cfg .cfg-row-desc {
  margin-top: 10px;
  max-width: 48ch;
  font: 300 12.5px/1.6 var(--sans);
  color: var(--dim);
}

/* ─────────────────────────────── Rails ─────────────────────────────── */

.r68cfg .cfg-rail {
  --arrow-y: 50%;
  position: relative;
  min-width: 0;
  align-self: start;
}
.r68cfg .cfg-row:not(.cfg-row-opt) .cfg-rail {
  --arrow-y: calc(var(--face-h) / 2 + 5px);
}
.r68cfg .cfg-rail-track {
  position: relative;
  display: flex;
  gap: 14px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 5px;
  scrollbar-width: none;
  padding: 5px;
  margin: -5px;
}
.r68cfg .cfg-rail-track::-webkit-scrollbar {
  display: none;
}
.r68cfg .cfg-rail.can-r .cfg-rail-track {
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent 100%);
  mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent 100%);
}
.r68cfg .cfg-rail.can-l .cfg-rail-track {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px);
  mask-image: linear-gradient(90deg, transparent 0, #000 64px);
}
.r68cfg .cfg-rail.can-l.can-r .cfg-rail-track {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.r68cfg .cfg-rail-arrow {
  position: absolute;
  top: var(--arrow-y);
  z-index: 2;
  display: none;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--line-2);
  border-radius: 50%;
  background: rgba(10, 10, 10, 0.9);
  color: var(--paper);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition: opacity 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}
.r68cfg .cfg-rail-arrow:hover {
  border-color: var(--sand);
}
.r68cfg .cfg-rail-arrow.is-l {
  left: 0;
}
.r68cfg .cfg-rail-arrow.is-r {
  right: 0;
}
/* pointer devices: arrows appear over the faded edge while the rail is hovered */
@media (hover: hover) and (pointer: fine) {
  .r68cfg .cfg-rail-arrow {
    display: grid;
  }
  .r68cfg .cfg-rail.can-l:hover .cfg-rail-arrow.is-l,
  .r68cfg .cfg-rail.can-r:hover .cfg-rail-arrow.is-r {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ─────────────────────────────── Chips ─────────────────────────────── */

.r68cfg .cfg-chip {
  flex: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-align: left;
  scroll-snap-align: start;
}

/* paint card */
.r68cfg .cfg-card {
  display: flex;
  flex-direction: column;
  gap: 11px;
  width: calc(var(--face-w) + 8px);
}
.r68cfg .cfg-card-face {
  position: relative;
  display: block;
  width: var(--face-w);
  height: var(--face-h);
  background-color: #191816;
  background-repeat: no-repeat;
  background-position: 50% 46%;
  background-size: auto 178%;
  box-shadow: inset 0 0 0 1px rgba(245, 242, 236, 0.1);
  outline: 1px solid transparent;
  outline-offset: 4px;
  transition: outline-color 0.3s ease, outline-offset 0.35s var(--ease-out), transform 0.45s var(--ease-out);
}
.r68cfg .cfg-card[data-style="object"] .cfg-card-face {
  background-color: #e9e6df;
  background-size: 86% auto;
  background-position: 50% 50%;
  background-blend-mode: multiply;
  box-shadow: none;
}
.r68cfg .cfg-card[data-style="none"] .cfg-card-face {
  background: linear-gradient(to top right, transparent calc(50% - 0.6px), rgba(245, 242, 236, 0.3) 50%, transparent calc(50% + 0.6px));
  box-shadow: inset 0 0 0 1px var(--line-2);
}
.r68cfg .cfg-card:hover .cfg-card-face {
  transform: translateY(-2px);
}
.r68cfg .cfg-card[aria-checked="true"] .cfg-card-face {
  outline-color: var(--sand);
  outline-offset: 3px;
  transform: none;
}
.r68cfg .cfg-card:focus-visible {
  outline: none;
}
.r68cfg .cfg-card:focus-visible .cfg-card-face {
  outline: 1px dashed var(--sand);
  outline-offset: 3px;
}
.r68cfg .cfg-card[aria-checked="true"]:focus-visible .cfg-card-face {
  outline-style: solid;
  outline-offset: 5px;
}
.r68cfg .cfg-tick {
  position: absolute;
  top: 5px;
  right: 5px;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--sand);
  color: var(--ink);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.2s ease, transform 0.35s var(--ease-out);
}
.r68cfg .cfg-chip[aria-checked="true"] .cfg-tick {
  opacity: 1;
  transform: none;
}
.r68cfg .cfg-card-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font: 500 9.5px/1.3 var(--sans);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--faint);
  /* whole words only; a long word may run a few px into the gap */
  overflow-wrap: normal;
  word-break: keep-all;
  white-space: normal;
}
.r68cfg .cfg-card-name {
  color: var(--dim);
  transition: color 0.25s ease;
}
.r68cfg .cfg-card:hover .cfg-card-name,
.r68cfg .cfg-card[aria-checked="true"] .cfg-card-name {
  color: var(--paper);
}
.r68cfg .cfg-card[aria-checked="true"] .cfg-card-code {
  color: var(--sand);
}
.r68cfg .cfg-card-price {
  color: var(--sand);
  letter-spacing: 0.06em;
}

/* text chip (an option without a swatch) */
.r68cfg .cfg-text {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: var(--face-h);
  padding: 0 22px;
  border: 1px solid var(--line-2);
  font: 400 13px/1.2 var(--sans);
  color: var(--dim);
  transition: border-color 0.25s ease, color 0.25s ease;
}
.r68cfg .cfg-text:hover {
  color: var(--paper);
  border-color: rgba(245, 242, 236, 0.4);
}
.r68cfg .cfg-text[aria-checked="true"] {
  border-color: var(--sand);
  color: var(--paper);
}
.r68cfg .cfg-text-price {
  color: var(--sand);
  font-size: 11.5px;
}

/* performance toggle */
.r68cfg .cfg-toggle {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 7px;
  align-items: center;
  min-width: 176px;
  max-width: 300px;
  padding: 15px 20px 15px 16px;
  border: 1px solid var(--line-2);
  color: var(--dim);
  transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
.r68cfg .cfg-toggle:hover {
  color: var(--paper);
  border-color: rgba(245, 242, 236, 0.4);
}
.r68cfg .cfg-toggle[aria-checked="true"] {
  border-color: var(--sand);
  color: var(--paper);
  background: rgba(203, 186, 156, 0.05);
}
.r68cfg .cfg-toggle-mark {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(245, 242, 236, 0.36);
  color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.r68cfg .cfg-toggle[data-kind="radio"] .cfg-toggle-mark {
  border-radius: 50%;
}
.r68cfg .cfg-toggle[aria-checked="true"] .cfg-toggle-mark {
  border-color: var(--sand);
  background: var(--sand);
  color: var(--ink);
}
.r68cfg .cfg-toggle-name {
  font: 400 13px/1.3 var(--sans);
  white-space: normal;
}
.r68cfg .cfg-toggle-price {
  font: 400 11px/1 var(--sans);
  letter-spacing: 0.06em;
  color: var(--faint);
  font-variant-numeric: tabular-nums;
}
.r68cfg .cfg-toggle[aria-checked="true"] .cfg-toggle-price {
  color: var(--sand);
}

.r68cfg .cfg-panel-foot {
  display: flex;
  justify-content: flex-end;
  padding: 26px 0 4px;
}
.r68cfg .cfg-next {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border: 0;
  background: none;
  color: var(--paper);
  font: 500 11.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.r68cfg .cfg-next-k {
  color: var(--faint);
}
.r68cfg .cfg-next svg {
  color: var(--sand);
  transition: transform 0.35s var(--ease-out);
}
.r68cfg .cfg-next:hover svg {
  transform: translateX(5px);
}

/* ─────────────────────────────── Build sheet ─────────────────────────────── */

.r68cfg .cfg-aside {
  position: sticky;
  top: calc(var(--cfg-nav) + 28px);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - var(--cfg-nav) - 56px);
  min-height: 0;
}
@media (max-height: 620px) {
  .r68cfg .cfg-aside {
    position: relative;
    top: auto;
    max-height: none;
  }
}
.r68cfg .cfg-sheet {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}
.r68cfg .cfg-sheet-column {
  border-top: 1px solid var(--sand);
  padding-top: 26px;
}
.r68cfg .cfg-aside.is-flash .cfg-sheet-column {
  animation: cfg-flash 1.4s var(--ease) 1;
}
@keyframes cfg-flash {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(203, 186, 156, 0);
  }
  30% {
    box-shadow: 0 -1px 0 0 var(--sand), 0 0 0 12px rgba(203, 186, 156, 0.08);
  }
}
.r68cfg .cfg-sheet-head {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.r68cfg .cfg-sheet-title {
  margin-top: 14px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 36px;
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--paper);
}
.r68cfg .cfg-sheet-meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 14px;
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--faint);
}
.r68cfg .cfg-sheet-code {
  color: var(--paper);
  letter-spacing: 0.2em;
  font-variant-numeric: tabular-nums;
}
.r68cfg .cfg-sheet-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(245, 242, 236, 0.18) transparent;
  padding: 6px 2px 10px 0;
  margin-right: -2px;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%);
}
.r68cfg .cfg-ledger {
  padding-top: 16px;
}
.r68cfg .cfg-ledger-h {
  margin-bottom: 4px;
  font: 500 10px/1 var(--sans);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--sand);
}
.r68cfg .cfg-line {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) auto;
  align-items: baseline;
  gap: 12px;
  width: 100%;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--line-3);
  background: none;
  text-align: left;
  font: 400 12.5px/1.4 var(--sans);
  color: var(--paper);
}
.r68cfg .cfg-line-k {
  color: var(--faint);
  font-size: 11.5px;
  letter-spacing: 0.01em;
}
.r68cfg .cfg-line-v {
  transition: color 0.2s ease;
}
.r68cfg .cfg-line-p {
  color: var(--sand);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.r68cfg .cfg-line:hover .cfg-line-v {
  color: var(--sand);
}
.r68cfg .cfg-sheet-foot {
  flex: none;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.r68cfg .cfg-sums > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 3px 0;
  font: 400 12px/1.5 var(--sans);
  color: var(--faint);
  font-variant-numeric: tabular-nums;
}
.r68cfg .cfg-sums dd {
  color: var(--dim);
}
.r68cfg .cfg-total {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 12px;
  margin: 16px 0 20px;
}
.r68cfg .cfg-total-k {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  font: 500 10px/1 var(--sans);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--faint);
}
.r68cfg .cfg-total-v { margin-left: auto; white-space: nowrap; }

/* AED | USD switch (AED by default) */
.r68cfg .cfg-cur {
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 999px;
}
.r68cfg .cfg-cur-b {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--faint);
  padding: 7px 11px;
  font: 500 10px/1 var(--sans);
  letter-spacing: 0.18em;
  cursor: pointer;
  transition: background-color 0.2s var(--ease), color 0.2s var(--ease);
}
.r68cfg .cfg-cur-b:hover { color: var(--paper); }
.r68cfg .cfg-cur-b[aria-pressed="true"] { background: var(--sand); color: var(--ink); }
.r68cfg .cfg-cur-b:focus-visible { outline: 1px solid var(--sand); outline-offset: 2px; }
.r68cfg .cfg-total-v {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(34px, 2.6vw, 44px);
  line-height: 0.9;
  letter-spacing: 0.01em;
  color: var(--sand);
  font-variant-numeric: tabular-nums;
}

/* buttons */
.r68cfg .cfg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid transparent;
  background: none;
  font: 500 11.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.r68cfg .cfg-btn-primary {
  width: 100%;
  min-height: 54px;
  padding: 0 22px;
  background: var(--sand);
  border-color: var(--sand);
  color: var(--ink);
}
.r68cfg .cfg-btn-primary:hover {
  background: var(--paper);
  border-color: var(--paper);
}
.r68cfg .cfg-btn-primary svg {
  transition: transform 0.35s var(--ease-out);
}
.r68cfg .cfg-btn-primary:hover svg {
  transform: translateX(4px);
}
.r68cfg .cfg-btn-primary:disabled {
  opacity: 0.6;
  cursor: default;
}
.r68cfg .cfg-btn-quiet {
  width: 100%;
  min-height: 46px;
  margin-top: 6px;
  color: var(--dim);
  letter-spacing: 0.2em;
}
.r68cfg .cfg-btn-quiet:hover {
  color: var(--paper);
}
.r68cfg .cfg-btn-quiet svg {
  color: var(--sand);
}

/* floating bar + drawer (below 1200px) */
.r68cfg.cfg-layer .cfg-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 70;
  padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
  transform: translateY(120%);
  transition: transform 0.5s var(--ease-out);
}
.r68cfg.cfg-layer .cfg-bar[data-visible] {
  transform: none;
}
.r68cfg.cfg-layer .cfg-bar-btn {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 11px 16px 11px 18px;
  border: 1px solid var(--line-2);
  background: rgba(10, 10, 10, 0.9);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--paper);
  text-align: left;
  pointer-events: auto;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
}
.r68cfg.cfg-layer .cfg-bar[data-visible] .cfg-bar-btn {
  pointer-events: auto;
}
.r68cfg.cfg-layer .cfg-bar:not([data-visible]) .cfg-bar-btn {
  pointer-events: none;
}
.r68cfg.cfg-layer .cfg-bar-k {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.r68cfg.cfg-layer .cfg-bar-code {
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.2em;
  color: var(--dim);
}
.r68cfg.cfg-layer .cfg-bar-total {
  margin-left: auto;
  font-family: var(--display);
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--sand);
  font-variant-numeric: tabular-nums;
}
.r68cfg.cfg-layer .cfg-bar-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 16px;
  border-left: 1px solid var(--line);
  font: 500 10.5px/1 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.r68cfg.cfg-layer .cfg-drawer-mask {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, 0.62);
  animation: cfg-fade 0.3s ease both;
}
.r68cfg.cfg-layer .cfg-drawer {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 720px;
  max-height: min(88vh, 900px);
  max-height: min(88dvh, 900px);
  padding: 30px 22px calc(18px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--sand);
  background: var(--ink);
  animation: cfg-rise 0.45s var(--ease-out) both;
}
.r68cfg.cfg-layer .cfg-drawer::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 36px;
  height: 2px;
  margin-left: -18px;
  background: var(--line-2);
}
.r68cfg.cfg-layer .cfg-drawer-close {
  position: absolute;
  top: 22px;
  right: 18px;
  z-index: 1;
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-sheet-drawer {
  min-height: 0;
  flex: 1 1 auto;
}
.r68cfg.cfg-layer .cfg-sheet-drawer .cfg-sheet-title {
  font-size: 32px;
}
@keyframes cfg-fade {
  from {
    opacity: 0;
  }
}
@keyframes cfg-rise {
  from {
    transform: translateY(40px);
    opacity: 0;
  }
}

/* ─────────────────────────────── Full view ─────────────────────────────── */

.r68cfg.cfg-layer .cfg-full {
  position: fixed;
  inset: 0;
  z-index: 95;
  background: var(--ink-2);
  color: var(--paper);
  animation: cfg-fade 0.3s ease both;
}
.r68cfg.cfg-layer .cfg-full-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  container-type: size;
  cursor: zoom-in;
}
.r68cfg.cfg-layer .cfg-full-stage[data-zoom] {
  cursor: zoom-out;
}
.r68cfg.cfg-layer .cfg-full-stage .cfg-canvas {
  transform-origin: var(--ox, 50%) var(--oy, 50%);
  transition: transform 0.5s var(--ease-out);
}
.r68cfg.cfg-layer .cfg-full-stage[data-zoom] .cfg-canvas {
  transform: scale(2);
}
/* the whole square, as large as the screen allows; whole-car views keep the studio to the edges */
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view] {
  --s: min(100cqw - 40px, 100cqh - 136px);
  --x: calc((100cqw - var(--s)) / 2);
  --y: calc((100cqh - var(--s)) / 2 + 6px);
}
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="lights-2"] .cfg-backdrop,
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="interior-3"] .cfg-backdrop,
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="interior-1"] .cfg-backdrop {
  display: none;
}
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="lights-2"],
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="interior-3"],
.r68cfg.cfg-layer .cfg-full .cfg-slot[data-view="interior-1"] {
  --sx-feather: 0%;
}
.r68cfg.cfg-layer .cfg-full-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px clamp(16px, 2.4vw, 32px);
  background: linear-gradient(to bottom, rgba(6, 6, 6, 0.75), rgba(6, 6, 6, 0));
  pointer-events: none;
}
.r68cfg.cfg-layer .cfg-full-bar > * {
  pointer-events: auto;
}
.r68cfg.cfg-layer .cfg-full-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font: 500 11px/1 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.r68cfg.cfg-layer .cfg-full-hint {
  margin-left: auto;
  font: 500 10px/1 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--faint);
}
.r68cfg.cfg-layer .cfg-full-close {
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-full-prev,
.r68cfg.cfg-layer .cfg-full-next {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 46px;
  height: 46px;
  margin-top: -23px;
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-full-prev {
  left: clamp(12px, 2vw, 28px);
}
.r68cfg.cfg-layer .cfg-full-next {
  right: clamp(12px, 2vw, 28px);
}

/* ─────────────────────────────── Quote request ─────────────────────────────── */

.r68cfg.cfg-layer .cfg-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 96;
  display: grid;
  place-items: center;
  padding: 24px 14px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(0, 0, 0, 0.72);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  animation: cfg-fade 0.3s ease both;
}
.r68cfg.cfg-layer .cfg-modal {
  position: relative;
  width: min(700px, 100%);
  padding: clamp(28px, 5vw, 52px);
  border-top: 1px solid var(--sand);
  background: var(--ink);
  color: var(--paper);
  animation: cfg-rise 0.45s var(--ease-out) both;
}
.r68cfg.cfg-layer .cfg-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-modal-title {
  margin: 14px 0 22px;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(36px, 6vw, 54px);
  line-height: 0.92;
  letter-spacing: 0.005em;
  text-transform: uppercase;
}
.r68cfg.cfg-layer .cfg-modal-spec {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  padding: 15px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font: 500 10.5px/1.2 var(--sans);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--dim);
}
.r68cfg.cfg-layer .cfg-modal-spec span:last-child {
  margin-left: auto;
  color: var(--sand);
}
.r68cfg.cfg-layer .cfg-modal-sub {
  margin-top: 22px;
  max-width: 52ch;
  font: 300 14px/1.6 var(--sans);
  color: var(--dim);
}
.r68cfg.cfg-layer .cfg-modal-lead {
  margin-top: 26px;
  font: 400 20px/1.3 var(--sans);
}
.r68cfg.cfg-layer .cfg-modal-sub strong {
  font-weight: 500;
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 30px;
  margin: 30px 0 26px;
}
.r68cfg.cfg-layer .cfg-field-wide {
  grid-column: 1 / -1;
}
.r68cfg.cfg-layer .cfg-field > label {
  display: block;
  margin-bottom: 9px;
  font: 500 10px/1 var(--sans);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mute);
}
.r68cfg.cfg-layer .cfg-input {
  width: 100%;
  margin: 0;
  padding: 8px 0 11px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  font: 400 15px/1.4 var(--sans);
  letter-spacing: 0.01em;
  -webkit-appearance: none;
  appearance: none;
}
.r68cfg.cfg-layer .cfg-field-line {
  border-bottom: 1px solid var(--line-2);
  transition: border-color 0.25s ease;
}
.r68cfg.cfg-layer .cfg-field-line:focus,
.r68cfg.cfg-layer .cfg-field-line:focus-within {
  border-bottom-color: var(--sand);
  outline: none;
}
.r68cfg.cfg-layer .cfg-input:focus-visible {
  outline: none;
}
.r68cfg.cfg-layer .cfg-field-line[aria-invalid="true"],
.r68cfg.cfg-layer .cfg-field-line[data-invalid] {
  border-bottom-color: #d98c7a;
}
.r68cfg.cfg-layer .cfg-textarea {
  resize: vertical;
  min-height: 46px;
}
.r68cfg.cfg-layer .cfg-error {
  margin-top: 8px;
  font: 400 11.5px/1.4 var(--sans);
  color: #e3a493;
}
.r68cfg.cfg-layer .cfg-error-block {
  margin-top: 16px;
}
.r68cfg.cfg-layer .cfg-phone {
  position: relative;
}
.r68cfg.cfg-layer .cfg-phone-line {
  display: flex;
  align-items: center;
  gap: 12px;
}
.r68cfg.cfg-layer .cfg-phone-line .cfg-input {
  flex: 1;
  min-width: 0;
}
.r68cfg.cfg-layer .cfg-phone-country {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  padding: 8px 12px 11px 0;
  border: 0;
  border-right: 1px solid var(--line);
  background: none;
  font: 400 14px/1.4 var(--sans);
  color: var(--paper);
}
.r68cfg.cfg-layer .cfg-phone-country img {
  display: block;
  width: 18px;
  height: 12px;
  object-fit: cover;
}
.r68cfg.cfg-layer .cfg-phone-country svg {
  color: var(--faint);
}
.r68cfg.cfg-layer .cfg-phone-pop {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 3;
  border: 1px solid var(--line-2);
  background: #111;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.r68cfg.cfg-layer .cfg-phone-search {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.r68cfg.cfg-layer .cfg-phone-list {
  max-height: 240px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 4px 0;
}
.r68cfg.cfg-layer .cfg-phone-opt {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 9px 14px;
  border: 0;
  background: none;
  text-align: left;
  font: 400 13.5px/1.3 var(--sans);
  color: var(--dim);
}
.r68cfg.cfg-layer .cfg-phone-opt:hover,
.r68cfg.cfg-layer [aria-selected="true"] > .cfg-phone-opt {
  color: var(--paper);
  background: rgba(245, 242, 236, 0.05);
}
.r68cfg.cfg-layer .cfg-phone-opt img {
  width: 18px;
  height: 12px;
  object-fit: cover;
}
.r68cfg.cfg-layer .cfg-phone-dial {
  margin-left: auto;
  color: var(--faint);
  font-variant-numeric: tabular-nums;
}
.r68cfg.cfg-layer .cfg-consent {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
  font: 300 12.5px/1.6 var(--sans);
  color: var(--dim);
}
.r68cfg.cfg-layer .cfg-consent input {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
}
.r68cfg.cfg-layer .cfg-consent-box {
  display: grid;
  place-items: center;
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1px solid rgba(245, 242, 236, 0.4);
  color: transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.r68cfg.cfg-layer .cfg-consent input:checked + .cfg-consent-box {
  border-color: var(--sand);
  background: var(--sand);
  color: var(--ink);
}
.r68cfg.cfg-layer .cfg-consent input:focus-visible + .cfg-consent-box {
  outline: 1px solid var(--sand);
  outline-offset: 3px;
}
.r68cfg.cfg-layer .cfg-consent[data-invalid] .cfg-consent-box {
  border-color: #d98c7a;
}
.r68cfg.cfg-layer .cfg-modal-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  margin-top: 32px;
}
.r68cfg.cfg-layer .cfg-modal-foot .cfg-btn-primary {
  width: auto;
  min-width: 220px;
}
.r68cfg.cfg-layer .cfg-modal-foot .cfg-btn-quiet {
  width: auto;
  margin: 0;
  padding: 0 8px;
}

/* ─────────────────────────────── Responsive ─────────────────────────────── */

@media (max-width: 1199px) {
  .r68cfg .cfg-panel {
    padding-bottom: 96px; /* room above the floating build-sheet bar */
  }
  .r68cfg .cfg-chapter-tabs {
    gap: clamp(18px, 2.6cqw, 32px);
  }
  .r68cfg .cfg-chapter-tab,
  .r68cfg .cfg-chapter-sheet {
    font-size: 11px;
    letter-spacing: 0.16em;
  }
  .r68cfg .cfg-chapter-total {
    display: none;
  }
}
@media (max-width: 899px) {
  .r68cfg .cfg-row {
    grid-template-columns: minmax(200px, 34%) minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .r68cfg {
    --face-w: 54px;
    --face-h: 74px;
    --fill-w: 0.86;
    --fill-h: 0.7;
  }
  .r68cfg .cfg-stage-ui {
    padding: 56px 16px 12px;
    gap: 12px;
  }
  .r68cfg .cfg-icon-btn {
    width: 36px;
    height: 36px;
  }
  .r68cfg .cfg-full-btn {
    margin-left: 2px;
  }
  .r68cfg .cfg-chapters {
    padding-inline: 24px;
    gap: 22px;
  }
  .r68cfg .cfg-chapter-tabs {
    gap: 22px;
    margin-right: -24px;
    padding-right: 24px;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent);
  }
  .r68cfg .cfg-chapter-tab,
  .r68cfg .cfg-chapter-sheet {
    padding: 19px 0 17px;
    font-size: 11px;
  }
  .r68cfg .cfg-chapter-sheet {
    display: none;
  }
  .r68cfg .cfg-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
    padding: 24px 0 22px;
  }
  .r68cfg .cfg-row-choice {
    font-size: 15px;
  }
  .r68cfg .cfg-row-desc {
    margin-top: 8px;
    font-size: 12.5px;
  }
  .r68cfg .cfg-rail-track {
    margin-right: calc(50% - 50vw);
    padding-right: 24px;
  }
  .r68cfg .cfg-toggle {
    min-width: 156px;
  }
  .r68cfg.cfg-layer .cfg-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  .r68cfg.cfg-layer .cfg-modal-foot {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 6px;
  }
  .r68cfg.cfg-layer .cfg-modal-foot .cfg-btn-primary {
    width: 100%;
  }
  .r68cfg.cfg-layer .cfg-modal-spec span:last-child {
    margin-left: 0;
  }
  .r68cfg.cfg-layer .cfg-full-hint {
    display: none;
  }
  .r68cfg.cfg-layer .cfg-full-close {
    margin-left: auto;
  }
  .r68cfg.cfg-layer .cfg-full .cfg-slot[data-view] {
    --s: min(100cqw, 100cqh - 150px);
  }
  .r68cfg.cfg-layer .cfg-full-prev,
  .r68cfg.cfg-layer .cfg-full-next {
    top: auto;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .r68cfg *,
  .r68cfg *::before,
  .r68cfg *::after {
    animation-duration: 0.001s !important;
    animation-delay: 0s !important;
    transition-duration: 0.001s !important;
    scroll-behavior: auto !important;
  }
}
