.catalog-hero-panel { margin-top:0; }
.catalog-search-wrap { position:relative; }
.catalog-search-wrap input { width:100%; padding:1rem 1.1rem; border-radius:.8rem; border:1px solid var(--border); background:var(--panel-2); color:var(--text); font-size:1rem; }
.catalog-search-wrap input:focus { outline:1px solid var(--accent); border-color:var(--accent); }
.catalog-loading,.catalog-error { padding:1.25rem; color:var(--muted); }
.featured-catalog { position:relative; min-height:430px; margin-top:1.5rem; border:1px solid var(--border); border-radius:1.15rem; overflow:hidden; background:#111 var(--featured-bg) center 28%/cover no-repeat; display:flex; align-items:end; }
.featured-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,7,.96) 0%,rgba(5,5,7,.76) 38%,rgba(5,5,7,.2) 72%),linear-gradient(0deg,rgba(5,5,7,.96) 0%,transparent 58%); }
.featured-content { position:relative; z-index:1; width:min(680px,92%); padding:2.2rem; }
.featured-content h2 { font-size:clamp(2.1rem,5vw,4.2rem); line-height:.98; margin:.45rem 0 .8rem; }
.featured-content>p:not(.eyebrow) { color:#d9d9de; line-height:1.6; max-width:62ch; margin:.85rem 0 0; }
.featured-meta { display:flex; flex-wrap:wrap; gap:.5rem .8rem; color:#d0d0d6; font-size:.9rem; align-items:center; }
.featured-status { border:1px solid rgba(229,9,20,.45); background:rgba(229,9,20,.18); color:#ffd5d8; border-radius:999px; padding:.25rem .55rem; font-weight:800; }
.featured-status.is-available { border-color:rgba(82,199,122,.45); background:rgba(82,199,122,.14); color:#bdf5cf; }
.featured-actions { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.25rem; }.featured-actions button { border:0; border-radius:.75rem; padding:.82rem 1rem; font-weight:850; cursor:pointer; }.featured-primary{background:#fff;color:#111}.featured-primary:hover{background:#e7e7e7}.featured-secondary{background:rgba(30,30,34,.9);color:#fff;border:1px solid rgba(255,255,255,.12)!important}.featured-secondary:hover{background:rgba(55,55,60,.95)}.featured-secondary.requested{color:#ffb347;border-color:rgba(255,159,67,.55)!important;background:rgba(255,159,67,.12)}
.catalog-section { margin-top:1.8rem; }.catalog-section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:.75rem; gap:1rem; }.catalog-section h2{margin:0}.row-controls{display:flex;gap:.4rem}.row-arrow{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;font-size:1.45rem;display:grid;place-items:center;line-height:1}.row-arrow:hover{border-color:#6a1a20;background:#211416}
.catalog-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(150px,180px); gap:.85rem; overflow-x:auto; padding:.2rem .1rem .8rem; scrollbar-width:thin; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.catalog-card { border:1px solid var(--border); border-radius:.85rem; overflow:hidden; background:var(--panel-2); cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; scroll-snap-align:start; }.catalog-card:hover,.catalog-card:focus-visible{transform:translateY(-4px) scale(1.015);border-color:#6a1a20;box-shadow:0 16px 34px rgba(0,0,0,.35);outline:none}
.catalog-poster{position:relative;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#29292f,#111114);font-size:2.5rem}.catalog-poster img{width:100%;height:100%;object-fit:cover;display:block}.catalog-copy{padding:.72rem}.catalog-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-badge{position:absolute;left:.5rem;bottom:.5rem;z-index:2;border-radius:999px;padding:.32rem .55rem;font-size:.72rem;font-weight:850;backdrop-filter:blur(10px)}.catalog-badge.available{color:#bdf5cf;background:rgba(30,110,58,.82);border:1px solid rgba(82,199,122,.45)}.catalog-badge.requested{color:#fff0dc;background:rgba(194,96,20,.92);border:1px solid rgba(255,174,92,.6)}.catalog-badge.requestable{color:#fff;background:rgba(229,9,20,.88);border:1px solid rgba(255,255,255,.15)}
.catalog-search-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.people-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.catalog-person-card{display:grid;grid-template-columns:90px 1fr;gap:.9rem;align-items:center;padding:.8rem;border:1px solid var(--border);border-radius:.9rem;background:var(--panel-2);cursor:pointer}.catalog-person-card:hover,.catalog-person-card:focus-visible{border-color:#6a1a20;outline:none}.catalog-person-photo{width:90px;aspect-ratio:1/1;border-radius:.7rem;overflow:hidden;background:#111}.catalog-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.person-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:2rem;font-weight:900;color:var(--muted)}.person-known-for{color:var(--muted);font-size:.8rem;line-height:1.35;margin-top:.35rem}
.catalog-detail-hero{display:grid;grid-template-columns:240px 1fr;gap:1.7rem;align-items:start}.catalog-detail-poster{width:240px;aspect-ratio:2/3;border-radius:.8rem;overflow:hidden;background:var(--panel-2)}.catalog-detail-poster .catalog-poster{width:100%;height:100%;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden}.catalog-detail-poster .catalog-poster img{width:100%;height:100%;object-fit:cover;display:block}.catalog-detail-copy h2{font-size:2.2rem;margin:.3rem 0 .7rem}.catalog-actions{margin-top:1.2rem}.catalog-action{border:0;border-radius:.7rem;padding:.8rem 1rem;font-weight:850;cursor:pointer}.catalog-action.request-action{background:var(--accent);color:white}.catalog-action.request-action:hover{background:var(--accent-soft)}.catalog-action.available-action{background:rgba(82,199,122,.14);color:var(--ok);border:1px solid rgba(82,199,122,.4)}.catalog-action.requested{background:rgba(255,159,67,.13);color:#ffb347;border:1px solid rgba(255,159,67,.5)}.catalog-detail-section{margin-top:1.6rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.catalog-cast-row{display:grid;grid-auto-flow:column;grid-auto-columns:145px;gap:.75rem;overflow-x:auto;padding-bottom:.7rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.catalog-cast-person{border:1px solid var(--border);border-radius:.8rem;overflow:hidden;background:var(--panel-2);cursor:pointer;scroll-snap-align:start}.catalog-cast-person:hover,.catalog-cast-person:focus-visible{border-color:#6a1a20;outline:none}.catalog-cast-photo{aspect-ratio:1/1;overflow:hidden;background:#111}.catalog-cast-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.catalog-cast-person strong,.catalog-cast-person span{display:block;padding-left:.6rem;padding-right:.6rem}.catalog-cast-person strong{font-size:.88rem;margin-top:.55rem}.catalog-cast-person span{color:var(--muted);font-size:.76rem;margin:.18rem 0 .65rem}
.catalog-person-header{display:grid;grid-template-columns:220px 1fr;gap:1.6rem;align-items:start}.catalog-person-profile-photo{aspect-ratio:2/3;border-radius:.9rem;overflow:hidden;background:var(--panel-2)}.catalog-person-profile-photo img{width:100%;height:100%;object-fit:cover}.person-meta{display:flex;flex-wrap:wrap;gap:.5rem .85rem;color:var(--muted);font-size:.88rem;margin-bottom:1rem}.filmography-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}.filmography-card{border:1px solid var(--border);border-radius:.8rem;overflow:hidden;background:var(--panel-2);cursor:pointer;position:relative}.filmography-card:hover,.filmography-card:focus-visible{border-color:#6a1a20;outline:none}.filmography-poster{position:relative}.filmography-poster .catalog-poster{aspect-ratio:2/3}.filmography-copy{padding:.65rem}.filmography-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filmography-role{color:#c9c9cf;font-size:.78rem;margin-top:.3rem}.filmography-copy .catalog-badge{position:static;display:inline-block;margin-top:.55rem}
@media(max-width:1100px){.catalog-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.people-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filmography-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .featured-catalog{min-height:480px;margin:0;border:0;border-radius:0;background-position:center top}.featured-shade{background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.92) 25%,rgba(8,8,8,.35) 68%,rgba(8,8,8,.08) 100%)}.featured-content{padding:1.35rem 4vw 1.2rem;width:100%}.featured-content h2{font-size:clamp(2rem,10vw,3.2rem)}.featured-content>p:not(.eyebrow){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.9rem;line-height:1.45}.featured-actions button{min-height:46px;padding:.75rem 1rem}.catalog-detail-hero,.catalog-person-header{grid-template-columns:1fr}.catalog-detail-poster{width:min(230px,62vw);aspect-ratio:2/3;margin:0 auto}.catalog-detail-poster .catalog-poster{width:100%;height:100%;aspect-ratio:2/3}.catalog-detail-poster .catalog-poster img{width:100%;height:100%;object-fit:cover;display:block}.catalog-person-profile-photo{width:min(230px,62vw);margin:0 auto}.catalog-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.people-search-grid{grid-template-columns:1fr}.filmography-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.catalog-section{margin-top:1.25rem}.catalog-section-heading{padding:0 4vw;margin-bottom:.55rem}.catalog-section-heading h2{font-size:1.15rem}.catalog-row{grid-auto-columns:38vw;gap:.65rem;padding:.15rem 4vw .8rem;scroll-padding-inline:4vw;scroll-snap-type:x mandatory;scrollbar-width:none}.catalog-row::-webkit-scrollbar,.catalog-cast-row::-webkit-scrollbar{display:none}.catalog-card{border-radius:.7rem}.catalog-copy{padding:.55rem}.catalog-copy strong{font-size:.86rem}.catalog-copy .meta{font-size:.74rem}.catalog-badge{font-size:.63rem;padding:.27rem .43rem;left:.38rem;bottom:.38rem}.row-controls{display:none}.catalog-cast-row{grid-auto-columns:120px}.catalog-search-wrap input{font-size:16px;min-height:48px}.catalog-detail-copy h2{font-size:1.8rem}.catalog-action{min-height:46px}.catalog-actions .catalog-action{width:100%}
}
@media(max-width:430px){.featured-catalog{min-height:445px}.catalog-row{grid-auto-columns:36vw}.featured-meta{font-size:.78rem}.featured-content h2{font-size:2.35rem}.catalog-search-grid{gap:.55rem}}
