@media (max-width:767px) {
  :root { --dmn-panel-side-gap:12px; }
  nav.dmn-mobile-dock [data-dmn-page="home"] { display:none !important; }
  /* The existing marker's coordinates are calculated in DOM order, which differs from this layout. */
  nav.dmn-mobile-dock::after { display:none !important; }
  nav.dmn-mobile-dock [data-dmn-page="collections"] { order:1; }
  nav.dmn-mobile-dock [data-dmn-page="fitting"] { order:2; }
  nav.dmn-mobile-dock [data-dmn-page="fabric"] { order:3; }
  nav.dmn-mobile-dock [data-dmn-page="booking"] { order:4; }
  nav.dmn-mobile-dock [data-dmn-cart-open] { order:5; }
  body:has(.e-off-canvas[aria-hidden="false"]) nav.dmn-mobile-dock,
  body:has(.dmn-cart-shell.is-open) nav.dmn-mobile-dock { pointer-events:auto !important; }
  /* Show the open drawer as the sole selection, even on a collection or fitting page. */
  body:has(.dmn-extra-panel:not([hidden])) nav.dmn-mobile-dock [aria-current="page"]:not([aria-expanded="true"]),
  body:has(.e-off-canvas[aria-hidden="false"]) nav.dmn-mobile-dock [aria-current="page"]:not([aria-expanded="true"]),
  body:has(.dmn-cart-shell[aria-hidden="false"]) nav.dmn-mobile-dock [aria-current="page"]:not([aria-expanded="true"]) {
    background:transparent !important; color:#514b41 !important; font-weight:500 !important;
  }
  /* Override the theme's pink button hover/focus styling within the dock. */
  nav.dmn-mobile-dock button.dmn-mobile-dock__item,
  nav.dmn-mobile-dock button.dmn-mobile-dock__item:hover,
  nav.dmn-mobile-dock button.dmn-mobile-dock__item:focus,
  nav.dmn-mobile-dock button.dmn-mobile-dock__item:active {
    background:transparent !important; color:#514b41 !important; border:0 !important;
  }
  nav.dmn-mobile-dock button.dmn-mobile-dock__item[aria-expanded="true"] {
    background:#ede7dc !important; color:#302a22 !important;
  }
  nav.dmn-mobile-dock button.dmn-mobile-dock__item:focus-visible {
    outline:2px solid #756649 !important; outline-offset:-3px;
  }
  .dmn-extra-panel[hidden] { display:none !important; }
  .dmn-extra-panel { position:fixed; inset:0; z-index:100002; }
  .dmn-extra-panel__scrim { position:absolute; inset:0; background:rgba(25,23,20,.48); }
  .dmn-extra-panel__sheet { position:absolute; top:calc(10px + env(safe-area-inset-top,0px)); right:0; width:min(440px, calc(100% - var(--dmn-panel-side-gap))); height:calc(100dvh - 102px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); border-radius:16px; background:#fff; display:flex; flex-direction:column; overflow:hidden; box-shadow:-8px 0 28px rgba(35,27,19,.16); animation:dmn-extra-open .36s cubic-bezier(.2,.7,.25,1) both; }
  .dmn-extra-panel__sheet { box-sizing:border-box; padding-bottom:16px; }
  .dmn-extra-panel__sheet::after { content:""; position:absolute; right:0; top:0; bottom:0; width:24px; z-index:2; pointer-events:none; background:linear-gradient(to left,rgba(55,43,29,.19),rgba(91,75,54,.07) 35%,transparent); }
  .dmn-extra-panel__header { flex:none; display:flex; align-items:center; justify-content:space-between; padding:14px 22px; border-bottom:1px solid #e2ded5; background:#fff; }
  .dmn-extra-panel__header h2 { margin:0; font-size:26px; }
  .dmn-extra-panel__header button { min-width:44px; min-height:44px; background:transparent !important; color:#292929 !important; border:0 !important; font-size:24px; line-height:1; }
  .dmn-extra-panel__header button:focus-visible { outline:2px solid #756649; outline-offset:2px; }
  .dmn-extra-panel__body { min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 0 24px; scroll-padding-bottom:24px; }
  :is(#dmn-extra-fabric,.dmn-fabric-page) .occasion-filter { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px !important; }
  :is(#dmn-extra-fabric,.dmn-fabric-page) .occasion-filter-option { min-width:0; width:100%; min-height:44px; padding:5px 3px !important; text-align:center !important; }
  :is(#dmn-extra-fabric,.dmn-fabric-page) .occasion-filter-title { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
  :is(#dmn-extra-fabric,.dmn-fabric-page) .dmn-occasion-short { display:block; font-size:clamp(10px, 2.8vw, 12px); line-height:1.15; white-space:nowrap; }
  .dmn-panel-loading { padding:36px 24px; color:#302a22; }
  .dmn-panel-loading__copy { display:flex; flex-direction:column; align-items:flex-start; }
  .dmn-panel-loading__eyebrow { color:#8a795b; font:600 10px/1.3 sans-serif; letter-spacing:.17em; }
  .dmn-panel-loading__title { margin-top:12px; font:normal 25px/1.22 Georgia,serif; }
  .dmn-panel-loading__hint { margin-top:9px; color:#716c62; font:14px/1.5 sans-serif; }
  .dmn-panel-loading__preview { display:flex; align-items:center; gap:20px; margin-top:30px; padding:20px; border:1px solid #e6e0d4; background:#f8f6f1; }
  .dmn-panel-loading__book { position:relative; flex:0 0 76px; height:108px; background:linear-gradient(90deg,#c6b99e,#dfd6c4 16%,#e9e2d5 78%,#cbbda3); box-shadow:2px 3px 5px rgba(56,46,32,.15); }
  .dmn-panel-loading__book span { position:absolute; left:14px; right:14px; height:2px; background:rgba(122,105,76,.28); }
  .dmn-panel-loading__book span:first-child { top:35px; }
  .dmn-panel-loading__book span:last-child { top:43px; left:20px; right:20px; }
  .dmn-panel-loading__lines { flex:1; min-width:0; }
  .dmn-panel-loading__lines i { display:block; height:7px; margin:12px 0; background:#e6dfd2; animation:dmn-loading-pulse 1.6s ease-in-out infinite alternate; }
  .dmn-panel-loading__lines i:nth-child(2) { width:85%; }
  .dmn-panel-loading__lines i:nth-child(3) { width:57%; }
  .dmn-panel-loading__progress { height:3px; margin-top:20px; overflow:hidden; background:#e9e3d8; }
  .dmn-panel-loading__progress span { display:block; width:38%; height:100%; background:#8a795b; animation:dmn-loading-progress 1.35s ease-in-out infinite; }
  @keyframes dmn-loading-progress { from { transform:translateX(-105%); } to { transform:translateX(270%); } }
  @keyframes dmn-loading-pulse { from { opacity:.55; } to { opacity:1; } }
  .dmn-extra-panel__body .fitroom { border:0; }
  .dmn-cart-shell__scrim { background:rgba(25,23,20,.48) !important; border:0 !important; }
  .dmn-cart-shell__close { min-width:44px; min-height:44px; background:transparent !important; color:#292929 !important; border:0 !important; }
  .dmn-cart-shell .dmn-cart-shell__panel, body #off-canvas-dab0011 .e-off-canvas__main {
    top:calc(10px + env(safe-area-inset-top,0px)) !important;
    width:min(440px, calc(100% - var(--dmn-panel-side-gap))) !important;
    height:calc(100dvh - 102px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    bottom:auto !important; border-radius:16px; overflow:hidden;
  }
  body #off-canvas-dab0011 .e-off-canvas__main { left:auto !important; right:0 !important; box-sizing:border-box; background:#fff; padding-bottom:16px !important; box-shadow:-8px 0 28px rgba(35,27,19,.16); }
  body #off-canvas-dab0011 .e-off-canvas__content { min-height:0; height:100% !important; overflow-y:auto; box-shadow:none !important; scroll-padding-bottom:24px; }
  body #off-canvas-dab0011 .dm-appointment h2 { font-size:clamp(23px, 7vw, 28px); }
  body #off-canvas-f915829 .e-off-canvas__main {
    left:var(--dmn-panel-side-gap) !important;
    top:calc(10px + env(safe-area-inset-top,0px)) !important;
    height:calc(100dvh - 102px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    border-radius:16px; overflow:hidden;
  }
  .dmn-cart-shell.is-open .dmn-cart-shell__panel { animation:dmn-extra-open .36s cubic-bezier(.2,.7,.25,1) both; }
  .dmn-cart-shell__panel::after { content:""; position:absolute; top:0; bottom:0; right:0; width:24px; pointer-events:none; background:linear-gradient(to left,rgba(55,43,29,.19),rgba(91,75,54,.07) 35%,transparent); }
  @keyframes dmn-extra-open { from { transform:translateX(100%); } to { transform:translateX(0); } }
  @keyframes dmn-slide-in-right { from { transform:translateX(100%); } to { transform:translateX(0); } }
  @keyframes dmn-slide-in-left { from { transform:translateX(-100%); } to { transform:translateX(0); } }
  @media (prefers-reduced-motion:no-preference) {
    body .e-off-canvas .e-off-canvas__main.animated.fadeInRight { animation:dmn-slide-in-right .36s cubic-bezier(.2,.7,.25,1) both !important; }
    body #off-canvas-f915829[aria-hidden="false"] .e-off-canvas__main { animation:dmn-slide-in-left .36s cubic-bezier(.2,.7,.25,1) both !important; }
  }
  @media (prefers-reduced-motion:reduce) { .dmn-extra-panel__sheet, .dmn-cart-shell.is-open .dmn-cart-shell__panel, .dmn-panel-loading__lines i, .dmn-panel-loading__progress span { animation:none; } }
}
@media (max-width:390px) { :root { --dmn-panel-side-gap:8px; } }
.fitroom .fr-browse-tools { margin:18px 0; }
.fitroom .fr-browse-tools label { display:block; color:#625d53; font-size:13px; }
.fitroom .fr-browse-tools input { display:block; width:100%; min-height:44px; margin-top:6px; padding:10px 12px; border:1px solid #c5c0b5; background:#fff; color:#292929; font-size:15px; }
.fitroom .fr-color-title { margin:0 0 8px; color:#312e28; font-size:14px; font-weight:600; }
.fitroom .fr-color-controls { display:flex; align-items:center; gap:14px; padding:3px 0 6px; }
.fitroom .fr-color-controls[hidden] { display:none !important; }
.fitroom .fr-color-controls input.fr-color-spectrum { -webkit-appearance:none; appearance:none; display:block; flex:1 1 auto; width:100%; min-width:0; height:26px; min-height:26px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; cursor:pointer; }
.fitroom .fr-color-controls input.fr-color-spectrum::-webkit-slider-runnable-track { height:12px; border:1px solid rgba(55,48,38,.16); border-radius:99px; background:var(--spectrum); }
.fitroom .fr-color-controls input.fr-color-spectrum::-moz-range-track { height:12px; border:1px solid rgba(55,48,38,.16); border-radius:99px; background:var(--spectrum); }
.fitroom .fr-color-controls input.fr-color-spectrum::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:23px; height:23px; margin-top:-6px; border:3px solid #fff; border-radius:50%; background:var(--selected,#847b6d); box-shadow:0 0 0 1px #6f614b,0 2px 5px rgba(40,35,28,.23); }
.fitroom .fr-color-controls input.fr-color-spectrum::-moz-range-thumb { width:17px; height:17px; border:3px solid #fff; border-radius:50%; background:var(--selected,#847b6d); box-shadow:0 0 0 1px #6f614b,0 2px 5px rgba(40,35,28,.23); }
.fitroom .fr-color-controls input.fr-color-spectrum:focus-visible { outline:2px solid #756649; outline-offset:3px; border-radius:4px; }
.fitroom .fr-color-controls button.fr-color-all { flex:none; min-height:40px; padding:5px 13px; border:1px solid #c8c0b2; border-radius:5px; background:#fff; color:#51493b; font-size:12px; white-space:nowrap; }
.fitroom .fr-color-controls button.fr-color-all[aria-pressed="true"] { border-color:#30372f; background:#30372f; color:#fff; }
.fitroom .fr-color-hint { margin:1px 0 12px; color:#777064; font-size:12px; line-height:1.4; }
.fitroom .fr-browse-status { margin:6px 0 0; color:#625d53; font-size:12px; }
.fitroom .fr-photo-jump { display:none; }
@media(max-width:767px) { .fitroom .fr-intro { padding-top:22px; padding-bottom:22px; } .fitroom .fr-photo-jump { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:12px; padding:8px 16px; border:1px solid #756649; background:#fff; color:#62553b; } }
/* Keep the appointment close control borderless at all screen sizes. */
.e-off-canvas .dm-appointment__close { border:0 !important; }

/* Suit-only fitting room; keep the rest of the catalogue unchanged. */
.fitroom .fr-section-heading + .fr-picker-label,
.fitroom .fr-categories { display:none !important; }

/* Fitting room: share the warm editorial treatment of Choose Fabric. */
.fitroom.fitroom {
  --fr-ink:#302a22; --fr-muted:#625d53; --fr-gold:#8a795b;
  --fr-paper:#faf9f6; --fr-stone:#f1eee7; --fr-line:#dfd9cc;
  background:#faf9f6; border:0; padding:0 24px 64px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.fitroom.fitroom .fr-intro { display:block; padding:48px 0 32px; background:transparent; }
.fitroom.fitroom .fr-intro>div:first-child { max-width:700px; }
.fitroom.fitroom .fr-intro h2 { font-family:var(--fr-serif); font-size:clamp(36px,5vw,58px); line-height:1.12; letter-spacing:0; margin:12px 0 18px; }
.fitroom.fitroom .fr-intro h2 br { display:none; }
.fitroom.fitroom .fr-intro h2 em { font-style:normal; color:inherit; }
.fitroom.fitroom .fr-intro h2 em::before { content:' '; white-space:pre; }
.fitroom.fitroom .fr-intro p:not(.fr-eyebrow) { color:#625d53; font:400 16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-intro-note { display:none; }
.fitroom.fitroom .fr-workspace { background:#fff; border:1px solid var(--fr-line); padding:32px; gap:36px; }
.fitroom.fitroom .fr-section-heading h3 { font:400 22px/1.3 var(--fr-serif); }
.fitroom.fitroom .fr-badge { background:transparent; color:#84755a; padding:0; }
.fitroom.fitroom .fr-section+.fr-section { border-color:var(--fr-line); }
.fitroom.fitroom .fr-color-title, .fitroom.fitroom .fr-picker-label, .fitroom.fitroom .fr-selection-label,
.fitroom.fitroom .fr-scenes legend, .fitroom.fitroom .fr-quality-label { color:#514a40; font:600 13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-browse-tools { margin:16px 0 22px; }
.fitroom.fitroom .fr-browse-tools input[type="search"] { border-color:#ded8cd; border-radius:0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-color-controls button.fr-color-all { border-color:#d8d1c5; border-radius:0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-color-controls button.fr-color-all[aria-pressed="true"] { background:#252c25; border-color:#252c25; }
.fitroom.fitroom .fr-product-row { gap:8px; }
.fitroom.fitroom button.fr-product-thumb .fr-thumb-name { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; font-size:12px; }
.fitroom.fitroom .fr-garment { background:#faf9f6; border:1px solid var(--fr-line); }
.fitroom.fitroom .fr-preview { background:#faf9f6; border:1px solid var(--fr-line); }
.fitroom.fitroom .fr-preview-stage { background:#f0eee8; }
.fitroom.fitroom .drop { background:#faf9f6; }
.fitroom.fitroom .fr-footer { margin:0; }
@media(max-width:767px) {
  .fitroom.fitroom { padding:0 16px 40px; }
  .fitroom.fitroom .fr-intro { padding:28px 0 24px; }
  .fitroom.fitroom .fr-intro h2 { font-size:36px; margin:10px 0 12px; }
  .fitroom.fitroom .fr-intro h2 br { display:inline; }
  .fitroom.fitroom .fr-intro h2 em::before { content:none; }
  .fitroom.fitroom .fr-intro p:not(.fr-eyebrow) { font-size:14px; }
  .fitroom.fitroom .fr-workspace { padding:18px 14px; gap:28px; }
  .fitroom.fitroom .fr-section-heading h3 { font-size:20px; }
  .fitroom.fitroom .fr-browse-tools { margin:8px 0 6px; }
  .fitroom.fitroom .fr-sticky-picker .fr-section-heading { margin-bottom:8px; }
  .fitroom.fitroom .fr-sticky-picker .fr-color-title { margin-bottom:4px; }
  .fitroom.fitroom .fr-sticky-picker .fr-color-controls { padding:1px 0 2px; }
  .fitroom.fitroom .fr-preview { padding:14px; }
  .dmn-extra-panel__body .fitroom.fitroom { padding:0 14px 32px; }
  .dmn-extra-panel__body .fitroom.fitroom .fr-intro { padding-top:22px; }
  .dmn-extra-panel__body .fitroom.fitroom .fr-intro h2 { font-size:32px; }
}

/* The standalone fitting-room page shares the fabric finder's full-width paper. */
main .elementor-1914 .elementor-element-543d3be { background-color:#faf9f6; }

/* Keep matching feedback available to screen readers without displaying it. */
.fitroom.fitroom .fr-browse-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fitroom.fitroom .fr-color-hint[hidden] { display:none !important; }

/* Fitting-room color choices loading state. */
.fitroom.fitroom .fr-shade-loading { display:flex; flex-direction:column; gap:10px; padding:12px 14px; margin:6px 0 10px; color:#625d53; border:1px solid #dfd9cc; background:#faf9f6; font:400 13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-shade-loading[hidden] { display:none; }
.fitroom.fitroom .fr-shade-loading__bar { display:block; position:relative; overflow:hidden; height:3px; background:#e9e3d8; }
.fitroom.fitroom .fr-shade-loading__bar::after { content:""; display:block; height:100%; width:38%; background:#8a795b; animation:fr-shade-progress 1.35s ease-in-out infinite; }
@keyframes fr-shade-progress { from { transform:translateX(-105%); } to { transform:translateX(270%); } }
@media(prefers-reduced-motion:reduce) { .fitroom.fitroom .fr-shade-loading__bar::after { animation:none; } }

/* Square reference imagery: suit portrait and its matching fabric side by side. */
.fitroom.fitroom .fr-product-thumb .fr-thumb-photo.fr-thumb-paired { display:flex; width:100%; aspect-ratio:1 / 1; overflow:hidden; }
.fitroom.fitroom .fr-product-thumb .fr-thumb-photo.fr-thumb-paired > img { display:block; flex:0 0 50%; width:50%; min-width:0; height:100%; aspect-ratio:auto; object-fit:cover; }
.fitroom.fitroom .fr-product-thumb .fr-thumb-photo.fr-thumb-paired > img:first-child { object-position:center top; }
.fitroom.fitroom .fr-product-thumb .fr-thumb-photo.fr-thumb-paired > img.fr-thumb-fabric { object-position:center; }

/* Show a partial next card to invite horizontal scrolling. */
.fitroom.fitroom .fr-product-row > button.fr-product-thumb {
  flex:0 0 calc(45.4545% - 7.273px);
  min-width:0;
}
@media (max-width:767px) {
  .fitroom.fitroom .fr-product-row > button.fr-product-thumb {
    flex-basis:calc(83.3333% - 6.667px);
  }
}

/* Match the standalone fabric finder's centered content width. */
main .elementor-1914 .elementor-element-543d3be {
  padding-left:0;
  padding-right:0;
}
main .elementor-1914 .elementor-element-543d3be > .e-con-inner {
  max-width:none;
  width:100%;
}
main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom {
  box-sizing:border-box;
  width:100%;
  max-width:1288px;
}

/* Mouse drag complements the carousel's native touch swipe. */
@media (hover:hover) and (pointer:fine) {
  .fitroom.fitroom .fr-product-row, .fitroom.fitroom .fr-product-row .fr-product-thumb { cursor:grab; user-select:none; }
}

@media (hover:hover) and (pointer:fine) {.fitroom.fitroom .fr-product-row {scroll-snap-type:none !important;scroll-behavior:auto !important;}}

/* Desktop mirror pairs the reference image and the existing photo controls. */
@media (min-width:1024px) {
  .fitroom.fitroom .fr-preview-stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; align-content:center; align-items:start; padding:26px 20px; overflow:visible; box-sizing:border-box; }
  .fitroom.fitroom .fr-preview-placeholder { display:contents; }
  .fitroom.fitroom .fr-preview-placeholder .fr-preview-reference { grid-column:1; grid-row:1; width:min(100%,175px); height:250px; box-sizing:border-box; margin:14px auto 18px; }
  .fitroom.fitroom .fr-preview-placeholder > .fr-preview-kicker,
  .fitroom.fitroom .fr-preview-placeholder > h4,
  .fitroom.fitroom .fr-preview-placeholder > p,
  .fitroom.fitroom .fr-preview-placeholder > .fr-reference-label { grid-column:1 / -1; text-align:center; }
  .fitroom.fitroom .fr-preview-placeholder > h4,
  .fitroom.fitroom .fr-preview-placeholder > p { margin:0; }
  .fitroom.fitroom .fr-mirror-photo { grid-column:2; grid-row:1; width:100%; min-width:0; margin:0; padding:0; border:0; }
  .fitroom.fitroom .fr-mirror-photo .fr-section-heading { display:none; }
  .fitroom.fitroom .fr-mirror-photo .drop { width:min(100%,220px); min-height:250px; margin:0 auto; padding:14px; box-sizing:border-box; border:8px solid #fff; background:#f0eee8; box-shadow:0 10px 28px rgba(40,35,26,.1); }
  .fitroom.fitroom .fr-mirror-photo .drop:hover { background:#f5f2eb; }
  .fitroom.fitroom .fr-mirror-photo .drop strong { font-size:19px; }
  .fitroom.fitroom .fr-mirror-photo .drop p { line-height:1.4; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-tools { justify-content:center; text-align:center; }
  .fitroom.fitroom .fr-preview-stage > .result { grid-column:1; grid-row:1; min-width:0; }
  .fitroom.fitroom[data-state="complete"] .fr-preview-placeholder,
  .fitroom.fitroom[data-state="generating"] .fr-preview-placeholder { display:none; }
}

/* Keep upload and camera actions together within the desktop photo frame. */
.fitroom.fitroom button.fr-action.fr-frame-choose { display:none !important; }
@media (min-width:1024px) {
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame { width:min(100%,250px); margin:0 auto; padding:0 0 12px; box-sizing:border-box; border:8px solid #fff; background:#f0eee8; box-shadow:0 10px 28px rgba(40,35,26,.1); }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop { width:100%; min-height:195px; margin:0; padding:16px 10px 8px; border:0; box-shadow:none; background:transparent; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop:hover { background:transparent; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-upload-link { display:none; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools { display:flex; gap:6px; margin:0 8px; padding:0; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action { display:inline-flex !important; flex:1 1 0; align-items:center; justify-content:center; gap:4px !important; min-width:0; min-height:40px !important; margin:0; padding:8px 3px !important; font:600 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; letter-spacing:0 !important; text-align:center; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action:hover { background:#3b4439; border-color:#3b4439; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action:focus-visible { outline:2px solid #8a795b; outline-offset:2px; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action svg { flex:none; width:14px; height:14px; }
}

@media (min-width:1024px) and (max-width:1199px) {
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools { flex-direction:column; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action { flex:0 0 auto; width:100%; }
}

/* The customer-photo scene and standard preview are fixed choices. */
.fitroom.fitroom .fr-selection-label,
.fitroom.fitroom .fr-garment,
.fitroom.fitroom .fr-create > .fr-section-heading,
.fitroom.fitroom .fr-scenes,
.fitroom.fitroom .fr-quality-label,
.fitroom.fitroom .fr-create .modelbox { display:none !important; }

/* Keep permission and preview controls in the mirror after its introductory copy. */
.fitroom.fitroom .fr-preview-stage { grid-template-columns:minmax(0,1fr); align-content:center; gap:12px; padding:26px 20px; overflow:visible; }
.fitroom.fitroom .fr-preview-placeholder { display:contents; }
.fitroom.fitroom .fr-preview-placeholder > .fr-preview-reference { grid-column:1; grid-row:1; }
.fitroom.fitroom .fr-preview-placeholder > .fr-preview-kicker { grid-column:1 / -1; grid-row:2; text-align:center; }
.fitroom.fitroom .fr-preview-placeholder > h4 { grid-column:1 / -1; grid-row:3; text-align:center; margin:0; }
.fitroom.fitroom .fr-preview-placeholder > p { grid-column:1 / -1; grid-row:4; text-align:center; margin:0; }
.fitroom.fitroom .fr-preview-placeholder > .fr-reference-label { grid-column:1 / -1; grid-row:6; text-align:center; margin:0; }
.fitroom.fitroom .fr-preview-stage > .fr-mirror-actions { grid-column:1 / -1; grid-row:5; justify-self:center; width:min(100%,480px); margin:0; padding:0; border:0; text-align:left; }
.fitroom.fitroom .fr-preview-stage > .result { grid-column:1; grid-row:1; min-width:0; }
.fitroom.fitroom[data-state="complete"] .fr-preview-placeholder,
.fitroom.fitroom[data-state="generating"] .fr-preview-placeholder { display:none; }
@media (min-width:1024px) {
  .fitroom.fitroom .fr-preview-stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; }
  .fitroom.fitroom .fr-preview-placeholder > .fr-preview-reference { grid-column:1; grid-row:1; }
}
/* Two rows of references, scrolling horizontally as a single carousel. */
.fitroom.fitroom .fr-product-row {
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(2,auto);
  grid-auto-columns:calc(45.4545% - 7.273px);
  gap:8px;
  align-items:stretch;
}
.fitroom.fitroom .fr-product-row > button.fr-product-thumb {
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
@media (max-width:767px) {
  .fitroom.fitroom .fr-product-row {
    grid-auto-columns:calc(83.3333% - 6.667px);
  }
}

/* A light veil keeps the mirror readable while showing the chosen fabric. */
.fitroom.fitroom .fr-preview-stage.fr-has-fabric {
  background-image:var(--fr-mirror-fabric);
  background-size:cover;
  background-position:center;
}

/* An opaque panel keeps copy readable while the real fabric remains unfiltered. */
.fitroom.fitroom .fr-mirror-copy-surface { display:none; }
.fitroom.fitroom .fr-preview-stage.fr-has-fabric > .fr-mirror-copy-surface {
  display:block; grid-column:1 / -1; grid-row:2 / 7;
  align-self:stretch; justify-self:stretch; margin:-4px -6px;
  background:#faf9f6; border:1px solid #e1dbd0;
  pointer-events:none; position:relative; z-index:0;
}
.fitroom.fitroom .fr-preview-stage.fr-has-fabric .fr-preview-placeholder > .fr-preview-kicker,
.fitroom.fitroom .fr-preview-stage.fr-has-fabric .fr-preview-placeholder > h4,
.fitroom.fitroom .fr-preview-stage.fr-has-fabric .fr-preview-placeholder > p,
.fitroom.fitroom .fr-preview-stage.fr-has-fabric .fr-preview-placeholder > .fr-reference-label,
.fitroom.fitroom .fr-preview-stage.fr-has-fabric > .fr-mirror-actions { position:relative; z-index:1; }

/* Keep generation progress above the reading surface. */
.fitroom.fitroom .fr-preview-stage > .fr-loading { z-index:2; }

/* Keep the fabric unobstructed; place the essential actions on a short bottom fade. */
.fitroom.fitroom .fr-preview-placeholder > .fr-preview-kicker,
.fitroom.fitroom .fr-preview-placeholder > h4,
.fitroom.fitroom .fr-preview-placeholder > p,
.fitroom.fitroom .fr-preview-placeholder > .fr-reference-label,
.fitroom.fitroom .fr-preview-stage > .fr-mirror-copy-surface { display:none !important; }
.fitroom.fitroom .fr-preview-stage {
  grid-template-rows:minmax(0,1fr) auto;
  align-content:stretch;
  row-gap:0;
  padding-bottom:0;
}
.fitroom.fitroom .fr-preview-stage > .fr-mirror-actions {
  grid-row:2;
  align-self:end;
  justify-self:stretch;
  width:auto;
  margin:0 -20px;
  padding:40px 20px 18px;
  box-sizing:border-box;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.78) 22%,rgba(0,0,0,.84) 100%);
  position:relative;
  z-index:1;
}
.fitroom.fitroom .fr-mirror-actions .fitroom-consent,
.fitroom.fitroom .fr-mirror-actions .fr-privacy,
.fitroom.fitroom .fr-mirror-actions .status { color:#fff !important; }

/* Show only the preview button; status is announced and visible on errors. */
.fitroom.fitroom .fr-preview-stage > .fr-mirror-actions { background:transparent; padding:0 20px 18px; }
.fitroom.fitroom .fr-mirror-actions [data-generate] { display:flex !important; justify-content:center; width:90% !important; margin-left:auto !important; margin-right:auto !important; }
.fitroom.fitroom .fr-mirror-actions [data-generate],
.fitroom.fitroom .fr-mirror-actions [data-generate]:disabled { background:#000 !important; border:0 !important; box-shadow:none !important; color:#fff !important; }
.fitroom.fitroom .fr-mirror-actions [data-generate]:disabled { opacity:1; cursor:not-allowed; }
.fitroom.fitroom .fr-mirror-actions .status { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fitroom.fitroom .fr-mirror-actions .status[data-kind="error"] { position:static; width:auto; height:auto; padding:10px 12px; margin:10px 0 0; overflow:visible; clip:auto; white-space:normal; background:#201d1a; color:#fff !important; }

/* Remove legacy consent copy from any cached fitting-room markup. */
.fitroom.fitroom .fitroom-consent,.fitroom.fitroom .fr-privacy { display:none !important; }

/* Desktop shows the full matching color range as a grid; mobile retains its carousel. */
@media (min-width:1024px) {
  .fitroom.fitroom .fr-product-picker .fr-carousel-nav { display:none; }
  .fitroom.fitroom .fr-product-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    overflow:visible;
    scroll-snap-type:none;
    padding:2px;
    cursor:auto;
  }
  .fitroom.fitroom .fr-product-row > button.fr-product-thumb { cursor:pointer; }
}

/* Keep the standalone desktop mirror visible while the reference grid scrolls.
   When the mirror is taller than the viewport its contents remain scrollable. */
@media (min-width:768px) {
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview {
    position:sticky;
    top:24px;
    align-self:start;
    max-height:calc(100vh - 48px);
    max-height:calc(100dvh - 48px);
    overflow-y:auto;
    overscroll-behavior-y:auto;
  }
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview {
    top:56px;
    max-height:calc(100vh - 80px);
    max-height:calc(100dvh - 80px);
  }
}

/* Keep the chosen-look heading and color selector visible over the desktop grid. */
@media (min-width:1024px) {
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker {
    position:sticky; top:64px; z-index:20; background:#fff; padding:12px 0 14px;
    border-bottom:1px solid #e4ded3;
  }
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker { top:96px; }
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview { top:64px; max-height:calc(100vh - 88px); max-height:calc(100dvh - 88px); }
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview { top:96px; max-height:calc(100vh - 120px); max-height:calc(100dvh - 120px); }
  .fitroom.fitroom .fr-sticky-picker .fr-section-heading { margin:0 0 12px; }
  .fitroom.fitroom .fr-sticky-picker .fr-browse-tools { margin:0; }
}

/* The tablet navigation wraps to as much as 92px, so leave room beneath it. */
@media (min-width:768px) and (max-width:1199px) {
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview { top:104px; max-height:calc(100vh - 128px); max-height:calc(100dvh - 128px); }
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview { top:136px; max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); }
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker { top:104px; }
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker { top:136px; }
}
@media (min-width:768px) and (max-width:782px) {
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-preview { top:150px; max-height:calc(100vh - 174px); max-height:calc(100dvh - 174px); }
}

/* Align the sticky picker exactly beneath the visible navigation. */
@media (min-width:1024px) {
  main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker,
  body.admin-bar main .elementor-1914 .elementor-element-543d3be .fitroom.fitroom .fr-sticky-picker {
    top:var(--fr-picker-sticky-top,64px);
  }
}

/* Mobile mirror: keep the portrait and photo controls together like desktop. */
@media (max-width:1023px) {
  .fitroom.fitroom .fr-preview-stage { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; padding:20px 12px 0; box-sizing:border-box; }
  .fitroom.fitroom .fr-preview-placeholder > .fr-preview-reference { grid-column:1; grid-row:1; width:min(100%,150px); height:auto; aspect-ratio:7 / 10; box-sizing:border-box; margin:12px auto 16px; }
  .fitroom.fitroom .fr-preview-stage > .result { grid-column:1; grid-row:1; min-width:0; }
  .fitroom.fitroom .fr-mirror-photo { grid-column:2; grid-row:1; width:100%; min-width:0; margin:0; padding:0; border:0; }
  .fitroom.fitroom .fr-mirror-photo .fr-section-heading { display:none; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame { width:100%; margin:0 auto; padding:0 0 6px; box-sizing:border-box; border:5px solid #fff; background:#f0eee8; box-shadow:0 8px 20px rgba(40,35,26,.10); }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop { width:100%; min-height:150px; margin:0; padding:10px 5px 5px; border:0; background:transparent; box-shadow:none; box-sizing:border-box; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop svg { width:24px; height:24px; margin:0 0 5px; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop strong { font-size:15px; line-height:1.2; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop p { font-size:11px; line-height:1.35; margin:6px 0; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .filemeta { font-size:10px; line-height:1.3; margin-top:6px; overflow-wrap:anywhere; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-upload-link { display:none; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools { display:flex; flex-direction:column; gap:5px; margin:0 5px; padding:0; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action { display:inline-flex !important; flex:0 0 auto; align-items:center; justify-content:center; gap:4px !important; width:100%; min-width:0; min-height:44px !important; margin:0; padding:7px 3px !important; font:600 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; letter-spacing:0 !important; text-align:center; white-space:normal; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action svg { flex:none; width:13px; height:13px; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action:focus-visible { outline:2px solid #8a795b; outline-offset:2px; }
  .fitroom.fitroom .fr-preview-stage > .fr-mirror-actions { grid-column:1 / -1; }
  /* Expand the camera area over both columns while it is active. */
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-photo { grid-column:1 / -1; }
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .fr-preview-reference,
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .result { visibility:hidden; }
}

@media (max-width:1023px) {
  .fitroom.fitroom .fr-mirror-actions [data-generate] { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 8px !important; font-size:12px !important; line-height:1.4 !important; letter-spacing:.03em !important; white-space:normal; }
  .fitroom.fitroom .fr-mirror-actions [data-generate] [data-button-label] { min-width:0; white-space:normal; overflow-wrap:anywhere; }
}

/* On phones, stack the reference, photo frame and action within the mirror. */
@media (max-width:1023px) {
  .fitroom.fitroom .fr-preview-stage {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:14px 0;
  }
  .fitroom.fitroom .fr-preview-placeholder > .fr-preview-reference {
    grid-column:1;
    grid-row:1;
    width:min(100%,190px);
    margin:12px auto 10px;
  }
  .fitroom.fitroom .fr-preview-stage > .result { grid-column:1; grid-row:1; }
  .fitroom.fitroom .fr-preview-stage > .fr-mirror-photo { grid-column:1; grid-row:2; }
  .fitroom.fitroom .fr-preview-stage > .fr-mirror-actions { grid-column:1; grid-row:3; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame { width:min(100%,250px); }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop strong { font-size:17px; }
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .drop p { font-size:12px; }
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .fr-preview-reference,
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .result { visibility:visible; }
}

/* Center the stacked photo actions at roughly half the frame width. */
@media (max-width:1199px) {
  .fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-photo-tools .fr-action { width:min(100%, max(50%, 120px)); align-self:center; }
}
/* Hide the filename once a valid photo is selected; keep upload guidance. */
.fitroom.fitroom[data-photo-ready="true"] .fr-mirror-photo [data-filemeta] { display:none !important; }

/* Remove the outer fitting-room workspace border. */
.fitroom.fitroom .fr-workspace { border:0; }

/* Mobile references: two columns in a two-row, vertically scrolling window. */
@media (max-width:1023px) {
  .fitroom.fitroom .fr-product-picker .fr-carousel-nav { display:none; }
  .fitroom.fitroom .fr-product-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-auto-rows:auto;
    gap:8px;
    align-items:stretch;
    max-height:var(--fr-grid-height,480px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    scroll-snap-type:none;
    scroll-behavior:auto;
    scrollbar-width:thin;
    scrollbar-color:#948368 #eeeae2;
    scrollbar-gutter:stable;
    cursor:auto;
  }
  .fitroom.fitroom .fr-product-row > button.fr-product-thumb { width:100%; min-width:0; cursor:pointer; }
  /* Reserve the square before a lazy fabric image arrives to avoid layout jumps. */
  .fitroom.fitroom .fr-product-row .fr-thumb-photo { width:100%; aspect-ratio:1 / 1; overflow:hidden; }
  .fitroom.fitroom .fr-product-row .fr-thumb-photo:not(.fr-thumb-paired) > img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
  .fitroom.fitroom .fr-product-row:focus-visible { outline:2px solid #8a795b; outline-offset:2px; }
  .fitroom.fitroom .fr-product-row::-webkit-scrollbar { width:7px; }
  .fitroom.fitroom .fr-product-row::-webkit-scrollbar-track { background:#eeeae2; }
  .fitroom.fitroom .fr-product-row::-webkit-scrollbar-thumb { background:#948368; border-radius:8px; }
}

/* Fabric inspection is separate from selecting the reference look. */
.fitroom.fitroom .fr-product-row > .fr-fabric-card { position:relative; display:flex; min-width:0; align-items:stretch; }
.fitroom.fitroom .fr-product-row > .fr-fabric-card[hidden] { display:none !important; }
.fitroom.fitroom .fr-fabric-card > button.fr-product-thumb { box-sizing:border-box; flex:1 1 auto; width:100%; min-width:0; cursor:pointer; }
.fitroom.fitroom .fr-fabric-card > button.fr-fabric-view {
  position:absolute; z-index:2; top:6px; right:6px; display:block;
  width:42px; height:42px; min-width:42px; min-height:42px; padding:0; margin:0;
  border:0 !important; border-radius:0 !important;
  background:transparent !important; color:#fff !important; box-shadow:none !important;
  cursor:pointer; line-height:1; transform:none;
}
.fitroom.fitroom .fr-fabric-card > button.fr-fabric-view::before {
  content:""; position:absolute; top:0; right:0; width:32px; height:32px;
  background:rgba(20,20,18,.88); border-bottom-left-radius:6px; pointer-events:none;
}
.fitroom.fitroom .fr-fabric-card > button.fr-fabric-view:hover { background:transparent !important; color:#fff !important; }
.fitroom.fitroom .fr-fabric-card > button.fr-fabric-view:hover::before { background:#000; }
.fitroom.fitroom .fr-fabric-view svg { position:absolute; z-index:1; top:8px; right:8px; display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; pointer-events:none; }
.fitroom.fitroom dialog.fr-fabric-dialog {
  position:fixed; inset:0; margin:auto; padding:0; width:min(92vw,720px); max-width:92vw;
  max-height:calc(100dvh - 32px); overflow:hidden; border:1px solid #d8d0c2; border-radius:3px;
  background:#faf9f6; color:#292621; box-shadow:0 16px 60px rgba(0,0,0,.28);
}
.fitroom.fitroom dialog.fr-fabric-dialog::backdrop { background:rgba(20,19,17,.65); }
@media (prefers-reduced-motion:no-preference) {
  .fitroom.fitroom dialog.fr-fabric-dialog[open]:not(.fr-fabric-dialog--closing) { animation:fr-fabric-enter 220ms ease-out both; }
  .fitroom.fitroom dialog.fr-fabric-dialog[open]:not(.fr-fabric-dialog--closing)::backdrop { animation:fr-fabric-backdrop-in 220ms ease-out both; }
  .fitroom.fitroom dialog.fr-fabric-dialog.fr-fabric-dialog--closing { animation:fr-fabric-exit 180ms ease-in both; }
  .fitroom.fitroom dialog.fr-fabric-dialog.fr-fabric-dialog--closing::backdrop { animation:fr-fabric-backdrop-out 180ms ease-in both; }
  @keyframes fr-fabric-enter { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
  @keyframes fr-fabric-exit { from { opacity:1; transform:translateY(0) scale(1); } to { opacity:0; transform:translateY(8px) scale(.98); } }
  @keyframes fr-fabric-backdrop-in { from { opacity:0; } to { opacity:1; } }
  @keyframes fr-fabric-backdrop-out { from { opacity:1; } to { opacity:0; } }
}
.fitroom.fitroom .fr-fabric-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #e4ded4; }
.fitroom.fitroom .fr-fabric-dialog__title { margin:0; font-family:Georgia,serif; font-size:20px; line-height:1.25; color:#292621; }
.fitroom.fitroom button.fr-fabric-dialog__close { display:flex; align-items:center; justify-content:center; width:42px; height:42px; min-width:42px; min-height:42px; padding:0; border:0 !important; border-radius:0; outline:none !important; box-shadow:none !important; background:transparent !important; color:#292621 !important; font:30px/1 Arial,sans-serif; cursor:pointer; }
.fitroom.fitroom .fr-fabric-dialog__body { overflow:auto; max-height:calc(100dvh - 114px); padding:16px; text-align:center; }
.fitroom.fitroom .fr-fabric-dialog__view { --fr-fabric-view-height:calc(100dvh - 180px); position:relative; max-width:100%; margin:auto; }
.fitroom.fitroom .fr-fabric-dialog__canvas { display:block; max-width:100%; height:auto; margin:auto; touch-action:none; cursor:grab; }
.fitroom.fitroom .fr-fabric-dialog__canvas.is-dragging { cursor:grabbing; }
.fitroom.fitroom input.fr-fabric-dialog__scroll {
  -webkit-appearance:none; appearance:none; position:absolute; z-index:2; margin:0; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none; cursor:pointer;
  touch-action:none; opacity:.9;
}
.fitroom.fitroom input.fr-fabric-dialog__scroll[hidden], .fitroom.fitroom .fr-fabric-dialog__view[hidden] { display:none !important; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--horizontal { left:8px; bottom:2px; width:calc(100% - 36px); min-width:0; height:24px; min-height:0; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--vertical { right:2px; top:8px; width:24px; min-width:0; height:calc(100% - 36px); min-height:0; writing-mode:vertical-lr; direction:ltr; }
.fitroom.fitroom input.fr-fabric-dialog__scroll::-webkit-slider-runnable-track { background:rgba(20,20,18,.58); border-radius:8px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--horizontal::-webkit-slider-runnable-track { height:6px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--vertical::-webkit-slider-runnable-track { width:6px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; background:#eeeae2; border:1px solid rgba(42,38,32,.55); border-radius:8px; box-shadow:0 1px 3px rgba(0,0,0,.35); }
.fitroom.fitroom input.fr-fabric-dialog__scroll--horizontal::-webkit-slider-thumb { width:var(--fr-scroll-thumb,32px); height:12px; margin-top:-3px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--vertical::-webkit-slider-thumb { width:12px; height:var(--fr-scroll-thumb,32px); margin-left:-3px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll::-moz-range-track { background:rgba(20,20,18,.58); border:0; border-radius:8px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--horizontal::-moz-range-track { height:6px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--vertical::-moz-range-track { width:6px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll::-moz-range-thumb { background:#eeeae2; border:1px solid rgba(42,38,32,.55); border-radius:8px; box-shadow:0 1px 3px rgba(0,0,0,.35); }
.fitroom.fitroom input.fr-fabric-dialog__scroll--horizontal::-moz-range-thumb { width:var(--fr-scroll-thumb,32px); height:12px; }
.fitroom.fitroom input.fr-fabric-dialog__scroll--vertical::-moz-range-thumb { width:12px; height:var(--fr-scroll-thumb,32px); }
.fitroom.fitroom .fr-fabric-dialog__hint { margin:8px 0 0; color:#625d53; font:12px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fitroom.fitroom .fr-fabric-dialog__message { margin:20px 0; color:#51483d; }
.fitroom.fitroom .fr-fabric-dialog__canvas[hidden], .fitroom.fitroom .fr-fabric-dialog__hint[hidden], .fitroom.fitroom .fr-fabric-dialog__message[hidden] { display:none !important; }
@media (max-width:767px) {
  .fitroom.fitroom dialog.fr-fabric-dialog { max-height:calc(100dvh - 110px); }
  .fitroom.fitroom .fr-fabric-dialog__body { max-height:calc(100dvh - 192px); padding:12px; }
  .fitroom.fitroom .fr-fabric-dialog__view { --fr-fabric-view-height:calc(100dvh - 246px); }
}

/* A completed fitting-room preview gets its own uncluttered result view. */
.fitroom.fitroom .fr-result-reset[hidden] { display:none !important; }
.fitroom.fitroom[data-state="complete"] .fr-preview-stage > .fr-mirror-photo,
.fitroom.fitroom[data-state="complete"] .fr-preview-stage > .fr-mirror-actions,
.fitroom.fitroom[data-state="complete"] .fr-preview-placeholder { display:none !important; }
.fitroom.fitroom[data-state="complete"] .fr-preview-stage {
  grid-template-columns:minmax(0,1fr); grid-template-rows:auto; min-height:0;
  gap:0; padding:16px; align-content:center;
}
.fitroom.fitroom[data-state="complete"] .fr-preview-stage > .result {
  display:block; grid-column:1 / -1; grid-row:1; width:100%; min-width:0;
  align-self:center; justify-self:center;
}
.fitroom.fitroom[data-state="complete"] .fr-preview-stage > .result img {
  display:block; width:auto; height:auto; max-width:100%; max-height:min(65dvh,700px);
  object-fit:contain; margin:auto;
}
.fitroom.fitroom[data-state="complete"] .resultActions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.fitroom.fitroom[data-state="complete"] .resultActions > [data-metrics] { flex:1 0 100%; order:3; }
.fitroom.fitroom[data-state="complete"] .resultActions > [data-save],
.fitroom.fitroom[data-state="complete"] .resultActions > .fr-result-reset {
  flex:1 1 170px; min-width:0; min-height:44px; margin:0; padding:10px 12px;
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  font:600 12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.02em; text-decoration:none; text-transform:none;
}
.fitroom.fitroom[data-state="complete"] .resultActions > .fr-result-reset {
  background:#faf9f6; color:#302a22; border:1px solid #8a795b;
}
.fitroom.fitroom[data-state="complete"] .resultActions > .fr-result-reset:hover { background:#eee9df; color:#302a22; }
.fitroom.fitroom[data-state="complete"] .resultActions > [data-save] {
  padding:10px 12px !important; border-radius:0 !important;
  font:600 12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing:.02em !important;
}
@media (min-width:768px) {
  .fitroom.fitroom[data-state="complete"] .fr-preview-stage > .result img { max-height:min(52dvh,560px); }
}
@media (max-width:767px) {
  .fitroom.fitroom[data-state="complete"] .resultActions > [data-save],
  .fitroom.fitroom[data-state="complete"] .resultActions > .fr-result-reset { flex-basis:100%; }
}

/* Discreet product actions beneath the mirror heading. */
.fitroom.fitroom .fr-product-actions[hidden],
.fitroom.fitroom .fr-product-actions [hidden] { display:none !important; }
.fitroom.fitroom .fr-preview-heading:has(+ .fr-product-actions--heading) { margin-bottom:0; }
.fitroom.fitroom .fr-product-actions--heading { margin:0 0 12px; }
.fitroom.fitroom .fr-product-actions__buttons { display:flex; align-items:center; flex-wrap:wrap; column-gap:20px; }
.fitroom.fitroom .fr-product-actions__buttons > * {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:flex-start;
  width:auto; min-width:0; min-height:40px; padding:6px 0; margin:0;
  border:0 !important; border-radius:0; background:transparent !important; color:#514a40;
  font:600 12px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:0; text-align:left; text-decoration:none; text-transform:none;
  cursor:pointer; box-shadow:none !important;
}
.fitroom.fitroom .fr-product-actions__buttons > .fr-product-actions__view { order:-1; color:#302a22; text-decoration:underline; text-underline-offset:4px; }
.fitroom.fitroom .fr-product-actions__buttons > .fr-product-actions__cart:disabled,
.fitroom.fitroom .fr-product-actions__buttons > .fr-product-actions__view[aria-disabled="true"] {
  color:#999084; opacity:1; cursor:not-allowed; text-decoration:none;
}
.fitroom.fitroom .fr-product-actions__buttons > :not(:disabled):not([aria-disabled="true"]):hover { color:#756649; }
.fitroom.fitroom .fr-product-actions__note {
  margin:0; padding:0; background:transparent; color:#777064;
  font:400 11px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-align:left; overflow-wrap:break-word;
}
.fitroom.fitroom .fr-product-actions__note:empty { display:none; }
@media (min-width:768px) {
  .fitroom.fitroom[data-state="complete"] .fr-preview-stage > .result img { max-height:min(42dvh,490px); }
}
/* Focus the mirror on the live camera until a photo is captured or cancelled. */
.fitroom.fitroom .fr-preview:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-product-actions { display:none !important; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) {
  grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto;
  min-height:0; gap:0; padding:16px; align-content:center; justify-items:center;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-preview-placeholder,
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .result,
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .fr-photo-frame { display:none !important; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-photo {
  display:block; grid-column:1 !important; grid-row:1 !important; width:min(100%,390px); min-width:0;
  margin:0; padding:0; border:0; justify-self:center;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-panel {
  box-sizing:border-box; width:100%; margin:0; padding:14px; border:6px solid #fff;
  background:#f0eee8; box-shadow:0 10px 28px rgba(40,35,26,.16);
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-panel video {
  display:block; width:min(100%,38dvh,340px); height:auto; aspect-ratio:1 / 1;
  margin:0 auto; object-fit:cover; background:#242320;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-panel p {
  margin:10px 0; font:400 12px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#625d53; text-align:center;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions .fr-action {
  display:flex !important; align-items:center; justify-content:center; min-width:0; min-height:44px;
  margin:0; padding:9px 8px !important; font:600 12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing:0 !important; text-align:center; white-space:normal;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions [data-camera-capture] {
  grid-column:1 / -1; grid-row:1; background:#000 !important; border-color:#000 !important; color:#fff !important;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions [data-camera-switch],
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions [data-camera-cancel] {
  background:transparent !important; border:1px solid #a59983 !important; color:#302a22 !important;
}
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions [data-camera-switch] { grid-column:1; grid-row:2; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions [data-camera-cancel] { grid-column:2; grid-row:2; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions:has([data-camera-switch][hidden]) [data-camera-cancel] { grid-column:1 / -1; }
/* Keep camera errors visible and announced while hiding the other preview controls. */
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-actions { display:contents !important; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-actions > :not(.status) { display:none !important; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-actions > .status:not([data-kind="error"]) { display:none !important; }
.fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) > .fr-mirror-actions > .status[data-kind="error"] {
  grid-column:1; grid-row:2; width:min(100%,390px); margin:8px 0 0; justify-self:center;
}

/* Optional native-camera fallback, shown only after Android camera denial. */
.fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-native-camera-fallback {
  display:block; width:auto; min-width:0; min-height:40px; margin:2px auto 0; padding:6px 8px;
  border:0 !important; background:transparent !important; color:#514a40 !important; box-shadow:none !important;
  font:600 11px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  text-align:center; text-decoration:underline; text-underline-offset:3px; letter-spacing:0;
}
.fitroom.fitroom .fr-mirror-photo .fr-photo-frame .fr-native-camera-fallback[hidden] { display:none !important; }
/* Phone camera uses a top-layer, full-viewport view within the same page. */
@media (max-width:767px) {
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] {
    position:fixed; inset:0; display:flex; flex-direction:column; box-sizing:border-box;
    width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0;
    border:0; border-radius:0; overflow:hidden; background:#f0eee8; color:#292621;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen::backdrop { background:#171613; }
  .fitroom.fitroom .fr-camera-fullscreen__heading {
    display:flex; flex:0 0 auto; align-items:center; justify-content:space-between;
    min-height:56px; padding:env(safe-area-inset-top,0px) 16px 0;
    border-bottom:1px solid #ddd7ca; font:400 21px/1.2 var(--fr-serif);
  }
  .fitroom.fitroom button.fr-camera-fullscreen__close {
    width:44px; height:44px; min-width:44px; min-height:44px; padding:0;
    border:0 !important; background:transparent !important; box-shadow:none !important;
    color:#292621 !important; font:30px/1 Arial,sans-serif; cursor:pointer;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-panel:not([hidden]) {
    display:flex !important; flex:1 1 auto; flex-direction:column; align-items:center;
    justify-content:flex-start; box-sizing:border-box; width:100% !important; min-height:0;
    max-height:none; margin:0 !important; padding:4px 6px calc(6px + env(safe-area-inset-bottom,0px)) !important;
    overflow:auto; border:0 !important; background:#f0eee8 !important; box-shadow:none !important;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-panel video {
    display:block; flex:1 1 0; width:100% !important; height:0 !important; min-height:120px; max-height:none;
    aspect-ratio:auto !important; margin:0 auto; object-fit:cover; object-position:center; background:#242320;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-panel p { flex:0 0 auto; width:100%; max-width:none; margin:8px 0 !important; text-align:left; }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions {
    display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions .fr-action {
    display:flex !important; align-items:center; justify-content:center; min-width:0; min-height:44px;
    margin:0; padding:9px 8px !important; font:600 12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    letter-spacing:0 !important; text-align:center; white-space:normal;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions .fr-action[hidden] { display:none !important; }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions [data-camera-capture] {
    grid-column:1 / -1; grid-row:1; background:#000 !important; border-color:#000 !important; color:#fff !important;
  }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions [data-camera-switch] { grid-column:1; grid-row:2; }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions [data-camera-cancel] { grid-column:2; grid-row:2; }
  .fitroom.fitroom dialog.fr-camera-fullscreen[open] .camera-actions:has([data-camera-switch][hidden]) [data-camera-cancel] { grid-column:1 / -1; }
  .fitroom.fitroom .fr-preview-stage:has(.fr-mirror-photo > .camera-panel:not([hidden])) .camera-actions .fr-action[hidden] { display:none !important; }
  .fitroom.fitroom .fr-camera-fullscreen__status:not([hidden]) {
    flex:0 0 auto; margin:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:#201d1a; color:#fff; font:400 12px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }
}