/* P2 product detail — approved Conversion-Band + Datenblatt direction.
   Tokens only except the byte-reused production .chip step (.78rem).
   Breakpoints {1440, 900, 600}.
   Focus rings are INHERITED from style.css:394 (:focus-visible = 2px --clr-primary).
   This sheet must never weaken them: --clr-primary-light (#d8e6f9) against the page
   ground (#f1f4f7) is ~1.1:1 and would fail WCAG 1.4.11. */

/* The shell has no bypass mechanism and the cat-bar is 25+ links ahead of <main>
   (WCAG 2.4.1, A). Additive: the shell markup itself is untouched. */
.rsp-skip{position:absolute;z-index:var(--z-top);top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--clr-primary);color:var(--clr-surface-raised);font-size:var(--text-sm);font-weight:var(--weight-semi);transform:translateY(-300%)}
.rsp-skip:focus{transform:translateY(0)}

/* Keep classic scrollbar space while the modal locks root overflow. Overlay-scrollbar
   platforms reserve nothing, and print must not inherit the screen-only gutter. */
@media screen{html.rsp-detail-root{scrollbar-gutter:stable}}

.rsp-product-page{--rsp-green-dark:oklch(40% .14 145);--rsp-green-soft:oklch(93% .05 145);--rsp-green-border:oklch(76% .08 145);--rsp-used-dark:oklch(45% .12 75);--rsp-used-soft:oklch(92% .03 75);--rsp-badge-gap:6px;--rsp-scroll-cue-start:oklch(100% .002 255 / 0);--rsp-scroll-cue-end:oklch(18% .008 255 / .18);--rsp-dialog-label-size:.78rem;--rsp-dialog-submit-size:.92rem;background:var(--clr-bg);color:var(--clr-text)}
.rsp-product{max-width:1440px;margin:0 auto;padding:var(--space-4) var(--page-gutter) var(--space-16)}
/* Breadcrumb = the production .rsk-breadcrumb component (keyword-landing.css:321-333),
   per CARRIER-MAP-catbar-breadcrumb.md §2. Only the page-local spacing lives here. */
.rsp-product .rsk-breadcrumb ol{margin-bottom:var(--space-3)}
.rsp-product .rsk-breadcrumb b{color:var(--clr-text-2);font-weight:var(--weight-medium)}
/* Author display declarations outrank the browser's [hidden] rule. Keep every stateful
   auction/media asset non-rendered and non-hittable when its DOM state is hidden. */
.rsp-product-page .rsp-auction-form[hidden],.rsp-product-page [data-auction-inquiry][hidden],.rsp-product-page [data-auction-provider-note][hidden],.rsp-product-page .rsp-video-stop[hidden],.rsp-product-page .rsp-thumb img[hidden],.rsp-product-page .rsp-video-poster[hidden],.rsp-product-page img[data-branding-image][hidden]{display:none!important}
.rsp-conversion{position:relative;overflow:hidden;margin-bottom:var(--space-3);background:var(--clr-surface-raised);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.rsp-conversion-sentinel{height:1px}
.rsp-conversion-spacer{height:0}
.rsp-conversion-spacer.is-active{height:var(--rsp-conversion-natural-height);margin-bottom:var(--space-3)}
.rsp-conversion.is-docked{position:fixed;z-index:var(--z-sticky);top:var(--rsp-header-bottom);left:var(--rsp-dock-left);width:var(--rsp-dock-width);margin-bottom:0;border-top:0;border-radius:0;box-shadow:var(--shadow-md)}
.rsp-conversion-clone{visibility:hidden;pointer-events:none}
.rsp-conversion-clone.is-clone-active{visibility:visible;pointer-events:auto}
.rsp-dock-heading{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.15}
/* Desktop dock: one 60-ish-pixel row. The neutral title clone keeps a visible
   ellipsized track; the action track may shrink instead of reserving max-content. */
.rsp-conversion.is-docked .rsp-conversion-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4)}
.rsp-conversion.is-docked h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base)}
.rsp-conversion.is-docked .rsp-conversion-meta,.rsp-conversion.is-docked .rsp-badges,.rsp-conversion.is-docked .rsp-cta-note,.rsp-conversion.is-docked .rsp-price-proposal,.rsp-conversion.is-docked .rsp-price-sub,.rsp-conversion.is-docked [data-auction-inquiry]:not(.rsp-cta){display:none}
.rsp-conversion.is-docked .rsp-conversion-copy{width:auto;min-width:0}
.rsp-conversion.is-docked .rsp-price{min-width:0;overflow-wrap:normal;white-space:nowrap;font-size:clamp(var(--text-sm),2vw,var(--text-base))}
.rsp-conversion.is-docked .rsp-cta{flex:0 0 auto;margin:0;padding:var(--space-2) var(--space-4);white-space:nowrap;font-size:clamp(var(--text-sm),2vw,var(--text-base))}
.rsp-conversion.is-docked .rsp-conversion-action{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:var(--space-3);width:auto;min-width:0;max-width:100%}
.rsp-conversion.is-docked .rsp-auction-form{display:block;min-width:0;max-width:100%;margin:0}
.rsp-conversion.is-docked [data-auction-inquiry].rsp-cta{display:inline-flex}
.rsp-conversion.is-docked .rsp-auction-form .rsp-auction-submit{min-width:0;max-width:100%;white-space:nowrap}
/* Terminal suppression is intentionally immediate: fading the fixed copy leaves visible
   pixels over the seller. Dock state and --rsp-dock-h stay untouched. */
.rsp-conversion.is-terminal-suppressed{visibility:hidden}
.rsp-conversion-gradient{height:3px;opacity:.7;background:linear-gradient(90deg, var(--clr-blue) 0%, #6fa3ff 100%)}
.rsp-type-standard{background:linear-gradient(color-mix(in srgb, var(--clr-blue) 6%, transparent), color-mix(in srgb, var(--clr-blue) 6%, transparent)),var(--clr-surface-raised)}
.rsp-type-auction{background:linear-gradient(rgb(217 119 6 / 6%),rgb(217 119 6 / 6%)),var(--clr-surface-raised)}
.rsp-type-verified{background:linear-gradient(rgb(74 222 128 / 6%),rgb(74 222 128 / 6%)),var(--clr-surface-raised)}
.rsp-type-auction .rsp-conversion-gradient{background:linear-gradient(90deg, rgb(217, 119, 6) 0%, #f59e0b 100%)}
.rsp-type-verified .rsp-conversion-gradient{background:linear-gradient(90deg, var(--clr-green) 0%, #4ade80 100%)}
.rsp-conversion-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-6);align-items:center;padding:var(--space-5) var(--space-6)}
.rsp-conversion-copy{min-width:0;flex:1 1 calc(var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16))}
.rsp-conversion h1{font-size:clamp(var(--text-xl),3vw,var(--text-2xl));font-weight:var(--weight-bold);line-height:1.15;margin:0 0 var(--space-2);overflow-wrap:anywhere}
.rsp-conversion-meta{font-size:var(--text-sm);color:var(--clr-muted)}
.rsp-conversion-meta span,.rsp-price{font-variant-numeric:tabular-nums}
.rsp-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.rsp-badge{display:inline-flex;align-items:center;gap:var(--rsp-badge-gap);padding:5px 10px;border:0;border-radius:var(--radius-sm);font-size:.78rem;font-weight:var(--weight-semi)}
.rsp-badge-used{background:var(--rsp-used-soft);color:var(--rsp-used-dark)}
.rsp-badge-live{background:var(--rsp-green-soft);color:var(--rsp-green-dark)}
.rsp-badge-verified{background:var(--clr-primary-light);color:var(--clr-primary-dark)}
.rsp-badge-auction{background:rgb(217 119 6 / 13%);color:#854d0e}
.rsp-badge-verified [data-verified-short]{display:none}
.rsp-verified-icon{width:14px;height:14px;flex:0 0 auto;color:var(--clr-green);fill:none;stroke-width:2}
.rsp-conversion-action{max-width:100%;text-align:right;flex:1 1 calc(var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16) + var(--space-16))}
.rsp-price{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.1}
.rsp-price small{display:inline;margin-left:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--clr-muted)}
.rsp-price-sub,.rsp-cta-note{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--clr-muted)}
.rsp-title-price-line{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-2);max-width:100%;white-space:nowrap}
.rsp-title-price-label{font-size:var(--text-xs);font-weight:var(--weight-semi);line-height:1.2;color:var(--clr-text-2)}
.rsp-auction-form{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1);max-width:100%;margin-top:var(--space-2)}
.rsp-auction-form .rsp-auction-submit{max-width:100%;white-space:normal}
.rsp-auction-form .rsp-cta{margin-top:0}
[data-auction-inquiry]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3);border:0;background:transparent;color:var(--clr-primary-dark);font-size:var(--text-sm);font-weight:var(--weight-semi);text-decoration:underline;cursor:pointer}
[data-auction-inquiry].rsp-cta{flex-direction:column;line-height:1.1;color:var(--clr-surface-raised);text-decoration:none}
.rsp-auction-compact-status{display:block;font-size:var(--text-xs);font-weight:var(--weight-semi);line-height:1.1}
.rsp-auction-compact-status[hidden]{display:none}
/* weight-bold, not weight-semi: the reference submit button on resalesuche2.php computes
   700 and this is the page's primary conversion. min-height 44px is a deliberate touch
   target and stays. */
.rsp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:var(--space-3);padding:var(--space-3) var(--space-6);border:0;border-radius:var(--radius-sm);background:var(--clr-primary);color:var(--clr-surface-raised);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--transition),transform var(--transition)}
.rsp-cta:hover{background:var(--clr-primary-dark);transform:translateY(-1px)}
.rsp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-4);align-items:start}
.rsp-main-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.rsp-main-stack>*{min-width:0}
.rsp-side-stack{display:flex;flex-direction:column;gap:var(--space-3)}
/* The rail cleared the 67px header but not the 65px docked conversion band, so the
   Anbieter card slid 57px underneath it on scroll (measured). --rsp-dock-h is set by
   the dock observer in product-detail.js and is 0 while the band is undocked. */
