.home-shelves { min-width: 0; margin: 16px 0 56px; color: var(--text, #f2efe8); }
.home-shelves[hidden], .home-shelves [hidden] { display: none !important; }
.home-shelves .hs-shelf { min-width: 0; margin: 0 0 38px; }
.home-shelves .hs-shelf-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 0 0 16px; }
.home-shelves .hs-heading-copy { min-width: 0; }
.home-shelves .hs-shelf-title { margin: 0; color: var(--text, #f2efe8); font-size: clamp(19px, 1.7vw, 24px); font-weight: 550; line-height: 1.25; letter-spacing: -.035em; }
.home-shelves .hs-shelf-description { margin: 7px 0 0; color: var(--text-muted, #a9abb1); font-size: 12px; line-height: 1.5; }
.home-shelves .hs-shelf-tools { display: flex; flex-shrink: 0; align-items: center; gap: 8px; }
.home-shelves .hs-see-all { min-height: 36px; padding: 7px 13px; border: 1px solid var(--line, #ffffff19); border-radius: 999px; background: var(--glass-surface, #1e1f22b8); color: var(--text, #f2efe8); box-shadow: none; font-size: 11px; font-weight: 500; white-space: nowrap; }
.home-shelves .hs-arrow { display: grid; place-items: center; width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0; border: 1px solid var(--line, #ffffff19); border-radius: 50%; background: var(--glass-surface, #1e1f22b8); color: var(--text, #f2efe8); box-shadow: none; }
.home-shelves .hs-arrow-icon { display: block; width: 16px; height: 16px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.home-shelves .hs-arrow[data-direction='-1'] .hs-arrow-icon { transform: rotate(180deg); }
.home-shelves .hs-arrow:hover:where(body[data-input-modality="mouse"] *), .home-shelves .hs-see-all:hover:where(body[data-input-modality="mouse"] *) { background: var(--hover, #ffffff0b); transform: none; }
.home-shelves .hs-row { display: flex; gap: 17px; min-width: 0; overflow-x: auto; padding: 3px 3px 16px; margin: -3px -3px 0; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--progress-rest, #414248) transparent; }
.home-shelves .hs-cell { position: relative; flex: 0 0 clamp(144px, 15vw, 184px); min-width: 0; scroll-snap-align: start; }
.home-shelves .hs-cell > .hs-favorite-toggle { position: absolute; z-index: 4; top: 4px; right: 4px; display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 8px; background: linear-gradient(145deg, #090a0c55, #090a0c00); color: #f2efe8; box-shadow: none; opacity: .86; transform: none; transition: color 160ms ease, opacity 160ms ease; }
.home-shelves .hs-favorite-toggle .catalog-favorite-icon { display: block; width: 22px; height: 25px; background: currentColor; filter: drop-shadow(0 1px 3px #000b); -webkit-mask: var(--ui-favorite-outline, url('/assets/ui/favorito-play-contorno.svg')) center / contain no-repeat; mask: var(--ui-favorite-outline, url('/assets/ui/favorito-play-contorno.svg')) center / contain no-repeat; }
.home-shelves .hs-favorite-toggle[aria-pressed='true'] { color: var(--accent-bright, #f02a3b); }
.home-shelves .hs-favorite-toggle[aria-pressed='true'] .catalog-favorite-icon { -webkit-mask-image: var(--ui-favorite-filled, url('/assets/ui/favorito-play-preenchido.svg')); mask-image: var(--ui-favorite-filled, url('/assets/ui/favorito-play-preenchido.svg')); }
.home-shelves .hs-cell > .hs-favorite-toggle:is(:hover:where(body[data-input-modality="mouse"] *), :focus-visible, :active) { opacity: 1; transform: none; box-shadow: none; }
.home-shelves .hs-cell > .hs-favorite-toggle[aria-busy='true'] { opacity: .6; cursor: progress; }
.home-shelves .hs-card { display: block; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--text, #f2efe8); box-shadow: none; text-align: left; transform: none; }
.home-shelves .hs-card:hover:where(body[data-input-modality="mouse"] *), .home-shelves .hs-card:active { background: transparent; color: var(--text, #f2efe8); transform: none; }
.home-shelves .hs-poster { position: relative; display: block; width: 100%; aspect-ratio: 2 / 3; overflow: hidden; border: 1px solid var(--line-soft, #ffffff0b); border-radius: 10px; background: var(--media-surface, #1c1e21); isolation: isolate; }
.home-shelves .hs-poster-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; padding: 20px; background: linear-gradient(145deg, var(--surface-elevated, #191a1d), var(--surface, #141518)); color: var(--text-muted, #a9abb1); transition: opacity 180ms ease; }
.home-shelves .hs-fallback-play { display: block; width: 26px; height: 30px; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); opacity: .45; }
.home-shelves .hs-fallback-title { display: -webkit-box; overflow: hidden; font-size: 13px; font-weight: 500; line-height: 1.4; text-align: center; overflow-wrap: anywhere; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.home-shelves .hs-poster-image { position: absolute; inset: 0; display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 160ms ease; }
.home-shelves .hs-poster[data-image='loaded'] .hs-poster-image { opacity: 1; }
.home-shelves .hs-poster[data-image='loaded'] .hs-poster-fallback { opacity: 0; }
.home-shelves .hs-hover-play { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(transparent 20%, #0009); opacity: 0; transition: opacity 150ms ease; }
.home-shelves .hs-hover-play::before { content: ''; display: block; width: 24px; height: 29px; background: #f2efe8; clip-path: polygon(0 0, 100% 50%, 0 100%); filter: drop-shadow(0 2px 6px #0008); }
.home-shelves .hs-card:focus-visible .hs-hover-play { opacity: 1; }
.home-shelves .hs-card-title { display: -webkit-box; overflow: hidden; margin: 10px 0 0; color: var(--text, #f2efe8); font-size: 12px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.home-shelves .hs-card-meta { display: flex; flex-wrap: wrap; gap: 3px 8px; margin-top: 5px; color: var(--text-muted, #a9abb1); font-size: 10px; line-height: 1.5; }
.home-shelves .hs-rating { white-space: nowrap; }
.home-shelves .hs-progress { position: absolute; right: 8px; bottom: 9px; left: 8px; display: block; height: 4px; overflow: hidden; border-radius: 99px; background: #414248; }
.home-shelves .hs-progress-fill { display: block; height: 100%; border-radius: inherit; background: var(--accent, #e31332); box-shadow: 0 0 8px #e3133255; }
.home-shelves button:focus-visible { outline: 2px solid var(--text, #f2efe8); outline-offset: 4px; }
.home-shelves .hs-loading-status { margin: 0 0 20px; color: var(--text-muted, #a9abb1); font-size: 12px; }
.home-shelves .hs-skeleton { margin-bottom: 32px; }
.home-shelves .hs-skeleton-heading { display: block; width: 210px; height: 23px; margin-bottom: 18px; border-radius: 5px; background: var(--surface-elevated, #191a1d); }
.home-shelves .hs-skeleton-card { flex: 0 0 clamp(144px, 15vw, 184px); }
.home-shelves .hs-skeleton-poster { display: block; width: 100%; aspect-ratio: 2 / 3; border-radius: 10px; background: linear-gradient(100deg, var(--surface, #141518) 20%, var(--surface-elevated, #191a1d) 45%, var(--surface, #141518) 70%); background-size: 250% 100%; animation: hs-loading 1.6s ease-in-out infinite; }
.home-shelves .hs-skeleton-title { display: block; width: 75%; height: 11px; margin-top: 12px; border-radius: 3px; background: var(--surface-elevated, #191a1d); }
@keyframes hs-loading { to { background-position-x: -180%; } }
@media (max-width: 720px) {
  .home-shelves { margin-top: 8px; margin-bottom: 36px; }
  .home-shelves .hs-shelf { margin-bottom: 28px; }
  .home-shelves .hs-shelf-heading { gap: 12px; align-items: flex-start; }
  .home-shelves .hs-shelf-description { font-size: 11px; }
  .home-shelves .hs-row { gap: 12px; }
  .home-shelves .hs-cell, .home-shelves .hs-skeleton-card { flex-basis: clamp(132px, 36vw, 168px); }
  .home-shelves .hs-arrow { display: none; }
  .home-shelves .hs-see-all { min-height: 36px; padding-inline: 10px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-shelves .hs-skeleton-poster { animation: none; }
  .home-shelves :is(.hs-poster-image, .hs-poster-fallback, .hs-hover-play, .hs-favorite-toggle) { transition: none; }
}
