/* REPPTRADE v4.4.29 — headshots you can actually see.
   Extends v4.4.28's 239:303 Playbill ratio without changing stored artwork,
   custom show palettes, type styling, role filters, or NFT presentation.
   Restrict the lift to real hover devices and honor reduced motion. */

/* Frame sizes include borders so all breakpoints remain predictable. */
.rc440-actor-portrait, .rc419-cast-portrait{box-sizing:border-box;}

/* Cast Index: bigger pictures, room for long names, no row reflow on hover. */
#libraryCast .rc440-actor-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:12px;
}
#libraryCast .rc440-actor-card{
  position:relative;
  isolation:isolate;
  min-height:123px;
  overflow:visible;
  gap:14px;
  padding:12px;
  transform-origin:center;
  transition:transform .23s cubic-bezier(.2,.8,.2,1),box-shadow .23s ease,
             border-color .2s ease,background .2s ease;
}
#libraryCast .rc440-actor-card .rc440-actor-portrait{
  width:76px!important;
  height:auto!important;
  max-width:none!important;
  aspect-ratio:239 / 303!important;
  flex:0 0 76px;
  background-size:cover;
  background-position:center;
  transform-origin:center;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
}

/* Larger actor portrait in CAST · ROLE INDEX performer profile. */
#rc440Overlay .rc440-actor-heading .rc440-actor-portrait.large{
  width:152px!important;
  height:auto!important;
  max-width:none!important;
  aspect-ratio:239 / 303!important;
  flex:0 0 152px;
}

/* Recording Details and Master Catalogue: photo and text grids must agree. */
.rc419-cast-section .rc419-modern-grid .rc419-cast-member{
  position:relative;
  grid-template-columns:76px minmax(0,1fr)!important;
  column-gap:13px!important;
  min-height:119px!important;
  transform-origin:center;
  transition:transform .23s cubic-bezier(.2,.8,.2,1),box-shadow .23s ease;
}
.rc419-cast-section .rc419-modern-grid .rc419-cast-portrait{
  width:76px!important;
  height:auto!important;
  max-width:none!important;
  aspect-ratio:239 / 303!important;
  background-position:center;
  background-size:cover;
  transform-origin:center;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
}

/* Performer accordions in individual Role Index details now show portraits. */
#rc440Overlay .rc451-role-detail .rc451-person-heading{
  flex-wrap:wrap;
  min-height:102px;
}
#rc440Overlay .rc451-person-heading .rc429-role-portrait{
  width:62px!important;
  height:auto!important;
  max-width:none!important;
  aspect-ratio:239 / 303!important;
  flex:0 0 62px;
  font-size:19px;
  background-position:center;
  background-size:cover;
  transition:transform .23s cubic-bezier(.2,.8,.2,1);
}

@media (hover:hover) and (pointer:fine){
  #libraryCast .rc440-actor-card:hover,
  #libraryCast .rc440-actor-card:focus-visible{
    z-index:8;
    transform:translateY(-2px) scale(1.035);
    box-shadow:0 13px 32px rgba(0,0,0,.36);
  }
  #libraryCast .rc440-actor-card:hover .rc440-actor-portrait,
  #libraryCast .rc440-actor-card:focus-visible .rc440-actor-portrait{
    transform:scale(1.075);
    box-shadow:0 5px 18px rgba(0,0,0,.4);
  }
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member:hover,
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member:focus-within{
    z-index:5;
    transform:translateY(-1px) scale(1.025);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
  }
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member:hover .rc419-cast-portrait,
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member:focus-within .rc419-cast-portrait,
  #rc440Overlay .rc451-person-heading:hover .rc429-role-portrait{
    transform:scale(1.07);
  }
}

@media (max-width:760px){
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member{
    grid-template-columns:59px minmax(0,1fr)!important;
    column-gap:9px!important;
    min-height:91px!important;
  }
  .rc419-cast-section .rc419-modern-grid .rc419-cast-portrait{
    width:59px!important;
  }
  #rc440Overlay .rc440-actor-heading .rc440-actor-portrait.large{
    width:124px!important;
    flex-basis:124px!important;
  }
}
@media (max-width:700px){
  #libraryCast .rc440-actor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  #libraryCast .rc440-actor-card{
    min-height:100px;
    padding:8px;
    gap:8px;
  }
  #libraryCast .rc440-actor-card .rc440-actor-portrait{
    width:57px!important;
    flex-basis:57px!important;
  }
  #rc440Overlay .rc451-person-heading .rc429-role-portrait{
    width:54px!important;
    flex-basis:54px!important;
  }
}
@media (max-width:520px){
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member{
    grid-template-columns:70px minmax(0,1fr)!important;
    min-height:108px!important;
  }
  .rc419-cast-section .rc419-modern-grid .rc419-cast-portrait{
    width:70px!important;
  }
  #rc440Overlay .rc440-actor-heading .rc440-actor-portrait.large{
    width:114px!important;
    flex-basis:114px!important;
  }
}
@media (max-width:400px){
  #libraryCast .rc440-actor-grid{grid-template-columns:1fr;}
  #libraryCast .rc440-actor-card .rc440-actor-portrait{
    width:70px!important;
    flex-basis:70px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  #libraryCast .rc440-actor-card,
  #libraryCast .rc440-actor-card .rc440-actor-portrait,
  .rc419-cast-section .rc419-modern-grid .rc419-cast-member,
  .rc419-cast-section .rc419-modern-grid .rc419-cast-portrait,
  #rc440Overlay .rc451-person-heading .rc429-role-portrait{
    transition:none!important;
    transform:none!important;
  }
}