.rsp-side-stack{position:sticky;top:calc(var(--rsp-header-bottom) + var(--rsp-dock-h, 0px) + var(--space-2))}
.rsp-gallery,.rsp-sheet,.rsp-block,.rsp-inquiry{overflow:hidden;background:var(--clr-surface-raised);border:1px solid var(--clr-border);border-radius:var(--radius-md)}
.rsp-gallery{position:relative}
/* The image paints above the stage background, so the stage's own outline was hidden.
   A stationary noninteractive overlay paints the same inset ring above image motion and
   fallbacks. The surface-colour backing keeps its perimeter identifiable on dark photos. */
.rsp-gallery-main:focus-visible{outline:0}
.rsp-gallery-main::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none}
.rsp-gallery-main:focus-visible::after{outline:2px solid var(--clr-primary);outline-offset:-4px;box-shadow:inset 0 0 0 2px var(--clr-surface-raised)}
.rsp-gallery-main{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--clr-bg);touch-action:pan-y}
/* Out of flow so intrinsic or late-arriving image dimensions cannot resize the stage. */
.rsp-gallery-main>img,.rsp-video-poster{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain}
.rsp-gallery-track{position:absolute;z-index:1;inset:0;display:flex;width:300%;height:100%;transform:translate3d(-33.333333%,0,0);will-change:transform}
.rsp-gallery-slide{position:relative;width:33.333333%;height:100%;flex:0 0 33.333333%;overflow:hidden;background:var(--clr-bg)}
.rsp-gallery-slide>img{display:block;width:100%;height:100%;object-fit:contain}
.rsp-gallery-slide>.rsp-product-placeholder{box-sizing:border-box;width:100%;height:100%}
.rsp-gallery-empty{display:grid;place-items:center;min-height:280px;color:var(--clr-muted)}
.rsp-gallery-empty p{padding:var(--space-6);text-align:center}
.rsp-gallery-main>.rsp-gallery-empty{position:absolute;z-index:1;inset:0;min-height:0}
/* A slow explicit gallery load keeps the current image in its reserved stage. The
   status overlays that fixed frame, so it is visible without causing layout shift. */
.rsp-gallery-loading{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;padding:var(--space-6);background:rgb(255 255 255 / 72%);color:var(--clr-text-2);font-size:var(--text-base);font-weight:var(--weight-semi);line-height:1.4;text-align:center;pointer-events:none}
.rsp-gallery-loading::before{content:"";width:18px;height:18px;flex:0 0 auto;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rsp-gallery-loading-spin .8s linear infinite}
@keyframes rsp-gallery-loading-spin{to{transform:rotate(360deg)}}
/* min-width:0 is load-bearing: as a flex/grid item this defaults to min-width:auto and
   refuses to shrink below its content, so overflow-x:auto never engages and the whole
   DOCUMENT scrolls sideways instead. Measured by astra with 12 thumbnails: 138/438/648px
   of document overflow at 900/600/390. */
.rsp-filmstrip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0}
.rsp-filmstrip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);overflow-x:auto;min-width:0;scrollbar-width:thin;overscroll-behavior-x:contain}
.rsp-thumb{width:72px;height:54px;flex:0 0 auto;overflow:hidden;padding:0;border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-bg);cursor:pointer}
.rsp-thumb[aria-current="true"]{border:2px solid var(--clr-primary)}
.rsp-thumb img{width:100%;height:100%;object-fit:cover}
/* With scripting disabled, <noscript> supplies the only visible thumbnail. With
   scripting enabled its contents are not DOM, and activation reveals this deferred
   image immediately before assigning src, so there is still only one download. */
.rsp-thumb img[data-rsp-deferred-src]:not([data-rsp-source-activated="1"]){display:none}
.rsp-thumb.is-image-missing{position:relative}
.rsp-thumb.is-image-missing::after{content:none}
.rsp-gallery-count{margin-left:auto;padding-right:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--clr-text-2);white-space:nowrap}
/* R8a.1e: the photo-only counter is hidden while the video is selected. Keep its box so the
   filmstrip column does not widen under the pointer; visibility also removes it from the a11y tree. */
.rsp-product-page .rsp-gallery-count[hidden]{display:block;visibility:hidden}
/* R8a.1e-2: screen-reader-only gallery status. Absolute, so it takes no filmstrip-row grid cell. */
.rsp-gallery-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.rsp-video-thumb{position:relative}
.rsp-video-thumb>span{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff;background:rgb(0 0 0 / 35%)}
.rsp-video-thumb[data-gallery-poster=""]>span{color:var(--clr-primary-dark);background:var(--clr-bg)}
.rsp-video-thumb-icon{width:var(--space-6);height:var(--space-6);fill:currentColor}
.rsp-video-shell{position:absolute;z-index:1;inset:0;display:grid;place-items:center;overflow:hidden}
.rsp-video-shell>.rsp-product-placeholder{visibility:hidden}
.rsp-video-consent{position:relative;z-index:2;max-width:min(78%,560px);padding:var(--space-4);border-radius:var(--radius-md);background:rgb(255 255 255 / 94%);color:var(--clr-text);text-align:center;box-shadow:var(--shadow-md)}
.rsp-video-consent p{font-size:var(--text-sm);line-height:1.45}
.rsp-video-consent a{color:var(--clr-primary-dark);text-decoration:underline}
.rsp-video-load,.rsp-video-stop{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;margin:var(--space-3) var(--space-1) 0;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--clr-primary);color:#fff;font:inherit;font-weight:var(--weight-bold);cursor:pointer}
.rsp-video-external{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;margin-top:var(--space-2);padding:var(--space-2)}
.rsp-video-shell iframe{position:absolute;z-index:2;inset:0;width:100%;height:100%;min-width:200px;min-height:200px;border:0}
.rsp-video-shell.is-playing .rsp-video-consent{position:absolute;z-index:5;right:var(--space-2);bottom:var(--space-2);max-width:none;padding:0;background:transparent;box-shadow:none}
.rsp-video-shell.is-playing .rsp-video-consent p,.rsp-video-shell.is-playing .rsp-video-load{display:none}
.rsp-video-shell.is-playing .rsp-video-stop,.rsp-video-shell.is-playing .rsp-video-external{background:var(--clr-surface-raised);color:var(--clr-text);box-shadow:var(--shadow-sm)}
.rsp-sheet{--rsp-sheet-value-size:clamp(1.125rem,1rem + .35vw,1.375rem)}
.rsp-sheet>header{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--clr-border)}
.rsp-sheet h2,.rsp-block h2,.rsp-inquiry h2{margin:0;font-size:var(--text-lg)}
.rsp-sheet-titleline{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0}
.rsp-sheet-id{font-size:var(--text-xs);color:var(--clr-muted);white-space:nowrap}
.rsp-sheet-source{margin-left:auto;font-size:var(--text-xs);color:var(--clr-muted)}
.rsp-profile{display:grid;grid-template-columns:repeat(var(--rsp-profile-columns,1),minmax(0,1fr));gap:0;background:var(--clr-surface-raised)}
.rsp-profile-cols-2{--rsp-profile-columns:2}
.rsp-profile-cols-3{--rsp-profile-columns:3}
.rsp-profile-cols-4,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:4}
.rsp-profile-cols-5{--rsp-profile-columns:5}
.rsp-profile>div{min-width:0;padding:var(--space-3);background:var(--clr-surface-raised);box-shadow:inset -1px -1px 0 var(--clr-border)}
.rsp-profile dt{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);line-height:1.35;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;color:var(--clr-muted)}
.rsp-profile dd{margin:0;font-size:var(--rsp-sheet-value-size);line-height:1.3;font-weight:var(--weight-semi);font-variant-numeric:tabular-nums}
.rsp-profile-value{white-space:nowrap}
.rsp-profile-unit,.rsp-profile-suffix{display:inline;font-size:.75em;font-weight:var(--weight-regular);color:var(--clr-muted);vertical-align:baseline;margin:0}
.rsp-profile [data-fact="auction-end"] .rsp-profile-value{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.rsp-profile [data-fact="bid"]{background:var(--clr-primary-light);color:var(--clr-primary-dark)}
.rsp-profile [data-fact="auction-end"]{background:color-mix(in srgb,var(--clr-red) 8%,var(--clr-surface-raised));color:var(--clr-red-dark)}
.rsp-profile [data-fact="bid"] dt,.rsp-profile [data-fact="bid"] .rsp-profile-suffix,.rsp-profile [data-fact="auction-end"] dt{color:inherit}
.rsp-profile [data-fact="auction-end"] time,.rsp-auction-end-date,.rsp-auction-end-time,.rsp-auction-qualifier{display:block}
.rsp-auction-end-date,.rsp-auction-end-time{white-space:nowrap}
.rsp-auction-qualifier{margin-top:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:1.35;color:inherit}
.rsp-profile [data-fact="auction-end"] .rsp-auction-countdown{display:block;min-width:0;margin-top:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semi);line-height:1.35;font-variant-numeric:tabular-nums}
#rspAuctionReportingNote{margin:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-xs);color:var(--clr-text-2)}
.rsp-sheet-rows{padding:var(--space-2) var(--space-4) var(--space-3);column-count:2;column-gap:var(--space-8)}
.rsp-sheet-rows h3{margin:var(--space-3) 0 var(--space-1);break-after:avoid;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-primary-dark)}
.rsp-sheet-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-1) 0;break-inside:avoid;font-size:var(--text-sm)}
.rsp-sheet-key{flex:0 1 auto;min-width:min-content;max-width:100%;color:var(--clr-muted);white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.rsp-sheet-row-stacked{align-items:flex-start}
.rsp-sheet-row-stacked .rsp-sheet-key{flex-basis:100%}
.rsp-sheet-row-stacked .rsp-sheet-lead{display:none}
.rsp-sheet-row-stacked .rsp-sheet-value{flex-basis:100%;text-align:left}
/* Dotted leader: the artifact's signature for this table. translateY sits it on the
   baseline rather than under it. Decorative only - the span is aria-hidden. */
.rsp-sheet-lead{flex:1 1 var(--space-4);min-width:0;border-bottom:1px dotted var(--clr-border);transform:translateY(-.3em)}
/* Value tracks the row scale (was --text-base, one step larger than the key, which read
   loose next to the reference pages' denser tables). */
/* flex:0 1 auto + min-width:0 + wrapping: `flex:0 0 auto;white-space:nowrap` made
   "Maschinen fuer Entsorgung und Recycling" spill out of its column (measured at 901 and
   1024px). The leader is decorative and yields space first. */
.rsp-sheet-value{text-align:right;flex:0 1 auto;min-width:0;overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}
.rsp-sheet-value small{margin-left:var(--space-1);color:var(--clr-muted);font-weight:var(--weight-regular)}
.rsp-block,.rsp-inquiry{padding:var(--space-4)}
.rsp-product-page .description{margin-top:var(--space-2);color:var(--clr-text-2);font-size:var(--text-base);line-height:1.7;overflow-wrap:anywhere}
/* DESIGN.md §2: no ad-hoc shadows. The emphasis ring was `0 0 0 3px …`. */
.rsp-inquiry{border-color:var(--clr-primary);box-shadow:var(--shadow-md)}
.rsp-inquiry>p{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--clr-muted)}
.rsp-required-note{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--clr-muted)}
.rsp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.rsp-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.rsp-price-proposal-field{display:none}
.rsp-dialog-body .rsp-price-proposal-field{display:flex}
.rsp-price-proposal-field small{font-size:var(--text-xs);color:var(--clr-muted)}
/* Reference labels compute 12.48px/600; this was 13.33px/500. The WEIGHT was the real
   defect. 12.48px is not on the estate's Minor-Third scale (--text-xs is 11.1, --text-sm
   13.33), and the design system is tokens-only, so --text-sm stays and the 0.85px delta
   is accepted rather than hard-coding an off-scale value. */
