.dv-acervo--sprint5 { --dv-orange: #ff5833; --dv-lime: #b5ff28; }
.dv-acervo--sprint5 .dv-acervo__entry-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1200px; margin: 0 auto 26px; padding: 0 24px; }
.dv-acervo--sprint5 .dv-acervo__entry-points a { min-height: 146px; display: grid; align-content: space-between; padding: 24px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: linear-gradient(135deg, rgba(255, 88, 51, .11), rgba(15, 15, 13, .98) 62%); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease, background .2s ease; }
.dv-acervo--sprint5 .dv-acervo__entry-points a:nth-child(2) { background: linear-gradient(135deg, rgba(181, 255, 40, .1), rgba(15, 15, 13, .98) 62%); }
.dv-acervo--sprint5 .dv-acervo__entry-points a:hover, .dv-acervo--sprint5 .dv-acervo__entry-points a:focus-visible { border-color: var(--dv-orange); transform: translateY(-2px); }
.dv-acervo--sprint5 .dv-acervo__entry-points span { color: var(--dv-orange); font-size: .68rem; font-weight: 900; letter-spacing: .15em; }
.dv-acervo--sprint5 .dv-acervo__entry-points strong { margin-top: 26px; font-size: clamp(1.2rem, 2vw, 1.7rem); letter-spacing: -.03em; }
.dv-acervo--sprint5 .dv-acervo__entry-points small { margin-top: 6px; color: #aaa59e; font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.dv-acervo--sprint5 .dv-acervo__tools { grid-template-columns: minmax(230px, 1fr) auto; gap: 16px; }
.dv-acervo__selects { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.dv-acervo__selects label { display: flex; align-items: center; gap: 9px; color: #aba59e; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.dv-acervo__selects select { min-height: 42px; border: 1px solid #3c3935; border-radius: 999px; background: #171714; color: #f6f3ef; padding: 0 34px 0 14px; font: inherit; text-transform: none; }
.dv-acervo__grid--sprint5 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dv-acervo--sprint5 .dv-asset-card { border-radius: 18px; background: #11110f; }
.dv-acervo--sprint5 .dv-asset-card__media { aspect-ratio: 16 / 9; isolation: isolate; }
/* The storefront grid remains visually uniform. Source orientation is retained
   as metadata and shown uncropped in the individual product preview. */
.dv-acervo--sprint5 .dv-asset-card__media video,
.dv-acervo--sprint5 .dv-asset-card__media img { object-fit: cover; object-position: center; }
.dv-acervo--sprint5 .dv-asset-card__fallback-poster { position: absolute; z-index: 0; inset: 0; display: grid; place-content: center; gap: 7px; background: radial-gradient(circle at 50% 42%, rgba(255, 88, 51, .23), transparent 34%), linear-gradient(135deg, #20120e, #0c0c0b 66%); color: #f4eee7; text-align: center; }
.dv-acervo--sprint5 .dv-asset-card__fallback-poster strong { font-size: clamp(1.1rem, 2vw, 1.75rem); letter-spacing: .14em; }
.dv-acervo--sprint5 .dv-asset-card__fallback-poster small { color: var(--dv-lime); font-size: .62rem; font-weight: 900; letter-spacing: .15em; }
.dv-acervo--sprint5 .dv-asset-card__media video,
.dv-acervo--sprint5 .dv-asset-card__media img { position: relative; z-index: 1; background: transparent; }
.dv-acervo--sprint5 .dv-asset-card__media video.is-posterless { opacity: 0; }
.dv-acervo--sprint5 .dv-asset-card__media video.is-posterless.is-ready { opacity: 1; }
.dv-acervo--sprint5 .dv-asset-card__placeholder { display: grid; place-content: center; gap: 7px; padding: 24px; background: radial-gradient(circle at 50% 42%, rgba(255, 88, 51, .23), transparent 34%), linear-gradient(135deg, #20120e, #0c0c0b 66%); color: #f4eee7; text-align: center; }
.dv-acervo--sprint5 .dv-asset-card__placeholder strong { font-size: clamp(1.1rem, 2vw, 1.75rem); letter-spacing: .14em; }
.dv-acervo--sprint5 .dv-asset-card__placeholder small { color: var(--dv-lime); font-size: .62rem; font-weight: 900; letter-spacing: .15em; }
.dv-asset-card__resolution,
.dv-asset-card__duration,
.dv-asset-card__original,
.dv-asset-card__preview-state { position: absolute; z-index: 2; border-radius: 999px; background: rgba(5, 5, 5, .78); backdrop-filter: blur(9px); color: #fff; font-size: .64rem; font-weight: 900; letter-spacing: .1em; padding: 7px 9px; text-transform: uppercase; }
.dv-asset-card__resolution { top: 12px; left: 12px; }
.dv-asset-card__original { top: 12px; right: 12px; color: var(--dv-lime); }
.dv-asset-card__duration { right: 12px; bottom: 12px; }
.dv-asset-card__preview-state { bottom: 12px; left: 12px; color: #dbd4cd; }
.dv-asset-card.has-video-teaser .dv-asset-card__preview-state { color: var(--dv-lime); }
.dv-asset-card__play { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; background: rgba(0, 0, 0, .5); color: #fff; font-size: 1rem; transform: translate(-50%, -50%) scale(.9); opacity: 0; transition: opacity .2s ease, transform .2s ease; }
.dv-asset-card__media::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .15)); transition: background .25s ease; pointer-events: none; }
.dv-asset-card:hover .dv-asset-card__media::after,
.dv-asset-card:focus-within .dv-asset-card__media::after { background: rgba(0, 0, 0, .42); }
.dv-asset-card:hover .dv-asset-card__play,
.dv-asset-card:focus-within .dv-asset-card__play { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.dv-acervo--sprint5 .dv-asset-card__body { align-items: center; padding: 16px; }
.dv-asset-card__buy { display: grid; gap: 7px; justify-items: end; }
.dv-asset-card__buy a { border: 1px solid var(--dv-orange); border-radius: 999px; color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .08em; padding: 8px 12px; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.dv-asset-card__buy a:hover { background: var(--dv-orange); }

@media (max-width: 760px) {
  .dv-acervo--sprint5 .dv-acervo__entry-points { grid-template-columns: 1fr; padding: 0 16px; }
  .dv-acervo--sprint5 .dv-acervo__entry-points a { min-height: 124px; padding: 20px; }
  .dv-acervo--sprint5 .dv-acervo__tools { grid-template-columns: 1fr; }
  .dv-acervo__filters--type { justify-content: flex-start; }
  .dv-asset-card__body { align-items: flex-start !important; }
  .dv-asset-card__buy { justify-items: start; }
}

/* 27.9-dev — Fotos Dopamina / descoberta por fotógrafo. */
.dv-acervo__photographers { width:min(1380px,100%); margin:30px auto 12px; padding:24px; border:1px solid #292825; border-radius:24px; background:linear-gradient(135deg,rgba(255,88,51,.06),rgba(10,10,9,.98) 42%,rgba(181,255,40,.045)); }
.dv-acervo__photographers[hidden] { display:none !important; }
.dv-acervo__photographers-head { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:18px; }
.dv-acervo__photographers-eyebrow { margin:0 0 8px; color:var(--dv-orange); font-size:.7rem; font-weight:900; letter-spacing:.18em; }
.dv-acervo__photographers-head h2 { margin:0; color:#f6f3ef; font-size:clamp(1.45rem,2.6vw,2.45rem); line-height:1; letter-spacing:-.045em; }
.dv-acervo__photographers-all { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid #3c3935; border-radius:999px; color:#d8d2cb; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.dv-acervo__photographers-all:hover,.dv-acervo__photographers-all:focus-visible,.dv-acervo__photographers-all.is-active { border-color:var(--dv-lime); color:var(--dv-lime); outline:none; }
.dv-acervo__photographers-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,270px); gap:14px; overflow-x:auto; overscroll-behavior-inline:contain; padding:2px 2px 10px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.dv-photographer-card { position:relative; min-height:290px; overflow:hidden; border:1px solid #34312d; border-radius:18px; background:#11110f; color:#fff; text-decoration:none; scroll-snap-align:start; transition:transform .2s ease,border-color .2s ease; }
.dv-photographer-card:hover,.dv-photographer-card:focus-visible { transform:translateY(-3px); border-color:var(--dv-orange); outline:none; }
.dv-photographer-card.is-active { border-color:var(--dv-lime); box-shadow:0 0 0 1px rgba(181,255,40,.18) inset; }
.dv-photographer-card__media { position:absolute; inset:0; display:block; background:radial-gradient(circle at 60% 24%,rgba(181,255,40,.13),transparent 35%),linear-gradient(145deg,#28130e,#0c0c0b 65%); }
.dv-photographer-card__media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.88) 88%); }
.dv-photographer-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.dv-photographer-card:hover .dv-photographer-card__media img,.dv-photographer-card:focus-visible .dv-photographer-card__media img { transform:scale(1.035); }
.dv-photographer-card__fallback { width:100%; height:100%; display:grid; place-items:center; color:rgba(255,255,255,.24); font-size:4rem; font-weight:900; letter-spacing:-.08em; }
.dv-photographer-card__copy { position:absolute; z-index:2; inset:auto 16px 16px; display:grid; gap:5px; }
.dv-photographer-card__copy strong { font-size:1.12rem; line-height:1.05; letter-spacing:-.025em; }
.dv-photographer-card__copy small { color:#b7b0a9; font-size:.72rem; line-height:1.35; }
.dv-photographer-card__copy em { margin-top:7px; color:var(--dv-lime); font-size:.68rem; font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:760px) {
  .dv-acervo__photographers { padding:18px; border-radius:18px; }
  .dv-acervo__photographers-head { align-items:flex-start; flex-direction:column; }
  .dv-acervo__photographers-track { grid-auto-columns:minmax(220px,78vw); margin-right:-18px; padding-right:18px; }
  .dv-photographer-card { min-height:300px; }
}

/* 27.9.1-dev — filtros contextuais de Vídeos Dopamina / Fotos Dopamina. */
.dv-acervo__selects [hidden] { display:none !important; }
.dv-acervo__selects label[data-context-mode="image"] select { min-width:190px; border-color:rgba(181,255,40,.42); }
.dv-acervo__selects label[data-context-mode="image"] select:focus { outline:2px solid var(--dv-lime); outline-offset:2px; }
