.vmodel{--vmodel-border:#e9def3;--vmodel-ink:#261d35;--vmodel-accent:#8154a5;--vmodel-gap:16px;min-width:0;color:var(--vmodel-ink);font-family:inherit;box-sizing:border-box}
.vmodel *{box-sizing:border-box}
.vmodel [hidden]{display:none!important}
.vmodel--row{margin:32px 0}
.vmodel__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.vmodel .vmodel__heading h2{margin:0;font-size:22px;font-weight:750;line-height:1.25;color:var(--vmodel-ink)}
.vmodel .vmodel__heading p{margin:5px 0 0;font-size:14px;line-height:1.45;color:#82758f}
.vmodel__controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.vmodel .vmodel__control{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;min-width:36px;padding:0;border:1px solid var(--vmodel-border);border-radius:50%;background:#fff;color:var(--vmodel-accent);box-shadow:none;cursor:pointer;line-height:1;font-family:inherit;font-size:17px}
.vmodel .vmodel__control svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vmodel .vmodel__control:hover:not(:disabled){background:#f7f2fc;border-color:#ccb7df}
.vmodel .vmodel__control:disabled{opacity:.35;cursor:default}
.vmodel__track{min-width:0;max-width:100%}
.vmodel--row .vmodel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--vmodel-gap)*4)/5);gap:var(--vmodel-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:1px 0 10px}
.vmodel--row .vmodel__track::-webkit-scrollbar{display:none}
.vmodel__card{min-width:0;margin:0;border:1px solid var(--vmodel-border);border-radius:18px;overflow:hidden;background:#fff;scroll-snap-align:start;box-shadow:0 3px 12px rgba(55,29,75,.025)}
.vmodel .vmodel__link{display:block;height:100%;padding:0;color:inherit;text-decoration:none!important;background:transparent}
.vmodel__photo{position:relative;overflow:hidden;background:#f5f2f8;aspect-ratio:3/4}
.vmodel .vmodel__market{display:inline-flex;flex:0 1 auto;align-items:center;gap:5px;min-width:0;max-width:100%;padding:3px 7px;border:1px solid #dfcdeb;border-radius:999px;background:#fbf8fe;color:#6d4b88;font-size:10px;font-weight:650;line-height:15px;white-space:nowrap}
.vmodel__market-flag{flex:0 0 auto;font-size:12px;line-height:15px}
.vmodel__market-label{overflow:hidden;text-overflow:ellipsis}
.vmodel__badge{display:inline-block;max-width:100%;margin:0 0 7px;padding:4px 7px;border:1px solid #eee5f5;border-radius:999px;background:#fbf8fe;color:#81638f;font-size:9px;font-weight:650;line-height:1.2;letter-spacing:.02em}
.vmodel .vmodel__photo img{display:block;width:100%;height:100%;min-height:0;max-width:100%;margin:0;border:0;border-radius:0;object-fit:contain;object-position:center}
.vmodel__details{padding:12px}
.vmodel .vmodel__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:38px;max-height:38px;margin:0 0 5px;font-size:14px;line-height:19px;font-weight:650;color:var(--vmodel-ink);text-overflow:ellipsis}
.vmodel .vmodel__size{overflow:hidden;margin:0 0 8px;color:#7b6b87;font-size:12px;line-height:17px;white-space:nowrap;text-overflow:ellipsis}
.vmodel__price-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.vmodel .vmodel__price{flex:0 0 auto;width:auto;margin:0;font-size:18px;font-weight:750;line-height:1.25;color:var(--vmodel-ink)}
.vmodel .vmodel__buyer{margin:4px 0 0;font-size:11px;line-height:1.35;font-weight:550;color:var(--vmodel-accent)}
.vmodel a:focus-visible,.vmodel button:focus-visible,.vmodel__track:focus-visible{outline:2px solid #a47ac6;outline-offset:3px}
.vmodel--rail{margin-top:14px;padding:15px;border:1px solid var(--vmodel-border);border-radius:20px;background:#fbf9fe}
.vmodel--rail .vmodel__heading{gap:8px;margin-bottom:12px}
.vmodel--rail .vmodel__heading h2{font-size:16px;line-height:1.3}
.vmodel--rail .vmodel__controls{gap:4px}
.vmodel--rail .vmodel__control{height:28px;width:28px;min-width:28px}
.vmodel--rail .vmodel__control svg{width:17px;height:17px}
.vmodel--rail .vmodel__pause{font-size:13px}
.vmodel--rail .vmodel__photo{height:270px;aspect-ratio:auto}
.vmodel--rail .vmodel__details{padding:11px 12px 12px}
.vmodel--rail .vmodel__title{font-size:13px;line-height:17px;min-height:34px;max-height:34px}
.vmodel--rail .vmodel__size{margin-bottom:6px}
.vmodel--rail .vmodel__price{font-size:17px}
.vmodel__position{margin:10px 0 0;text-align:center;font-size:11px;line-height:1.2;color:#8b789c;font-variant-numeric:tabular-nums}
@media(min-width:768px) and (max-width:1023px){.vmodel--row .vmodel__track{grid-auto-columns:calc((100% - var(--vmodel-gap)*2)/3)}}
@media(max-width:767px){.vmodel--row{--vmodel-gap:12px;margin:26px 0}.vmodel .vmodel__heading h2{font-size:19px}.vmodel .vmodel__heading p{font-size:12px}.vmodel__heading{margin-bottom:13px;gap:8px}.vmodel--row .vmodel__track{grid-auto-columns:calc((100% - var(--vmodel-gap))/2)}.vmodel .vmodel__control{height:32px;width:32px;min-width:32px}.vmodel__controls{gap:5px}.vmodel__card{border-radius:15px}.vmodel__details{padding:10px}.vmodel .vmodel__title{font-size:13px;line-height:17px;min-height:34px;max-height:34px}.vmodel .vmodel__price{font-size:17px}.vmodel .vmodel__buyer{font-size:10px}.vmodel .vmodel__size{font-size:11px}.vmodel--rail{display:none}}
@media(prefers-reduced-motion:reduce){.vmodel__track{scroll-behavior:auto}.vmodel__pause{display:none!important}}

html[data-vrool-theme="dark"] .vmodel--row .vmodel__heading h2{color:#f0e7fb}
html[data-vrool-theme="dark"] .vmodel--row .vmodel__heading p{color:#bdb0cc}

/* Keep listing titles to one regular-weight line in every card layout. */
.vmodel .vmodel__card .vmodel__title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;min-height:0;max-height:none;-webkit-line-clamp:unset;-webkit-box-orient:initial}

/* Theme the shared model cards and rail without altering listing photos. */
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel{--vmodel-border:#43374f;--vmodel-ink:#f4eefb;--vmodel-accent:#c3a0e1;--vmodel-surface:#211e28;--vmodel-muted:#b8aabe;--vmodel-highlight:#392c49;color-scheme:dark}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) :is(.vmodel--rail,.vmodel .vmodel__card,.vmodel .vmodel__control){background:var(--vmodel-surface);border-color:var(--vmodel-border)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__card{box-shadow:0 3px 12px rgba(0,0,0,.14)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__photo{background:#1b1821}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__market{background:#392c49;border-color:#635071;color:#dec6ee}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__badge{background:var(--vmodel-highlight);border-color:var(--vmodel-border);color:var(--vmodel-accent)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__heading h2{color:var(--vmodel-ink)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel :is(.vmodel__heading p,.vmodel__size,.vmodel__position){color:var(--vmodel-muted)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel .vmodel__control:hover:not(:disabled){background:var(--vmodel-highlight);border-color:var(--vmodel-accent)}
:is(html[data-vrool-theme="dark"],body[data-theme="dark"]) .vmodel :is(a,button,.vmodel__track):focus-visible{outline-color:var(--vmodel-accent)}

/* Match portrait model photos to the row cards and fill their full width. */
.vmodel--row .vmodel__photo{aspect-ratio:2/3}
.vmodel--row .vmodel__photo img{object-fit:cover}