.rsp-field label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--rsp-dialog-label-size);font-weight:var(--weight-semi);color:var(--clr-text-2)}
.rsp-field-icon{flex:0 0 auto}
/* 16px is not cosmetic: iOS Safari zooms the viewport on focus for any input under 16px,
   and this was 13.33px. The reference uses 16px with 9px 12px padding. */
.rsp-field input,.rsp-field select,.rsp-field textarea{box-sizing:border-box;width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-bg);color:var(--clr-text);font-size:var(--text-base)}
.rsp-field textarea{min-height:110px;resize:vertical}
.rsp-field :is(input,select,textarea):focus{border-color:var(--clr-primary)}
.rsp-span-2{grid-column:span 2}
.rsp-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4);margin:var(--space-2) 0 var(--space-3);font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-options label{display:flex;align-items:center;min-height:44px;gap:var(--space-2);cursor:pointer}
.rsp-options label:nth-child(n+3){grid-column:1/-1}
.rsp-options input,.rsp-product-page .inquiry-privacy input{width:var(--space-4);height:var(--space-4);flex:0 0 auto;accent-color:var(--clr-primary)}
.rsp-product-page .inquiry-privacy{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-product-page .inquiry-privacy label{display:flex;align-items:center;min-height:44px;gap:var(--space-2);cursor:pointer}
.rsp-product-page .inquiry-privacy a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--clr-primary);text-decoration:underline}
.rsp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}
/* The reference submit is FULL WIDTH at 14.72px/700 with 12px padding - a far stronger
   close than the 172px button this rendered. Scoped to .rsp-submit so the hero band CTA
   keeps its own size. */
.rsp-submit{gap:var(--space-2);margin-top:0;width:100%;padding:12px;font-size:var(--rsp-dialog-submit-size);font-weight:var(--weight-bold)}
.rsp-submit[disabled]{opacity:.65;cursor:wait;transform:none}
.rsp-inquiry-status{min-height:1.5em;margin-top:var(--space-2);font-size:var(--text-sm)}
.rsp-inquiry-status.is-error{color:var(--clr-red-dark);font-weight:var(--weight-medium)}
.rsp-error-summary{margin:var(--space-3) 0 0;padding:var(--space-3);border:2px solid var(--clr-red-dark);border-radius:var(--radius-sm);background:var(--clr-surface);color:var(--clr-red-dark);font-size:var(--text-sm)}
.rsp-error-summary[hidden]{display:none}
.rsp-error-summary ul{margin:var(--space-2) 0 0;padding-left:var(--space-5);list-style:disc}
.rsp-error-summary a{color:var(--clr-red-dark);text-decoration:underline}
.rsp-field-error{display:block;margin-top:var(--space-1);color:var(--clr-red-dark);font-size:var(--text-xs);font-weight:var(--weight-medium)}
.rsp-field [aria-invalid="true"]{border-color:var(--clr-red-dark);border-width:2px}
/* The accepted state, per the approved design's "Angenommen" panel. It replaces
   the form only after a durable 202 — never on a timer, never optimistically. */
.rsp-inquiry-done{padding:var(--space-4) 0;text-align:center}
.rsp-dialog-body>.rsp-inquiry-done{width:100%;padding:var(--space-6);overflow:auto}
.rsp-done-ico{display:grid;place-items:center;width:48px;height:48px;margin:0 auto var(--space-3);border-radius:var(--radius-full);background:var(--clr-green);color:var(--clr-surface-raised);font-size:var(--text-xl);font-weight:var(--weight-bold)}
.rsp-inquiry-done h3{margin-bottom:var(--space-2);font-size:var(--text-lg)}
.rsp-inquiry-done p{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-vorgang-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--clr-muted)}
.rsp-vorgang{display:inline-block;margin:var(--space-1) 0 var(--space-3);padding:var(--space-2) var(--space-4);border:1px dashed var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-bg);font-size:var(--text-sm);font-weight:var(--weight-semi);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.rsp-seller-head{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0}
.rsp-seller-head>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:var(--radius-full);background:var(--clr-primary-light);color:var(--clr-primary-dark);font-weight:var(--weight-bold)}
.rsp-seller-verified-icon{width:28px;height:28px;flex:0 0 auto;color:var(--clr-green);fill:none;stroke-width:2}
.rsp-seller-head strong,.rsp-seller-head small{display:block}
.rsp-seller-head small{font-size:var(--text-xs);color:var(--clr-text-2)}
.rsp-seller-head .rsp-verified{display:flex;align-items:center;gap:var(--space-1);color:var(--rsp-green-dark)}
.rsp-seller-brand{display:grid;place-items:center;width:100%;overflow:hidden;border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface-raised)}
.rsp-seller-brand-registration{height:64px;margin:var(--space-3) 0}
.rsp-seller-brand-registration a{display:grid;place-items:center;width:100%;height:100%}
.rsp-seller-brand-registration img{width:min(200px,100%);height:64px;object-fit:contain}
.rsp-seller-brand-dealer{height:96px;margin:var(--space-3) 0}
.rsp-seller-brand-dealer img{width:100%;height:96px;object-fit:contain}
.rsp-seller-brand img[hidden]{display:none}
.rsp-block p,.rsp-seller p{font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-dealer-profile{color:var(--clr-primary);font-weight:var(--weight-semi);text-decoration:underline;text-underline-offset:2px}
/* The darker derived green avoids the 4.43:1 --clr-green/surface pair while the
   soft hover preserves the approved outline-button hierarchy. */
.rsp-phone{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:44px;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1.5px solid var(--rsp-green-dark);border-radius:var(--radius-sm);background:var(--clr-surface);color:var(--rsp-green-dark);font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}
.rsp-phone-mobile-only{display:none}
.rsp-phone:hover,.rsp-phone:focus-visible{border-color:var(--rsp-green-dark);background:var(--rsp-green-soft);color:var(--rsp-green-dark)}
.rsp-phone-result{display:block;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semi)}
.rsp-phone-result a{color:var(--clr-primary);text-decoration:underline}
.rsp-phone-result.is-error,.rsp-mobile-phone-result.is-error{color:var(--clr-red-dark)}
.rsp-phone-policy{margin-top:var(--space-2);font-size:var(--text-xs)!important;color:var(--clr-text-2)}
.rsp-phone-policy[hidden],[hidden].rsp-phone-result,[hidden].rsp-mobile-phone-result{display:none}
.rsp-mobile-phone-result{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.rsp-price-proposal{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:var(--space-2);padding:var(--space-2) var(--space-4);border:1.5px solid var(--clr-primary);border-radius:var(--radius-sm);background:transparent;color:var(--clr-primary-dark);font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}
/* ── Ähnliche Maschinen: one row, up to five, carousel when they do not fit ──
   The track IS the production .product-grid, restyled only inside .rsp-similar, so the
   cards themselves stay byte-identical to the search pages (asset reuse, not a lookalike).
   min-width:0 on the track and its children is load-bearing - without it a flex item
   defaults to min-width:auto, refuses to shrink, and the DOCUMENT scrolls sideways
   instead of the track. That exact defect was measured on the filmstrip earlier today. */
.rsp-similar-viewport{position:relative;min-width:0}
/* Cards already provide their own surfaces. Remove only this rsp-block's panel chrome
   and padding; every other rsp-block keeps the shared panel rule above. */
.rsp-similar{overflow:visible;margin-top:var(--space-4);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
/* The negative inline margin exactly compensates the track padding: card edges still
   align with the section heading/panels above, while focus outlines and card shadows
   have room inside the scroll clip at both ends. */
.rsp-similar .product-grid{display:flex;gap:var(--space-3);margin:0 calc(-1 * var(--space-3));min-width:0;
  overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;
  scroll-behavior:smooth;scroll-padding-left:var(--space-3);scroll-padding-right:var(--space-3);padding:var(--space-3)}
/* clamp, not a plain fifth: the detail page's main column is ~845px, so a naive /5 gave
   159px cards against the 282px this production card is DESIGNED for (measured on
   resalesuche2.php) - the auction line and category path degrade badly at that width.
   The floor keeps cards legible and lets the carousel carry the overflow, which is what
   the owner asked for; the 282px cap stops them stretching wider than the reference. */
.rsp-similar .product-grid>*{flex:0 0 clamp(230px, calc((100% - 4 * var(--space-3)) / 5), 282px);min-width:0;scroll-snap-align:start}
/* Shared cards animate clipped inline title children. In this narrower row the settled
   state must always expose a rendered ellipsis, including hover/focus/auto-scroll states. */
.rsp-similar .card-title,.rsp-similar .card-title.truncated,.rsp-similar .card-title.auto-scrolling{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsp-similar .card-title .card-title-text,.rsp-similar .product-card:hover .card-title.truncated .card-title-text,.rsp-similar .card-title.auto-scrolling .card-title-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:none}
/* Controls live in the section header, in RESERVED space. Centred over the track they
   covered 28px of every card and overlapped titles, category text and the image. */
.rsp-similar-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.rsp-similar-head h2{margin:0}
.rsp-similar-controls{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}
.rsp-similar-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;padding:0;
  border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface-raised);
  color:var(--clr-text);font-size:var(--text-lg);line-height:1;cursor:pointer;
  transition:background var(--transition),border-color var(--transition)}
