/* NY Casting Couch auditions product skeleton r6 - real geography catalog + top-40 city rail */
@media (min-width:881px){
  .mast .mright{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    box-sizing:border-box;
    padding:0 0 15px;
  }
}
.catalog-tabs{
  display:flex;
  align-items:stretch;
  gap:0;
  min-height:39px;
  overflow-x:auto;
  scrollbar-width:none;
  border-bottom:1px solid #c9d1db;
  background:#f8fafc;
}
.catalog-tabs::-webkit-scrollbar{display:none}
.catalog-tabs a{
  position:relative;
  flex:1 0 auto;
  min-width:max-content;
  padding:12px 17px 10px;
  color:#4c5968;
  text-decoration:none;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.11em;
  font:700 8.5px/1 "IBM Plex Mono",monospace;
  border-right:1px solid #d8dee6;
  transition:background .18s ease,color .18s ease;
}
.catalog-tabs a:hover,.catalog-tabs a:focus-visible{background:#edf3f9;color:#14304f}
.catalog-tabs a.on{background:#fff;color:#14304f}
.catalog-tabs a.on::after{
  content:"";
  position:absolute;
  left:14px;right:14px;bottom:0;
  height:3px;background:#9d6b2f;
}
.catalog-tabs .lab{
  color:#8c2d20;
  font-size:7px;
  margin-left:5px;
  vertical-align:super;
}
.tabs .tab{overflow:hidden;isolation:isolate}
.tab .ti{overflow:hidden;background:#091b31}
.tab .ti img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.055) translate3d(var(--photo-x,0),var(--photo-y,0),0);
  filter:saturate(.78) contrast(1.08) brightness(.78);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease;
  will-change:transform;
}
.tab:hover .ti img,.tab:focus-visible .ti img{
  transform:scale(1.13) translate3d(var(--photo-x,0),var(--photo-y,0),0);
  filter:saturate(.96) contrast(1.05) brightness(.9);
}
.tab .ti::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(8,23,42,.45),transparent 55%,rgba(157,107,47,.18));
  pointer-events:none;
}
.fam-genre,.fam-union{border-top:1px solid rgba(20,48,79,.13)}
.taxpills{display:flex;gap:5px;flex-wrap:wrap}
.skp{
  min-height:32px;padding:0 10px;border:1px solid #93a6bd;background:#fff;color:#263b53;
  cursor:pointer;text-transform:uppercase;letter-spacing:.09em;
  font:700 8px/1 "IBM Plex Mono",monospace;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.skp u{margin-left:6px;text-decoration:none;opacity:.48;font-size:7px}
.skp:hover{border-color:#14304f}
.skp.on{background:#14304f;color:#fff;border-color:#091b31}
.skp:disabled{opacity:.42;cursor:not-allowed}
.union-guide{
  width:100%;margin:7px 0 0;padding:7px 10px;border-left:3px solid #9d6b2f;
  color:#4b5867;background:#f5f1e9;
  font:500 8.5px/1.55 "IBM Plex Mono",monospace;
}
.union-guide summary{cursor:pointer;color:#173452;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.union-guide p{margin:7px 0 0}
.union-guide a{color:#173452;text-underline-offset:2px}
.aud-schema-note{display:block;margin-top:5px;color:#6e7782;font:600 7.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.05em}
@media(max-width:880px){
  .catalog-tabs a{padding:11px 13px 9px;font-size:7.5px}
  .mast .mright{padding-bottom:8px}
}
@media(max-width:560px){
  .catalog-tabs{min-height:36px}
  .catalog-tabs a{padding:10px 11px 8px}
  .catalog-tabs a:not(.on){font-size:0}
  .catalog-tabs a:not(.on)::before{content:attr(data-short);font-size:7.5px}
  .union-guide{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .tab .ti img,.tab:hover .ti img{transform:none;transition:none}
}


/* U.S. top-40 city buttons: five compact rows, horizontally browsable on narrow screens. */
.fam-region .quick.aud-top40{
  display:grid;
  grid-template-rows:repeat(5,32px);
  grid-auto-flow:column;
  grid-auto-columns:minmax(138px,1fr);
  gap:5px;
  width:100%;
  max-width:100%;
  padding:2px 2px 8px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.fam-region .quick.aud-top40 .qk{
  min-width:0;
  width:100%;
  scroll-snap-align:start;
}
.fam-region .quick.aud-top40 .qkin{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:560px){
  .fam-region .quick.aud-top40{grid-auto-columns:minmax(128px,44vw)}
}
