/* VTuber Places v1.1.1737 — Pass 4F listing-detail and request-form acceptance */
.vtpListingGallery[data-marketplace-gallery] { position: relative; min-width: 0; }
.vtpListingGallery[data-marketplace-gallery] .vtpListingMain img { object-fit: contain; background: #f8f2fa; }
.vtpListingGalleryControls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.vtpListingGalleryControls button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(126,82,143,.2); border-radius: 999px; background: #fff; color: #684675; font: 900 24px/1 system-ui,sans-serif; cursor: pointer; }
.vtpListingGalleryControls span { min-width: 92px; color: #735d7a; font-size: 12px; font-weight: 900; text-align: center; }
.vtpListingGalleryControls button:hover { border-color: rgba(231,101,154,.45); color: #a52c67; }
.vtpListingGalleryControls button:focus-visible,
.vtpListingThumb:focus-visible { outline: 3px solid rgba(128,89,218,.38); outline-offset: 3px; }
.vtpListingThumbs { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; padding: 3px 3px 7px; }
.vtpListingThumb { flex: 0 0 76px; scroll-snap-align: center; }
.vtpListingThumb[aria-pressed="true"] { border-color: #e7659a; box-shadow: 0 0 0 2px rgba(231,101,154,.14); }

.vtpAvailability.is-digital { background: #edf4ff; color: #3e6395; }
.vtpListingAvailabilityCopy { display: grid; gap: 3px; margin: 10px 0 14px; padding: 11px 13px; border: 1px solid rgba(78,142,112,.14); border-radius: 15px; background: #f4fff9; color: #456355; }
.vtpListingAvailabilityCopy strong { color: #315645; font-size: 13px; }
.vtpListingAvailabilityCopy span { font-size: 12px; font-weight: 720; line-height: 1.5; }
.vtpListingAvailabilityCopy.is-waitlist { border-color: rgba(177,128,30,.17); background: #fff9e9; color: #7a622e; }
.vtpListingAvailabilityCopy.is-waitlist strong { color: #765316; }
.vtpListingAvailabilityCopy.is-closed { border-color: rgba(111,91,119,.14); background: #f7f3f8; color: #78697e; }
.vtpListingAvailabilityCopy.is-closed strong { color: #5d4b64; }
.vtpListingAvailabilityCopy.is-digital { border-color: rgba(73,114,170,.15); background: #f3f7ff; color: #526c8e; }
.vtpListingAvailabilityCopy.is-digital strong { color: #36577f; }

.vtpMarketplaceRequestError { display: grid; gap: 4px; margin: 0 0 15px; padding: 13px 15px; border: 1px solid rgba(190,91,98,.25); border-radius: 16px; background: #fff3f5; color: #874152; }
.vtpMarketplaceRequestError strong { color: #743345; }
.vtpMarketplaceRequestError span { font-size: 13px; font-weight: 700; line-height: 1.5; }
.vtpMarketplaceRequestActions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
[data-marketplace-request-form].hasRecoveredMarketplaceDraft { box-shadow: 0 0 0 3px rgba(128,89,218,.12); }
[data-marketplace-request-form] .vtpField small { color: #8c6b93; font-size: 10px; font-weight: 850; }

@media (max-width: 620px) {
  .vtpListingGalleryControls { justify-content: space-between; }
  .vtpListingGalleryControls span { flex: 1; }
  .vtpListingThumbs { margin-inline: -3px; }
  .vtpListingThumb { flex-basis: 68px; width: 68px; height: 58px; }
  .vtpListingAvailabilityCopy { margin-bottom: 12px; }
  .vtpMarketplaceRequestActions { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .vtpMarketplaceRequestActions .vtpButton { justify-content: center; min-height: 44px; }
  .vtpListingSection#request { padding-bottom: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .vtpListingThumbs { scroll-behavior: auto; }
}