.rsp-similar-arrow:hover:not([disabled]){background:var(--clr-bg)}
.rsp-similar-arrow[disabled]{opacity:.4;cursor:default}
.rsp-similar-stop{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;padding:0;border:1px solid var(--clr-border);
  border-radius:var(--radius-sm);background:var(--clr-surface-raised);color:var(--clr-text-2);cursor:pointer}
.rsp-similar-stop svg{width:var(--space-5);height:var(--space-5)}
.rsp-similar-stop:hover{background:var(--clr-bg);color:var(--clr-text)}
.rsp-similar-arrow:focus-visible,.rsp-similar-stop:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
.rsp-similar-arrow[hidden],.rsp-similar-stop[hidden]{display:none}
.rsp-similar .rsk-bm-btn,.rsp-similar .rsk-inquiry-btn{display:none!important}
.rsp-similar .rsp-similar-card-actions .footer-cta{min-height:44px;padding-right:calc(var(--space-12) + var(--space-6))}
.rsp-similar .rsp-similar-details{position:absolute;z-index:2;right:var(--space-4);bottom:var(--space-4);min-height:44px}
.rsp-gallery-actions .card-action-btn{width:44px;height:44px;flex:0 0 auto}
.rsp-mobile-bar{display:none}
.rsp-product-page .footer-keywords a,.rsp-product-page .footer-copy,.rsp-product-page .footer-year{color:oklch(78% .006 255)}
/* The one real form moves into this native dialog. Flex is restricted to [open], or it
   overrides the UA's closed-dialog hiding. The body, not the header, owns scrolling. */
.rsp-inquiry-dialog{width:min(520px,calc(100vw - var(--space-8)));max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8));max-height:var(--rsp-dialog-max-height,calc(100dvh - var(--space-8)));margin:auto;padding:0;overflow:hidden;border:0;border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.rsp-inquiry-dialog[open]{display:flex;flex-direction:column;animation:rsp-dialog-enter 250ms var(--ease-out) both}
.rsp-inquiry-dialog.rsp-visual-viewport[open]{top:var(--rsp-dialog-top);bottom:auto;margin-block:0;margin-inline:auto}
/* These exact scrim and blur values are production inquiry-modal parity exceptions. */
.rsp-inquiry-dialog::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rsp-inquiry-dialog[open]::backdrop{animation:rsp-dialog-backdrop-enter 250ms var(--ease-out) both}
@keyframes rsp-dialog-enter{from{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes rsp-dialog-backdrop-enter{from{opacity:0}to{opacity:1}}
.rsp-inquiry-dialog>header{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--clr-border)}
.rsp-dialog-thumb{width:64px;height:48px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--clr-bg);object-fit:cover}
.rsp-dialog-heading{min-width:0;flex:1 1 auto}
/* Two lines preserve product identity without allowing a compound title to evict close. */
.rsp-inquiry-dialog>header h2{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-size:var(--text-base);font-weight:var(--weight-bold)}
.rsp-dialog-sub{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--clr-muted)}
.rsp-inquiry-dialog .inquiry-close{position:static;display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--clr-text-2);cursor:pointer}
.rsp-inquiry-dialog .inquiry-close svg{width:var(--space-6);height:var(--space-6)}
.rsp-inquiry-dialog .inquiry-close:hover{background:var(--clr-bg);color:var(--clr-text)}
/* The one form becomes a reserved content/footer shell only while it is in the dialog.
   Every shrinking ancestor has min-height:0; the footer never scrolls or covers content. */
.rsp-dialog-body{display:flex;min-height:0;flex:1 1 auto;padding:0;overflow:hidden}
.rsp-dialog-body #inquiry-form:not([hidden]){position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;flex:1 1 auto;margin:0}
.rsp-dialog-body .rsp-form-scroll{grid-row:1;grid-column:1;min-height:0;padding:var(--space-5) var(--space-5) 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--clr-muted) var(--clr-bg);scroll-padding-block:var(--space-4) var(--space-8)}
.rsp-dialog-body .rsp-form-scroll::-webkit-scrollbar{width:var(--space-2)}
.rsp-dialog-body .rsp-form-scroll::-webkit-scrollbar-track{background:var(--clr-bg)}
.rsp-dialog-body .rsp-form-scroll::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:var(--clr-muted)}
.rsp-dialog-body :is(.rsp-field,.rsp-options label,.rsp-error-summary,.rsp-inquiry-status){scroll-margin-block:var(--space-6)}
.rsp-dialog-body .rsp-field :is(input,select,textarea){scroll-margin-block:var(--space-6)}
.rsp-dialog-scroll-cue{display:none}
.rsp-dialog-body .rsp-dialog-scroll-cue{display:none;z-index:2;grid-row:1;grid-column:1;align-self:end;height:var(--space-6);pointer-events:none;background:linear-gradient(to bottom,var(--rsp-scroll-cue-start),var(--rsp-scroll-cue-end));opacity:0;transition:opacity var(--transition)}
.rsp-dialog-body #inquiry-form.rsp-dialog-overflow .rsp-dialog-scroll-cue{display:block}
.rsp-dialog-body .rsp-dialog-scroll-cue.is-visible{opacity:1}
.rsp-form-footer{margin-top:var(--space-3)}
.rsp-contact-unavailable,.rsp-inquiry-notice{margin:var(--space-2) 0;color:var(--clr-text-2);font-size:var(--text-sm);line-height:1.4}
.rsp-conversion-action .rsp-contact-unavailable{max-width:280px;text-align:left}
.rsp-proposal-fields{min-width:0;margin:var(--space-2) 0;padding:var(--space-3);border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-primary-light);color:var(--clr-primary-dark)}
.rsp-proposal-fields[hidden]{display:none}
.rsp-proposal-fields legend{padding:0 var(--space-1);font-weight:var(--weight-semi)}
.rsp-proposal-input{display:flex;align-items:stretch}
.rsp-proposal-input input{min-width:0;flex:1 1 auto;border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--clr-surface-raised);font-size:var(--text-xl);font-weight:var(--weight-semi)}
.rsp-proposal-currency{display:grid;place-items:center;min-width:56px;padding:0 var(--space-2);border:1px solid var(--clr-border);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--clr-surface);font-weight:var(--weight-semi)}
.rsp-proposal-fields small{display:block;margin-top:var(--space-1);color:var(--clr-primary-dark)}
.rsp-dialog-body .rsp-form-footer{z-index:3;grid-row:2;grid-column:1;margin:0;padding:var(--space-3) var(--space-5) var(--space-6);border:0;background:var(--clr-surface);flex:0 0 auto}
.rsp-dialog-body .rsp-submit{min-height:44px}
.rsp-dialog-body .rsp-required-note{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rsp-dialog-body .rsp-options{display:flex;flex-wrap:wrap;column-gap:var(--space-1);margin:var(--space-2) 0 0;font-size:var(--rsp-dialog-label-size)}
.rsp-dialog-body .rsp-options label{min-height:var(--space-6);gap:var(--space-1)}
.rsp-dialog-body .inquiry-privacy{margin:0;font-size:var(--rsp-dialog-label-size)}
.rsp-dialog-body .inquiry-privacy label{min-height:var(--space-6);gap:var(--space-1)}
.rsp-dialog-body :is(.rsp-options,.inquiry-privacy) input{width:var(--text-sm);height:var(--text-sm)}
.rsp-dialog-body .rsp-inquiry-status:empty{min-height:0;margin-top:0}

/* Terminal states (404 / 410 / 503) — the controller owns the status code. */
.rsp-terminal{max-width:640px;margin:var(--space-12) auto;text-align:center}
.rsp-terminal h1{margin-bottom:var(--space-3);font-size:var(--text-xl)}
.rsp-terminal p{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-terminal .search-box{max-width:420px;margin:0 auto var(--space-4)}
.rsp-terminal-submit{min-height:44px;padding:0 var(--space-4);color:var(--clr-primary);font-size:var(--text-sm);font-weight:var(--weight-semi)}
.rsp-terminal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}
.rsp-terminal-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--clr-primary);text-decoration:underline}

