/* IDX preview skin 1.2.0: private draft 3360 / authenticated homepage preview only.
 * Provider card/banner/carousel classes are undocumented; see selector-inventory.md.
 * Preserve provider data order, broker credits and native logo slots. */
/* Targets .mm-idx-preview; preserve native data and actions. */
.mm-idx-preview { --idx-black:#010101; --idx-gold:#fec830; --idx-orange:#ea7a33; --idx-card:#141414; --idx-body:#fff; --idx-muted:#d6d9db; --idx-border:#2e2e2e; }
/* Targets our section shell: contain the full-viewport strip's overflow. */
.mm-idx-preview .mm-ride-market { width:var(--idx-viewport-width,100vw); margin-inline:calc(50% - var(--idx-viewport-width,100vw) / 2); overflow-x:clip; }
/* Targets our gallery shell: full screen while heading/disclaimer stay contained. */
.mm-idx-preview .mm-home-gallery { width:var(--idx-viewport-width,100vw); margin-inline:calc(50% - var(--idx-viewport-width,100vw) / 2); }
/* Targets the native gallery layout: keep its arrows below the full-width strip. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:24px 0; }
/* Targets the native viewport: safe edge gutters keep complete cards unfaded. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings-wrapper { grid-column:1/-1; grid-row:1; width:100%; min-width:0; padding-inline:clamp(24px,4vw,72px); box-sizing:border-box; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:clamp(24px,4vw,72px); scrollbar-width:none; }
/* Targets decorative strip edges only: non-interactive fades share the card row. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings::before,
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings::after { content:""; grid-column:1/-1; grid-row:1; width:clamp(24px,4vw,72px); z-index:1; pointer-events:none; background:linear-gradient(90deg,#010101,transparent); }
/* Targets the right decorative edge: mirror the left fade. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings::after { justify-self:end; background:linear-gradient(270deg,#010101,transparent); }
/* Targets the native track's trailing space: let its own width-based paging
   bring the final complete card and logo clear of the right edge fade. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-grid::after { content:""; flex:0 0 calc(2 * clamp(24px,4vw,72px)); }
/* Targets native cells: every card can stop completely outside both edge fades. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-grid > * { scroll-snap-align:start; scroll-snap-stop:always; }
/* Targets the final native cell: finish with its logo and credit before the fade. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-grid > :last-child { scroll-snap-align:end; }
/* Targets native controls: retain real actions outside the fading card row. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings > .sidx-gallery-listings-prev { grid-column:1; grid-row:2; margin-left:clamp(24px,4vw,72px); }
/* Targets the native next control: align with the opposite strip gutter. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings > .sidx-gallery-listings-next { grid-column:3; grid-row:2; margin-left:calc(-1 * clamp(24px,4vw,72px)); }
/* Targets native gallery cells: Figma's 520px cards with 24px between them. */
.mm-idx-preview .mm-ride-market .sidx-container .sidx-widget.sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-search-results .sidx-grid > * { flex:0 0 520px; width:520px; min-width:0; max-width:520px; margin:0 24px 0 0; }
/* Targets the original card shell: remove its smaller native width cap. */
.mm-idx-preview .mm-ride-market .sidx-container .sidx-widget.sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-search-results .sidx-grid > * .sidx-search-result-grid-item { width:100%; max-width:100%; margin:0; }
/* Targets native photos: fill the original frame without changing source,
   aspect ratio or inline positions; the minimum takes precedence over its cap. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-image > img { min-width:100%; min-height:100%; }
/* Targets only the native photo's decorative overlay: blend its bottom into
   the card, without intercepting the original photo/gallery controls. */
.mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgb(20 20 20 / 40%) 72%,var(--idx-card) 100%); pointer-events:none; }
/* Targets the original DMAAR logo slot: a small white backing preserves the
   supplied image's contrast and native position beside the price. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-listing-logo { background:#fff; padding:4px; border-radius:4px; }
/* Targets .mm-market-title; preserve native data and actions. */
.mm-idx-preview .mm-market-title { color:#fff; font-family:Oswald,sans-serif; font-weight:500; }
/* Targets .mm-ride-eye; preserve native data and actions. */
.mm-idx-preview .mm-ride-eye { color:var(--idx-gold); }
/* Targets .mm-gallery-disclaimer; preserve native data and actions. */
.mm-idx-preview .mm-gallery-disclaimer { color:#d6d9db; font-size:14px; line-height:1.65; }
/* Targets .sidx-container; preserve native data and actions. */
.mm-idx-preview .sidx-container { font-family:Lato,sans-serif; color:var(--idx-body); }
/* Targets .sidx-container .sidx-search-result-grid-item; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-result-grid-item { background:var(--idx-card); border:1px solid var(--idx-border); border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgb(0 0 0 / 12%); }
/* Targets .sidx-container .sidx-search-results .sidx-content; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-content { display:flex; flex-direction:column; background:var(--idx-card); color:var(--idx-body); border-radius:16px; }
/* Targets Showcase's hydrated grid-cell wrappers: equal-height native cards. */
.mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-grid > * { display:flex; flex-direction:column; align-self:stretch; }
/* Targets Showcase's native sign-in gate around each card: stretch its child. */
.mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-grid > .sidx-require-auth > div:first-child { display:flex; flex:1; flex-direction:column; min-width:0; }
/* Targets Showcase's native gallery grid: equal-height cells at every width. */
.mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-grid { align-items:stretch; }
/* Targets Showcase's hydrated cards inside grid cells: fill equal-height cells. */
.mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-grid > * .sidx-search-result-grid-item { flex:1; min-width:0; }
/* Targets .sidx-container .sidx-search-results .sidx-details; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-details { padding:18px; min-height:230px; background:var(--idx-card); }
/* Targets .sidx-container .sidx-search-results .sidx-primary-info .sidx-price; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-primary-info .sidx-price { font-family:Oswald,sans-serif; font-weight:500; font-size:32px; line-height:1.2; color:var(--idx-gold); }
/* Targets .sidx-container .sidx-search-results .sidx-listing-heading; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-listing-heading { color:var(--idx-body); font-size:16px; line-height:1.4; }
/* Targets .sidx-container .sidx-search-results .sidx-info-blocks; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-info-blocks { color:var(--idx-muted); font-size:13px; line-height:1.4; margin-block:10px; }
/* Targets Showcase's individual property facts: readable contrast on dark cards. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-info-blocks > * { color:var(--idx-muted); }
/* Targets Showcase's fact labels and values: remove pale low-contrast text. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-info-blocks .sidx-info-title,
.mm-idx-preview .sidx-container .sidx-search-results .sidx-info-blocks .sidx-info-value { color:var(--idx-muted); }
/* Targets Showcase's documented For Sale label: readable neutral on dark cards. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-mls-details .sidx-for-sale { color:var(--idx-muted); }
/* Targets .sidx-container .sidx-search-results .sidx-mls-details; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-mls-details { color:var(--idx-muted); font-size:12px; line-height:1.4; }
/* Targets .sidx-container .sidx-search-result-grid-item .sidx-disclaimer; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-result-grid-item .sidx-disclaimer { color:var(--idx-muted); font:400 13px/1.45 Lato,sans-serif; padding-top:14px; margin-bottom:0; }
/* Targets .sidx-container .sidx-search-result-grid-item .sidx-disclaimer-truncate; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-result-grid-item .sidx-disclaimer-truncate { display:block; -webkit-line-clamp:unset; line-clamp:unset; overflow:visible; text-overflow:clip; white-space:normal; }
/* Targets .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons { width:auto; max-width:calc(100% - 24px); margin:12px; }
/* Targets .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-ribbon.sidx-new-listing,; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-ribbon.sidx-new-listing,
.mm-idx-preview .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-ribbon.sidx-price-drop { background:var(--idx-black); color:var(--idx-gold); border-radius:999px; font:700 11px/1.45 Lato,sans-serif; padding:7px 12px; text-shadow:none; }
/* Targets .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-prev,; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-prev,
.mm-idx-preview .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-next { background:var(--idx-black); color:var(--idx-gold); border:1px solid var(--idx-gold); border-radius:50%; width:44px; height:44px; flex:0 0 44px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
/* Targets .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-prev i,; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-prev i,
.mm-idx-preview .sidx-container .sidx-gallery-listings > .sidx-gallery-listings-next i { font-size:20px; color:inherit; }
/* Targets .sidx-container .sidx-gallery-listings > .sidx-disabled; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-gallery-listings > [aria-disabled="true"] { opacity:.55; cursor:default; }
/* Targets the original arrows after scrolling: ignore stale translated-pager state. */
.mm-idx-preview .sidx-container .sidx-gallery-listings > [aria-disabled="false"] { opacity:1; cursor:pointer; }
/* Targets .sidx-container .sidx-button,
.sidx-container button; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-button,
.mm-idx-preview .sidx-container button { background:linear-gradient(135deg,var(--idx-gold),var(--idx-orange)); color:var(--idx-black); border:0; border-radius:6px; padding:16px 28px; min-height:48px; font:700 16px/1.2 Lato,sans-serif; }
/* Targets Showcase's native See All form: center its genuine submit action. */
.mm-idx-preview .sidx-container .sidx-hotsheet > form { display:flex; justify-content:center; }
/* Targets Showcase's native See All label: keep the short label on one line. */
.mm-idx-preview .sidx-container .sidx-hotsheet-see-all-results { white-space:nowrap; }
/* Targets .sidx-container :is(a,button,[role=button],[tabindex]):focus-visible; preserve native data and actions. */
.mm-idx-preview .sidx-container :is(a,button,[role=button],[tabindex]):focus-visible { outline:3px solid var(--idx-gold); outline-offset:4px; }
/* Targets .sidx-container .sidx-search-result-grid-item :is(a,button,[role=button],[tabindex]):focus-visible; preserve native data and actions. */
.mm-idx-preview .sidx-container .sidx-search-result-grid-item :is(a,button,[role=button],[tabindex]):focus-visible { outline-color:var(--idx-gold); outline-offset:-3px; }
@media(max-width:1024px) {
 /* Targets .sidx-container .sidx-gallery-listings; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-gallery-listings { gap:10px; flex-wrap:wrap; }
 /* Targets native paging arrows: touch layouts use one scroll coordinate
    system, avoiding conflicts between scroll-snap and provider translation. */
 .mm-idx-preview .sidx-container .sidx-gallery-listings > :is(.sidx-gallery-listings-prev,.sidx-gallery-listings-next) { display:none; }
 /* Targets .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper { width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:clamp(24px,4vw,72px); padding-block:4px 16px; }
 /* Targets .sidx-container .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-grid; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-grid { align-items:stretch; }
 /* Targets .sidx-container .sidx-gallery-listings .sidx-search-results .sidx-grid > *; preserve native data and actions. */
 .mm-idx-preview .mm-ride-market .sidx-container .sidx-widget.sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-search-results .sidx-grid > * { flex:0 0 60%; width:60%; min-width:0; max-width:520px; margin:0 24px 0 0; scroll-snap-align:start; scroll-snap-stop:always; }
 /* Targets Showcase's card inside each touch-scroll cell: retain full credit. */
 .mm-idx-preview .mm-ride-market .sidx-container .sidx-widget.sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-search-results .sidx-grid > * .sidx-search-result-grid-item { width:100%; max-width:100%; margin:0; }
}
@media(max-width:600px) {
 /* Targets .sidx-container .sidx-gallery-listings .sidx-search-results .sidx-grid > *; preserve native data and actions. */
 .mm-idx-preview .mm-ride-market .sidx-container .sidx-widget.sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper .sidx-search-results .sidx-grid > * { flex-basis:85%; width:85%; min-width:0; max-width:520px; margin-right:16px; }
 /* Targets .sidx-container .sidx-search-results .sidx-details; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-search-results .sidx-details { padding:16px; }
 /* Targets .sidx-container .sidx-search-results .sidx-primary-info .sidx-price; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-search-results .sidx-primary-info .sidx-price { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
 /* Targets native paging arrows: use the accessible scroll viewport instead
    of triggering Showcase's JavaScript-driven paging animation. */
 .mm-idx-preview .sidx-container .sidx-gallery-listings > :is(.sidx-gallery-listings-prev,.sidx-gallery-listings-next) { display:none; }
 /* Targets .sidx-container .sidx-gallery-listings-wrapper; preserve native data and actions. */
 .mm-idx-preview .sidx-container .sidx-hotsheet .sidx-gallery-listings .sidx-gallery-listings-wrapper { width:100%; overflow-x:auto; scroll-behavior:auto; scroll-snap-type:x mandatory; scroll-padding-inline:clamp(24px,4vw,72px); }
 /* Targets native grid cells: retain snap points in the reduced-motion strip. */
 .mm-idx-preview .sidx-container .sidx-gallery-listings .sidx-grid > * { scroll-snap-align:start; }
 /* Targets .sidx-container :is(.sidx-grid,.sidx-content,.sidx-ribbon); preserve native data and actions. */
 .mm-idx-preview .sidx-container :is(.sidx-grid,.sidx-content,.sidx-ribbon) { transition:none; animation:none; }
}