/* Server-rendered submit receipt (search-api/inquiry_receipt.php, the no-JS path). */
.rsp-result{max-width:640px;margin:var(--space-12) auto;padding:var(--space-6);border:1px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface-raised)}
.rsp-result h1{margin-bottom:var(--space-3);font-size:var(--text-xl)}
.rsp-result p{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--clr-text-2)}
.rsp-result a{display:inline-flex;align-items:center;min-height:44px;color:var(--clr-primary);text-decoration:underline}
@media(max-width:900px){
  .rsp-conversion-clone{display:none}
  /* align-items:stretch is the actual fix for the filmstrip overflow. The desktop grid
     sets align-items:start; inherited into this column flex, with the stacks as
     display:contents, every stacked panel sizes to its CONTENT on the cross axis, so a
     wide filmstrip widens the page instead of scrolling inside itself. min-width:0 only
     permits shrinking - it does not make them fill the width. */
  .rsp-layout{display:flex;flex-direction:column;align-items:stretch}
  .rsp-main-stack,.rsp-side-stack{display:contents}
  .rsp-gallery{order:1}
  .rsp-media{order:2}
  .rsp-sheet{order:3}
  .rsp-description-block{order:4}
  .rsp-seller{order:5}
  .rsp-inquiry{order:6}
  .rsp-process{order:7}
  .rsp-sheet-rows{column-count:1}
  .rsp-conversion-inner{align-items:flex-start}
  .rsp-conversion.is-docked{position:relative;top:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
  .rsp-conversion.is-docked .rsp-conversion-inner{padding:var(--space-3)}
  .rsp-conversion.is-docked h1{max-width:none;white-space:normal;font-size:var(--text-lg)}
  .rsp-conversion.is-docked .rsp-conversion-meta{display:block}
  .rsp-conversion.is-docked .rsp-badges{display:flex}
}

/* R8a.1h owner/QA closure. All estate adjustments remain page-scoped. */
html.rsp-detail-root,.rsp-product-page{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html.rsp-detail-root{scroll-padding-top:var(--rsp-scroll-top,calc(var(--header-h,64px) + var(--space-2)));scroll-padding-bottom:var(--resale-consent-height,0px)}
.rsp-product-page .fi-rs,.rsp-product-page .fi-cs{background-image:url(product-assets/flag-rs.e40a4c335da9.webp)}
.rsp-product-page .fi-es{background-image:url(product-assets/flag-es.4e66982d99fb.webp)}
.rsp-badge-verified{background:var(--rsp-green-soft);color:var(--rsp-green-dark)}
.rsp-profile-cols-4,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:4}
.rsp-profile-cols-5{--rsp-profile-columns:5}
.rsp-profile [data-fact="machine-location"] .rsp-profile-value{display:block;white-space:normal;overflow-wrap:anywhere}
.rsp-profile :is([data-fact="price"],[data-fact="bid"]) .rsp-profile-value{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.rsp-sheet{container-type:inline-size}
.rsp-options,.rsp-dialog-body .rsp-options{display:flex;flex-wrap:wrap;row-gap:12px;column-gap:18px;margin:12px 0}
.rsp-options label,.rsp-dialog-body .rsp-options label{flex:0 0 auto;min-height:24px;white-space:nowrap}
.rsp-product-page .inquiry-privacy,.rsp-dialog-body .inquiry-privacy{display:block;clear:both}
.rsp-more-fields>summary{display:inline-flex;align-items:center;gap:var(--space-1);list-style:none}
.rsp-more-fields>summary::-webkit-details-marker{display:none}
.rsp-more-fields>summary::after{content:"›";display:inline-block;transition:transform var(--transition)}
.rsp-more-fields[open]>summary::after{transform:rotate(90deg)}
.rsp-similar-viewport,.rsp-similar .product-grid,.rsp-similar .card-img-wrap{touch-action:pan-x pan-y pinch-zoom}
.rsp-similar-arrow[aria-disabled="true"]{opacity:.45;cursor:default}
.rsp-inquiry-dialog.rsp-dialog-short>header{box-sizing:border-box;height:44px;min-height:44px;padding:0 var(--space-2)}
.rsp-inquiry-dialog.rsp-dialog-short .rsp-dialog-thumb,.rsp-inquiry-dialog.rsp-dialog-short .rsp-dialog-sub{display:none}
.rsp-inquiry-dialog.rsp-dialog-short>header h2{-webkit-line-clamp:1;line-clamp:1;white-space:nowrap;text-overflow:ellipsis}
.rsp-inquiry-dialog.rsp-dialog-short .rsp-dialog-body .rsp-form-scroll{min-height:80px;padding-top:var(--space-2)}
.rsp-inquiry-dialog.rsp-dialog-short .rsp-dialog-body .rsp-form-footer{box-sizing:border-box;min-height:52px;padding:4px var(--space-2)}
.rsp-inquiry-dialog.rsp-dialog-tiny .rsp-dialog-body{overflow-y:auto}
.rsp-inquiry-dialog.rsp-dialog-tiny .rsp-dialog-body #inquiry-form:not([hidden]){display:block;overflow:visible}
.rsp-inquiry-dialog.rsp-dialog-tiny .rsp-dialog-body .rsp-form-scroll{min-height:0;overflow:visible}
.rsp-inquiry-dialog.rsp-dialog-tiny .rsp-dialog-body .rsp-form-footer{position:static}
@media(min-width:768px){.rsp-inquiry-dialog{width:min(720px,calc(100vw - 32px));max-width:calc(100vw - 32px)}}

@media (min-width:601px) and (max-width:900px){
  .rsp-profile-cols-4,.rsp-profile-cols-5,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:3}
}

@media (max-width:600px){
  .rsp-profile-cols-2,.rsp-profile-cols-3,.rsp-profile-cols-4,.rsp-profile-cols-5,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:2}
  .rsp-conversion h1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:18px;line-height:1.15;margin-bottom:2px}
  .rsp-product .rsk-breadcrumb{display:block;min-width:0;margin-bottom:var(--space-1)}
  .rsp-breadcrumb-phone{display:block;min-width:0;min-height:24px;overflow:hidden;color:var(--clr-primary-dark);font-size:var(--text-xs);line-height:24px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
}

@media (max-width:900px), (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){
  html.rsp-detail-root{scroll-padding-bottom:calc(var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px))) + var(--resale-consent-height,0px))}
  body.rsp-product-page{padding-bottom:var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px)))}
  .rsp-conversion-clone{display:none}
  .rsp-conversion-inner{position:relative}
  .rsp-mobile-bar{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;box-sizing:border-box;display:grid;height:calc(64px + env(safe-area-inset-bottom,0px));grid-template-areas:"cta";grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--clr-border);background:var(--clr-surface-raised);box-shadow:var(--shadow-lg)}
  .rsp-phone-desktop-only{display:none}
  .rsp-phone-mobile-only{display:flex}
  .rsp-mobile-bar.has-phone{grid-template-areas:"phone cta";grid-template-columns:44px minmax(0,1fr)}
  .rsp-mobile-bar.has-price{grid-template-areas:"price cta";grid-template-columns:minmax(0,1fr) minmax(128px,1.35fr)}
  .rsp-mobile-bar.has-price.has-phone{grid-template-areas:"price phone cta";grid-template-columns:minmax(0,1fr) 44px minmax(128px,1.35fr)}
  .rsp-mobile-bar-price{grid-area:price;align-self:center;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;line-height:1.1;white-space:nowrap;scrollbar-width:thin}
  .rsp-mobile-bar-price>span{display:block;font-size:18px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar-price small,.rsp-mobile-price-label{display:block;font-size:11px;font-weight:var(--weight-medium);white-space:nowrap}
  .rsp-mobile-phone,.rsp-mobile-phone-link{grid-area:phone;align-self:start}
  .rsp-mobile-bar>.rsp-cta{grid-area:cta;width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar>.rsp-auction-form{grid-area:cta;display:block;width:100%;margin:0}
  .rsp-mobile-bar .rsp-auction-submit{width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar[aria-hidden="true"]{display:none}
}

@media (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){
  .rsp-product{padding-top:2px}
  .rsp-product .rsk-breadcrumb{display:block;min-width:0;margin-bottom:2px}
  .rsp-breadcrumb-full{display:none!important}
  .rsp-breadcrumb-phone{display:block;min-width:0;min-height:24px;overflow:hidden;color:var(--clr-primary-dark);font-size:var(--text-xs);line-height:24px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
  .rsp-conversion-inner{padding:6px 12px}
  .rsp-conversion h1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:18px;line-height:1.15;margin-bottom:2px}
  .rsp-badges{margin-top:2px}
  .rsp-gallery-main{min-height:40px}
}
@media(max-width:600px){
  body.rsp-product-page{padding-bottom:var(--rsp-bar-h,calc(45px + var(--space-2) + max(var(--space-2),env(safe-area-inset-bottom,0px))))}
  .rsp-product{padding-bottom:calc(var(--space-16) + var(--space-8))}
  .rsp-conversion-inner{display:block;padding:var(--space-3)}
  .rsp-conversion:not(.is-docked) .rsp-conversion-action{display:none}
  .rsp-form-grid{grid-template-columns:1fr}
  .rsp-span-2{grid-column:auto}
  .rsp-sheet>header{align-items:flex-start;flex-direction:column;gap:var(--space-1)}
  .rsp-sheet-source{margin-left:0}
  .rsp-sheet-row{display:flex;padding:var(--space-2) 0}
  .rsp-sheet-value{text-align:right;overflow-wrap:anywhere}
  .rsp-mobile-phone,.rsp-mobile-phone-link{display:grid;place-items:center;width:44px;height:44px;min-height:44px;flex:0 0 44px;margin:0;padding:0;border:1.5px solid var(--rsp-green-dark);border-radius:var(--radius-sm);background:var(--clr-surface);color:var(--rsp-green-dark)}
  .rsp-mobile-phone svg,.rsp-mobile-phone-link svg{width:var(--space-5);height:var(--space-5)}
  /* The card peek and phone-bar wrap apply at the approved phone breakpoint; no extra
     one-off 480/340px breakpoints are needed to keep the 320px floor usable. */
  .rsp-similar .product-grid>*{flex-basis:86%}
  .rsp-video-consent{max-width:calc(100% - var(--space-12));padding:var(--space-2)}
  .rsp-gallery-main.has-video .rsp-video-consent{justify-self:start;margin-left:var(--space-2);max-width:calc(100% - var(--space-16) - var(--space-1))}
  .rsp-video-consent p{font-size:var(--text-xs)}
}
/* style.css:118 sets html{scroll-behavior:smooth}; a `.rsp-product-page *` selector
   never reaches <html>, so the page's own anchor jumps ignored the preference. */
@media(prefers-reduced-motion:reduce){
  html.rsp-detail-root{scroll-behavior:auto!important}
  .rsp-product-page *,.rsp-inquiry-dialog *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
  .rsp-inquiry-dialog,.rsp-inquiry-dialog::backdrop{animation:none!important;transition:none!important}
  /* autoplay is additionally disabled in JS for this query - see startSimilarAutoplay */
  .rsp-similar .product-grid{scroll-behavior:auto!important}
  .rsp-cta:hover{transform:none}
  .rsp-gallery-track{transition:none!important}
  .rsp-gallery-nav,.rsp-gallery-open{transition:none!important}
  .rsp-gallery-loading::before{animation:none}
}

/* The message textarea rendered in the UA default `monospace` - the most important
   field on the page looked like a code editor. Textarea does NOT inherit font by
   default; input/select/button need it too so the set stays consistent. */
/* Scoped to the FORM, not the inline section: `.rsp-inquiry` is on the section, and the
   JS moves the form out of it into the dialog, so a section-scoped rule silently stops
   applying inside the modal - the textarea went back to monospace there. */
#inquiry-form input,#inquiry-form select,#inquiry-form textarea,#inquiry-form button{font-family:inherit}
#inquiry-form textarea{font-size:var(--text-base);line-height:1.5;min-height:96px}
/* Optional fields behind a disclosure: FIVE visible fields, matching the reference
   modal's set (name, email, phone, company, message). */
.rsp-more-fields{margin-top:12px;border:0;padding-top:0}
.rsp-more-fields>summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--clr-primary-dark);list-style-position:inside}
.rsp-more-fields>summary:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
.rsp-more-fields[open]>summary{margin-bottom:12px}
.rsp-dialog-body .rsp-more-fields{margin-top:12px;padding-top:0;border:0}
.rsp-dialog-body .rsp-more-fields>summary{display:flex;align-items:center;width:max-content;min-height:var(--space-6);font-weight:var(--weight-regular);text-decoration:underline}
.rsp-dialog-body .rsp-more-fields[open]>summary{margin-bottom:12px}

/* A native <dialog> blocks interaction with the page but does NOT stop the wheel from
   scrolling it: astra measured the background moving 0 -> 500px behind the open
   dialog, where the resalesuche2 reference stays at 0. The class is applied by
   product-detail.js, which also preserves and restores the scroll position. */
.rsp-scroll-locked{overflow:hidden}

/* ── R8a canary refinements ─────────────────────────────────────────────── */
.rsp-breadcrumb-phone,.rsp-breadcrumb-disclosure,.rsp-conversion-meta-phone{display:none}
.rsp-conversion-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:var(--space-6);padding:var(--space-3)}
.rsp-conversion-copy{width:auto}
.rsp-conversion:not(.is-docked) .rsp-conversion-action{display:flex;flex-direction:column;align-items:stretch;justify-self:end;width:100%;max-width:280px;text-align:right}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-title-price-line{order:1}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-cta,.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-auction-form{order:2}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>[data-auction-inquiry]{order:2}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-price-proposal{order:3}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-cta-note{order:4}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-cta{width:100%}
.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-auction-form,.rsp-conversion:not(.is-docked) .rsp-conversion-action>.rsp-auction-form .rsp-cta{width:100%}
.rsp-conversion:not(.is-docked) [data-auction-price-unavailable]{font-size:min(1em,var(--text-xl));white-space:nowrap}
.rsp-conversion:not(.is-docked) .rsp-auction-form{margin-top:var(--space-3)}
.rsp-conversion:not(.is-docked) .rsp-auction-form .rsp-auction-submit,.rsp-conversion:not(.is-docked) [data-auction-inquiry].rsp-cta{line-height:inherit}
.rsp-conversion:not(.is-docked) [data-auction-inquiry].rsp-cta .rsp-auction-compact-status{display:none}
.rsp-cta-note[data-auction-inquiry]{display:block;min-height:0;margin-top:var(--space-1);padding:0;color:var(--clr-primary-dark);font-size:var(--text-xs);font-weight:var(--weight-semi);line-height:inherit;text-decoration:underline;text-underline-offset:2px}
.rsp-conversion h1{margin-bottom:var(--space-1);font-size:clamp(20px,2vw,var(--text-2xl));line-height:1.2}
.rsp-conversion-meta{margin:0;font-size:clamp(var(--text-xs),1vw,var(--text-sm))}
.rsp-conversion-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rsp-badges{gap:var(--space-2);margin-top:var(--space-2);overflow-x:auto;flex-wrap:nowrap}
.rsp-badge{flex:0 0 auto;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px}
.rsp-price{font-size:clamp(20px,2vw,var(--text-2xl))}
.rsp-price-proposal{align-self:flex-end;min-height:24px;padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--clr-primary-dark);font-weight:var(--weight-semi);text-decoration:underline;text-underline-offset:2px}
.rsp-price-proposal:hover{color:var(--clr-primary)}
.rsp-side-stack{top:var(--rsp-rail-top,calc(var(--rsp-header-bottom) + var(--rsp-dock-h,0px) + var(--space-2)))}

/* R8a.1c: one quiet, transparent recipe for arrows and the lightbox-open control. */
.rsp-gallery-nav,.rsp-gallery-open{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-full);background:rgb(0 0 0 / 22%);color:#fff;box-shadow:0 1px 4px rgb(0 0 0 / 15%);cursor:pointer;transition:background-color var(--transition)}
.rsp-gallery-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%)}
.rsp-gallery-nav:hover,.rsp-gallery-nav:focus-visible,.rsp-gallery-open:hover,.rsp-gallery-open:focus-visible{background:rgb(0 0 0 / 40%)}
.rsp-gallery-nav:focus-visible,.rsp-gallery-open:focus-visible{outline:2px solid var(--clr-primary);outline-offset:3px}
.rsp-gallery-nav svg,.rsp-gallery-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}
.rsp-gallery-prev{left:var(--space-4)}
.rsp-gallery-next{right:var(--space-4)}
.rsp-gallery-open{position:absolute;z-index:3;right:var(--space-4);bottom:var(--space-4)}
.rsp-gallery-open svg{stroke-linecap:round;stroke-linejoin:round}
.rsp-product-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);color:var(--clr-muted);text-align:center}
.rsp-gallery-main>.rsp-product-placeholder{position:absolute;z-index:1;inset:0}
.rsp-gallery-main>.rsp-product-placeholder,.rsp-video-shell>.rsp-product-placeholder{box-sizing:border-box;width:100%;height:100%;padding:var(--space-8);font-size:var(--text-base);line-height:1.4}
.rsp-product-placeholder svg{width:var(--space-8);height:var(--space-8);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.rsp-card-local-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;width:100%;height:100%;padding:calc(var(--space-12) + var(--space-2));gap:var(--space-2);background:var(--clr-bg);color:var(--clr-muted);font-size:var(--text-sm);line-height:1.35;font-weight:var(--weight-medium);text-align:center}
.rsp-card-local-placeholder svg{width:var(--space-6);height:var(--space-6)}
.rsp-thumb>.rsp-product-placeholder{width:100%;height:100%;gap:2px;padding:2px;font-size:9px;line-height:1}
.rsp-thumb>.rsp-product-placeholder svg{width:14px;height:14px}
.rsp-pdf-thumb{position:relative;display:grid;place-items:center;color:var(--clr-red);text-decoration:none}
.rsp-pdf-thumb .rsp-pdf-icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.75}
.rsp-pdf-thumb>span{position:absolute;right:4px;bottom:4px;padding:1px 4px;border-radius:2px;background:var(--clr-red);color:#fff;font-size:9px;font-weight:var(--weight-bold);line-height:1.4}
.rsp-pdf-thumb:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
.gallery-lightbox :is(.gallery-close,.gallery-nav){min-width:44px;min-height:44px}
.gallery-lightbox.rsp-reduced-motion *{animation:none!important;transition:none!important}
.gallery-lightbox[data-local-fallback] .gallery-img-wrap>[data-lightbox-fallback]{position:relative;inset:auto;box-sizing:border-box;width:min(90vw,calc(82vh * 4 / 3));height:auto;aspect-ratio:4/3;background:var(--clr-bg)}
.gallery-img-wrap>[data-lightbox-fallback][hidden]{display:none}

/* R8a.1: a quiet, naturally wrapping category path rather than another chip row. */
.rsp-sheet-categories{display:block;font-size:var(--text-sm);line-height:1.5;color:var(--clr-text);padding:var(--space-3) var(--space-4);overflow-wrap:anywhere}

/* A8.1: one rhythm in both homes. */
.rsp-form-grid,.rsp-dialog-body .rsp-form-grid{gap:12px}
.rsp-field,.rsp-dialog-body .rsp-field{gap:4px}
.rsp-field textarea,#inquiry-form textarea,.rsp-dialog-body #inquiry-form textarea{min-height:80px}
.rsp-options,.rsp-dialog-body .rsp-options{display:grid;grid-template-columns:repeat(2,max-content);row-gap:10px;column-gap:18px;margin:12px 0;font-size:var(--text-sm)}
.rsp-options label,.rsp-dialog-body .rsp-options label{min-height:24px;gap:var(--space-2)}
.rsp-options label:nth-child(n+3){grid-column:auto}
.rsp-product-page .inquiry-privacy{margin:0 0 16px}
.rsp-dialog-body .inquiry-privacy{margin:0}
.rsp-product-page .inquiry-privacy label,.rsp-dialog-body .inquiry-privacy label{min-height:24px}
.rsp-more-fields,.rsp-dialog-body .rsp-more-fields{margin-top:12px;padding-top:0;border:0}
.rsp-more-fields[open]>summary,.rsp-dialog-body .rsp-more-fields[open]>summary{margin-bottom:12px}
.rsp-dialog-body .rsp-form-scroll{padding:16px 16px 0}
.rsp-form-footer{margin-top:0}
.rsp-dialog-body .rsp-form-footer{padding:16px calc(16px + var(--rsp-dialog-scrollbar-width,0px)) 16px 16px}
.rsp-inquiry-status:empty,.rsp-error-summary[hidden]{display:none;min-height:0;margin:0;padding:0}
.rsp-phone-policy a,.rsp-phone-policy a:visited{display:inline-flex;align-items:center;min-height:24px;color:var(--clr-primary-dark);text-decoration-line:underline;text-underline-offset:2px}
.rsp-phone-policy a:hover,.rsp-phone-policy a:focus-visible{color:var(--clr-primary)}
.rsp-phone-policy a:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
.rsp-similar .rsk-bm-btn{display:grid!important;width:44px;height:44px}
.rsp-similar .card-actions{position:absolute;z-index:3;top:var(--space-2);right:var(--space-2)}

@media(min-width:calc(600px + 1px)) and (max-width:900px){
  .rsp-product .rsk-breadcrumb ol.rsp-breadcrumb-full{display:flex;flex-wrap:nowrap;min-width:0;overflow:hidden;white-space:nowrap}
  .rsp-product .rsk-breadcrumb ol.rsp-breadcrumb-full>li{display:inline-flex;align-items:baseline;flex:0 0 auto;min-width:0;white-space:nowrap}
  .rsp-product .rsk-breadcrumb ol.rsp-breadcrumb-full>li :is(a,b){display:inline;min-width:0;white-space:nowrap}
  .rsp-product .rsk-breadcrumb ol.rsp-breadcrumb-full>li:last-child{flex:1 1 auto;overflow:hidden}
  .rsp-product .rsk-breadcrumb ol.rsp-breadcrumb-full>li:last-child :is(a,b){display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rsp-conversion-inner{grid-template-columns:1fr}
  .rsp-conversion-action{justify-self:end;width:min(100%,280px)}
}

@media(max-width:600px){
  .rsp-profile{--rsp-profile-columns:1}
  html.rsp-detail-root{scroll-padding-bottom:calc(var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px))) + var(--resale-consent-height,0px))}
  body.rsp-product-page{padding-bottom:var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px)))}
  .rsp-product{padding-inline:var(--space-3)}
  .rsp-product .rsk-breadcrumb{display:flex;align-items:center;gap:var(--space-2);min-width:0;margin-bottom:var(--space-1);position:relative}
  .rsp-breadcrumb-full{display:none!important}
  .rsp-breadcrumb-phone{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:24px;flex:1 1 auto;margin:0;white-space:nowrap}
  .rsp-breadcrumb-phone a{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto}
  .rsp-breadcrumb-phone svg{width:16px;height:16px}
  .rsp-breadcrumb-phone b{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .rsp-breadcrumb-disclosure{display:block;flex:0 0 auto;font-size:var(--text-xs)}
  .rsp-breadcrumb-disclosure>summary{display:inline-flex;align-items:center;min-height:24px;color:var(--clr-primary-dark);text-decoration:underline;cursor:pointer}
  .rsp-breadcrumb-disclosure>ol{position:absolute;z-index:5;top:100%;left:0;display:block;width:min(100%,320px);margin:0!important;padding:var(--space-3);border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface-raised);box-shadow:var(--shadow-md)}
  .rsp-breadcrumb-disclosure>ol li{display:block;padding:var(--space-1) 0}
  .rsp-conversion-inner{display:block;padding:12px}
  .rsp-conversion h1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;font-size:18px;line-height:1.15;margin-bottom:2px}
  .rsp-conversion-meta-desktop{display:none}
  .rsp-conversion-meta-phone{display:flex;align-items:center;min-width:0;gap:var(--space-1);white-space:nowrap}
  .rsp-conversion-meta-phone,.rsp-badge{line-height:1.25}
  .rsp-conversion-meta-phone [data-phone-category]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rsp-conversion-meta-phone [data-phone-id]{flex:0 0 auto;white-space:nowrap}
  .rsp-conversion-action{display:none}
  .rsp-badges{gap:8px}
  .rsp-badge{padding:4px 8px}
  .rsp-gallery-main{aspect-ratio:16/9}
  .rsp-gallery-main.has-video{aspect-ratio:4/3}
  .rsp-gallery-prev{left:var(--space-2)}
  .rsp-gallery-next{right:var(--space-2)}
  .rsp-gallery-open{right:var(--space-2);bottom:var(--space-2)}
  .rsp-sheet-categories{padding-inline:var(--space-3)}
  .rsp-product :is(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-bottom:var(--space-2)}
  .rsp-options,.rsp-dialog-body .rsp-options{grid-template-columns:max-content;max-width:100%}
  .rsp-mobile-bar{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;box-sizing:border-box;display:grid;height:calc(64px + env(safe-area-inset-bottom,0px));grid-template-areas:"cta";grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--clr-border);background:var(--clr-surface-raised);box-shadow:var(--shadow-lg)}
  .rsp-mobile-bar.has-phone{grid-template-areas:"phone cta";grid-template-columns:44px minmax(0,1fr)}
  .rsp-mobile-bar.has-price{grid-template-areas:"price cta";grid-template-columns:max-content minmax(0,1fr)}
  .rsp-mobile-bar.has-price.has-phone{grid-template-areas:"price phone cta";grid-template-columns:max-content 44px minmax(0,1fr)}
  .rsp-mobile-bar-price{grid-area:price;align-self:center;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;line-height:1.1;white-space:nowrap;scrollbar-width:thin}
  .rsp-mobile-bar-price:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}
  .rsp-mobile-bar-price>span{display:block;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
  .rsp-mobile-bar-price small,.rsp-mobile-price-label{display:block;font-size:11px;font-weight:var(--weight-medium);white-space:nowrap}
  .rsp-mobile-phone,.rsp-mobile-phone-link{grid-area:phone;align-self:start}
  .rsp-mobile-bar>.rsp-cta{grid-area:cta;width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar>.rsp-auction-form{grid-area:cta;display:block;width:100%;margin:0}
  .rsp-mobile-bar .rsp-auction-submit{width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar[aria-hidden="true"]{display:none}
}

/* R8a.1h final cascade: these owner rulings intentionally follow the prior canary layer. */
.rsp-badge-verified{background:var(--rsp-green-soft);color:var(--rsp-green-dark)}
.rsp-profile-cols-4,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:4}
.rsp-profile-cols-5{--rsp-profile-columns:5}
.rsp-options,.rsp-dialog-body .rsp-options{display:flex;flex-wrap:wrap;row-gap:12px;column-gap:18px;margin:12px 0}
.rsp-options label,.rsp-dialog-body .rsp-options label{flex:0 0 auto;min-height:24px;white-space:nowrap}
@media (min-width:901px) and (max-width:1023px){.rsp-inquiry .rsp-options{column-gap:var(--space-2);font-size:var(--text-xs)}}
@media (min-width:601px) and (max-width:900px){.rsp-profile-cols-4,.rsp-profile-cols-5,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:3}}
@media (max-width:600px){
  .rsp-profile-cols-2,.rsp-profile-cols-3,.rsp-profile-cols-4,.rsp-profile-cols-5,.rsp-profile-cols-6,.rsp-profile-cols-7{--rsp-profile-columns:2}
  .rsp-conversion h1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:18px;line-height:1.15;margin-bottom:2px}
  .rsp-product .rsk-breadcrumb{display:block;min-width:0;margin-bottom:var(--space-1)}
  .rsp-breadcrumb-phone{display:block;min-width:0;min-height:24px;overflow:hidden;color:var(--clr-primary-dark);font-size:var(--text-xs);line-height:24px;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
  .rsp-options,.rsp-dialog-body .rsp-options{display:flex;max-width:none}
  .rsp-badge-verified [data-verified-long]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .rsp-badge-verified [data-verified-short]{display:inline}
}
@media (max-width:900px), (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){
  html.rsp-detail-root{scroll-padding-bottom:calc(var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px))) + var(--resale-consent-height,0px))}
  body.rsp-product-page{padding-bottom:var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px)))}
  .rsp-conversion-clone{display:none}
  .rsp-conversion-inner{position:relative}
  .rsp-mobile-bar{position:fixed;z-index:var(--z-sticky);right:0;bottom:0;left:0;box-sizing:border-box;display:grid;height:calc(64px + env(safe-area-inset-bottom,0px));grid-template-areas:"cta";grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--clr-border);background:var(--clr-surface-raised);box-shadow:var(--shadow-lg)}
  .rsp-mobile-bar.has-phone{grid-template-areas:"phone cta";grid-template-columns:44px minmax(0,1fr)}
  .rsp-mobile-bar.has-price{grid-template-areas:"price cta";grid-template-columns:max-content minmax(0,1fr)}
  .rsp-mobile-bar.has-price.has-phone{grid-template-areas:"price phone cta";grid-template-columns:max-content 44px minmax(0,1fr)}
  .rsp-mobile-bar-price{grid-area:price;align-self:center;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;line-height:1.1;white-space:nowrap;scrollbar-width:thin}
  .rsp-mobile-bar-price>span{display:block;font-size:clamp(13px,4vw,18px);font-weight:700;white-space:nowrap}
  .rsp-mobile-bar-price small,.rsp-mobile-price-label{display:block;font-size:11px;font-weight:var(--weight-medium);white-space:nowrap}
  .rsp-mobile-phone,.rsp-mobile-phone-link{grid-area:phone;align-self:start;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1.5px solid var(--rsp-green-dark);border-radius:var(--radius-sm);background:var(--rsp-green-dark);color:var(--clr-surface-raised);transition:background var(--transition),transform var(--transition)}
  .rsp-mobile-phone:hover,.rsp-mobile-phone-link:hover{border-color:var(--clr-green);background:var(--clr-green);color:var(--clr-surface-raised)}
  .rsp-mobile-phone:active,.rsp-mobile-phone-link:active{border-color:var(--rsp-green-dark);background:var(--rsp-green-dark);color:var(--clr-surface-raised);transform:translateY(1px)}
  .rsp-mobile-phone:focus-visible,.rsp-mobile-phone-link:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px;box-shadow:0 0 0 2px var(--clr-surface-raised);border-color:var(--rsp-green-dark);background:var(--rsp-green-dark);color:var(--clr-surface-raised)}
  .rsp-mobile-phone svg,.rsp-mobile-phone-link svg{width:var(--space-5);height:var(--space-5);color:inherit}
  .rsp-mobile-bar>.rsp-cta{grid-area:cta;width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar>.rsp-auction-form{grid-area:cta;display:block;width:100%;margin:0}
  .rsp-mobile-bar .rsp-auction-submit{width:100%;height:44px;min-height:44px;margin:0;padding:0 8px;font-size:14px;font-weight:700;white-space:nowrap}
  .rsp-mobile-bar[aria-hidden="true"]{display:none}
  .rsp-conversion:not(.is-docked) .rsp-price-proposal{display:none}
}
@media (max-width:600px), (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){
  .rsp-conversion-inner{display:block}
  .rsp-conversion-meta-desktop{display:none}
  .rsp-conversion-meta-phone{display:flex;align-items:center;min-width:0;gap:var(--space-1);white-space:nowrap}
  .rsp-conversion:not(.is-docked) .rsp-conversion-action{display:none}
}
@media (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){.rsp-conversion h1{font-size:18px}.rsp-badge-verified [data-verified-long]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rsp-badge-verified [data-verified-short]{display:inline}}

/* R8a.1j-E: the title card and mobile action bar use the same three listing-type
   recipes at every breakpoint. The 3px line is byte-colour-equivalent to the
   resalesuche2 condition bar; its .7 opacity is deliberately kept separate. */
.rsp-mobile-bar.rsp-type-standard{background:linear-gradient(color-mix(in srgb, var(--clr-blue) 6%, transparent), color-mix(in srgb, var(--clr-blue) 6%, transparent)),var(--clr-surface-raised)}
.rsp-mobile-bar.rsp-type-auction{background:linear-gradient(rgb(217 119 6 / 6%),rgb(217 119 6 / 6%)),var(--clr-surface-raised)}
.rsp-mobile-bar.rsp-type-verified{background:linear-gradient(rgb(74 222 128 / 6%),rgb(74 222 128 / 6%)),var(--clr-surface-raised)}
.rsp-mobile-bar::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;pointer-events:none;opacity:.7;background:linear-gradient(90deg, var(--clr-blue) 0%, #6fa3ff 100%)}
.rsp-mobile-bar.rsp-type-auction::before{background:linear-gradient(90deg, rgb(217, 119, 6) 0%, #f59e0b 100%)}
.rsp-mobile-bar.rsp-type-verified::before{background:linear-gradient(90deg, var(--clr-green) 0%, #4ade80 100%)}

/* R8a.2 consent clearance follows the bar's real visibility contract. :has()
   prevents a phantom gap on terminal pages and while editing/modal/lightbox states
   set the measured bar aria-hidden. Duplicated in the lazy consent sheet so either
   stylesheet can preserve this safety invariant on its own. */
.rsp-product-page .resale-consent-footer-control{margin:0;padding:10px 16px;background:#111827;color:#dbe4f2;text-align:center}
.rsp-product-page .resale-consent-footer-control button{min-height:44px;padding:8px;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
html[data-consent-em="granted"] .rsp-video-shell:not(.is-playing) .rsp-video-consent p{display:none}
@media (max-width:900px){.rsp-product-page:has(.rsp-mobile-bar:not([aria-hidden="true"])) .resale-consent-banner{--resale-consent-bottom:var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px)))}}
@media (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:500px){.rsp-product-page:has(.rsp-mobile-bar:not([aria-hidden="true"])) .resale-consent-banner{--resale-consent-bottom:var(--rsp-bar-h,calc(64px + env(safe-area-inset-bottom,0px)))}}

/* Keep every rendered tile at least 150px wide. These thresholds apply to the
   sheet container, so the desktop side rail cannot create phantom or clipped tracks. */
.rsp-profile-cols-1{--rsp-profile-columns:1;--rsp-profile-last-span:1}
.rsp-profile-cols-2{--rsp-profile-columns:2;--rsp-profile-last-span:1}
.rsp-profile-cols-3{--rsp-profile-columns:3;--rsp-profile-last-span:1}
.rsp-profile-cols-4{--rsp-profile-columns:4;--rsp-profile-last-span:1}
.rsp-profile-cols-5{--rsp-profile-columns:5;--rsp-profile-last-span:1}
.rsp-profile-cols-6{--rsp-profile-columns:4;--rsp-profile-last-span:3}
.rsp-profile-cols-7{--rsp-profile-columns:4;--rsp-profile-last-span:2}
.rsp-profile>div{grid-column:span 1}
.rsp-profile>div:last-child{grid-column:span var(--rsp-profile-last-span,1)}
@media (min-width:601px) and (max-width:900px){
  .rsp-profile-cols-4{--rsp-profile-columns:3;--rsp-profile-last-span:3}
  .rsp-profile-cols-5{--rsp-profile-columns:3;--rsp-profile-last-span:2}
  .rsp-profile-cols-6{--rsp-profile-columns:3;--rsp-profile-last-span:1}
  .rsp-profile-cols-7{--rsp-profile-columns:3;--rsp-profile-last-span:3}
}
@media (min-width:901px){
  @container (max-width:749px){.rsp-profile{--rsp-sheet-value-size:var(--text-base)}.rsp-profile-cols-5{--rsp-profile-columns:4;--rsp-profile-last-span:4}.rsp-profile :is([data-fact="price"],[data-fact="bid"]) .rsp-profile-value{white-space:nowrap;overflow-wrap:normal}}
}
@container (max-width:599px){
  .rsp-profile-cols-4{--rsp-profile-columns:3;--rsp-profile-last-span:3}
  .rsp-profile-cols-5{--rsp-profile-columns:3;--rsp-profile-last-span:2}
  .rsp-profile-cols-6{--rsp-profile-columns:3;--rsp-profile-last-span:1}
  .rsp-profile-cols-7{--rsp-profile-columns:3;--rsp-profile-last-span:3}
}
@container (max-width:449px){
  .rsp-profile-cols-3{--rsp-profile-columns:2;--rsp-profile-last-span:2}
  .rsp-profile-cols-4{--rsp-profile-columns:2;--rsp-profile-last-span:1}
  .rsp-profile-cols-5{--rsp-profile-columns:2;--rsp-profile-last-span:2}
  .rsp-profile-cols-6{--rsp-profile-columns:2;--rsp-profile-last-span:1}
  .rsp-profile-cols-7{--rsp-profile-columns:2;--rsp-profile-last-span:2}
}
@media (max-width:600px){
  .rsp-profile-cols-2{--rsp-profile-columns:2;--rsp-profile-last-span:1}
  .rsp-profile-cols-3{--rsp-profile-columns:2;--rsp-profile-last-span:2}
  .rsp-profile-cols-4{--rsp-profile-columns:2;--rsp-profile-last-span:1}
  .rsp-profile-cols-5{--rsp-profile-columns:2;--rsp-profile-last-span:2}
  .rsp-profile-cols-6{--rsp-profile-columns:2;--rsp-profile-last-span:1}
  .rsp-profile-cols-7{--rsp-profile-columns:2;--rsp-profile-last-span:2}
}
@container (max-width:299px){
  .rsp-profile-cols-2{--rsp-profile-columns:1;--rsp-profile-last-span:1}
  .rsp-profile-cols-3{--rsp-profile-columns:1;--rsp-profile-last-span:1}
  .rsp-profile-cols-4{--rsp-profile-columns:1;--rsp-profile-last-span:1}
  .rsp-profile-cols-5{--rsp-profile-columns:1;--rsp-profile-last-span:1}
  .rsp-profile-cols-6{--rsp-profile-columns:1;--rsp-profile-last-span:1}
  .rsp-profile-cols-7{--rsp-profile-columns:1;--rsp-profile-last-span:1}
}

/* Lightbox slow-load overlay (R8a.1k-3). Kept here, not in the shared lightbox.css (also used by resalesuche2.php). */
/* After eight seconds the shared gallery state adds a textual overlay while
   retaining the same display request until the single 45-second deadline. */
.gallery-img-wrap > .rsp-gallery-loading {
  position: absolute;
  z-index: 6;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  padding: 24px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  font: 600 16px/1.4 'Inter', system-ui, sans-serif;
  text-align: center;
  pointer-events: none;
}
.gallery-img-wrap > .rsp-gallery-loading::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  box-sizing: border-box;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: gallerySpin .8s linear infinite;
}
.gallery-img-wrap:has(> .rsp-gallery-loading) > .gallery-spinner{visibility:hidden}
@media(prefers-reduced-motion:reduce){
  .gallery-img-wrap > .rsp-gallery-loading::before{animation:none}
}
