/* ==========================================================================
   HERO SECTION
   ========================================================================== */
   .movie-hero-section {
    position: relative;
    width: 100%;
    margin-bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
  }
  .movie-hero-bg {
    position: absolute;
    z-index: 0;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center 30%;
    filter: brightness(0.45) grayscale(0.05) blur(3px);
    pointer-events: none;
    transition: filter .3s;
  }
  body.dark-mode .movie-hero-bg {
    filter: brightness(0.22) grayscale(0.08) blur(3px);
  }
  .movie-hero-content {
    display: flex;
    align-items: center; /* Center poster vertically */
    gap: 2.8rem;
    max-width: 1300px;
    margin: 0 auto;
    padding: 2.5rem;
    min-height: 340px;
    box-sizing: border-box;
  }
  .movie-hero-poster-wrap {
    background-color: transparent;
    width: 320px; /* Make poster bigger */
    flex-shrink: 0;
    margin: 0;
    padding: 0;
  }
  .movie-hero-poster {
    background-color: transparent;
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    box-shadow: 0 5px 30px #0006;
    object-fit: contain !important;
    max-width: 320px;
    max-height: 480px;
  }
  .movie-hero-meta {
    flex: 1 1 0%;
    min-width: 0;
    max-width: 900px;
    margin: 0;
    position: static;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
    justify-content: flex-start;
    background: rgba(30, 32, 40, 0.92);
    padding: 2rem 2.2rem;
    border-radius: 16px;
    box-shadow: 0 4px 24px #0005;
    z-index: 2;
  }
  body.dark-mode .movie-hero-meta {
    color: var(--color-white, #fff);
  }
  
  /* --- HERO TITLE + YEAR/OPEN ROW --- */
  .movie-hero-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 0.05em;
  }
  .movie-hero-title {
    font-size: var(--font-size-xxxl, 2.6rem);
    font-family: var(--font-heading, 'Roboto', sans-serif);
    color: var(--color-white);
    font-weight: 700;
    letter-spacing: -1.5px;
    display: flex;
    align-items: baseline;
    gap: 0.5em;
    margin-bottom: 0;
  }
  .movie-hero-year-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.1em;
    font-size: var(--font-size-lg, 1.19rem);
    margin-top: 0.14em;
    margin-bottom: 0.38em;
    color: var(--color-white);
  }
  .movie-hero-year,
  .movie-hero-watched-date {
    font-size: inherit;
    color: var(--color-white);
    opacity: 0.85;
  }
  
  /* --- REST OF HERO META --- */
  .movie-hero-info {
    font-size: var(--font-size-lg, 1.1rem);
    color: var(--color-white);
    margin-bottom: 0.6em;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8em;
    align-items: center;
  }
  .movie-hero-info span[title="MPAA Rating"] {
    font-family: var(--font-slab);
    display: inline-block;
    background: #222;
    color: #fff;
    border-radius: 4px;
    font-weight: 500;
    font-size: 1em;
    padding: 0.18em 0.55em;
    margin-right: 0.25em;
    letter-spacing: 0.02em;
    vertical-align: middle;
  }
  body.dark-mode .movie-hero-info span[title="MPAA Rating"] {
    background: var(--color-dark-gray-light, #333);
    color: var(--color-white);
  }
  
  .rating-box {
    font-family: var(--font-slab);
    display: inline-block;
    background: #222;
    color: var(--color-white);
    border-radius: 4px;
    font-weight: 500;
    font-size: 1em;
    padding: 0.18em 0.55em;
    margin-right: 0.25em;
    letter-spacing: 0.02em;
    vertical-align: middle;
  }
  
  body.dark-mode .rating-box {
    background: var(--color-dark-gray-light, #333);
    color: var(--color-white);
  }
  
  .mpaa-box {
    font-family: var(--font-slab);
    display: inline-block;
    background: #222;
    color: var(--color-white);
    border-radius: 4px;
    font-weight: 500;
    font-size: 1em;
    padding: 0.18em 0.55em;
    margin-right: 0.25em;
    letter-spacing: 0.02em;
    vertical-align: middle;
  }
  
  body.dark-mode .mpaa-box {
    background: var(--color-dark-gray-light, #333);
    color: var(--color-white);
  }
  
  .movie-hero-director,
  .movie-hero-writer {
    color: var(--color-white);
    font-size: 1rem;
    margin: 0.12em 0;
  }
  
  .movie-hero-cast {
    color: var(--color-white);
    font-size: 1rem;
    margin: 0.12em 0;
  }
  
  .movie-hero-stream {
    color: var(--color-white);
    margin: 0.7em 0 0 0;
  }
  .providers {
    display: flex;
    gap: 0.7rem;
    align-items: center;
    margin-top: 0;
  }
  .provider-logo {
    height: 28px;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 1px 4px #2222;
    margin-right: 0.12rem;
    transition: transform 0.2s;
    vertical-align: middle;
  }
  .provider-logo:hover {
    transform: scale(1.09);
  }
  
  /* --- MOBILE OVERRIDES (max-width: 700px) --- */
  @media (max-width: 700px) {
    .movie-hero-content {
      flex-direction: column !important;
      align-items: stretch !important;
      text-align: left !important;
      gap: 1.2rem !important;
      padding: 1.2rem 0.8rem 1.2rem 0.8rem !important;
    }
    .movie-hero-poster {
      background-color: transparent;
      margin: 0 auto 1.1rem auto !important;
      display: block !important;
      max-width: 78vw !important;
      width: 100% !important;
      height: auto !important;
      max-height: 320px !important;
      min-width: unset !important;
      object-fit: contain !important;
      box-shadow: 0 5px 30px #0006 !important;
      border-radius: 8px !important;
    }
    .movie-hero-meta {
      padding: 1.1rem 0.7rem 1.1rem 0.7rem;
      border-radius: 12px;
      margin-bottom: 0.6rem;
      gap: 0.18rem;
      min-width: 0;
      max-width: 100%;
      background: rgba(30, 32, 40, 0.92);
      box-shadow: 0 4px 24px #0005;
      color: var(--color-white, #fff);
    }
    .movie-hero-title-wrap {
      align-items: center;
    }
    .movie-hero-title {
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 2.1rem;
      gap: 0.09em;
      margin-bottom: 0.2em;
    }
    .movie-hero-year-row {
      flex-direction: row;
      justify-content: center !important;
      text-align: center !important;
      gap: 0.42em;
      font-size: 1.07rem;
      margin-top: 0.12em;
      margin-bottom: 0.22em;
    }
    .movie-hero-info,
    .movie-hero-director,
    .movie-hero-writer,
    .movie-hero-stream {
      text-align: left !important;
      align-items: flex-start !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      margin-bottom: 0.36em;
    }
    .movie-hero-info {
      gap: 0.45em;
      margin-bottom: 0.29em;
      font-size: 1em;
      flex-wrap: wrap;
    }
    .movie-hero-stream {
      margin: 0.2em 0 0.2em 0;
    }
  }
  
  .movie-hero-title-row {
    display: flex;
    align-items: baseline;
    gap: 0.5em;
    flex-wrap: nowrap;
  }
  
  @media (max-width: 700px) {
    .movie-hero-title-row {
      flex-direction: column;
      align-items: center;
      gap: 0.13em;
    }
    .movie-hero-title-row .movie-hero-year,
    .movie-hero-title-row .open-in-new-icon {
      margin-top: 0;
    }
  }
  
  .movie-hero-year-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.2em;
  }
  @media (max-width: 700px) {
    .movie-hero-year-icon {
      justify-content: center;
    }
  }
  
  
  /* ==========================================================================
     LOADING BAR
     ========================================================================== */
  .tmdb-loading-inline {
    width: 100%;
    max-width: 400px;
    margin: 2em auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .tmdb-loading-bar {
    width: 100%;
    height: 7px;
    background: #e0e0e0;
    border-radius: 4px;
    margin-bottom: 0.7em;
    position: relative;
    overflow: hidden;
  }
  .tmdb-loading-bar-fill {
    height: 100%;
    width: 0%;
    background: #000;
    border-radius: 4px;
    transition: width 0.3s cubic-bezier(.8,0,.2,1);
  }
  body.dark-mode .tmdb-loading-bar {
    background: #333;
  }
  body.dark-mode .tmdb-loading-bar-fill {
    background: #fff;
  }
  .tmdb-loading-text {
    font-family: var(--font-slab, 'Roboto Slab', serif);
    font-size: 1.08em;
    color: #000;
    animation: blink 1.05s step-end infinite;
    letter-spacing: 0.01em;
  }
  body.dark-mode .tmdb-loading-text {
    color: #fff;
  }
  
  /* Responsive styles */
  @media (max-width: 700px) {
    .tmdb-loading-inline {
      max-width: 320px;
      margin: 1.5em auto;
    }
    .tmdb-loading-text {
      font-size: 1em;
    }
  }
  
  @keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.25; }
    100% { opacity: 1; }
  }
  
  /* ==========================================================================
     POSTER GRID & CARDS
     ========================================================================== */
  .movie-poster-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.2rem;
    margin: 2rem;
  }
  @media (max-width: 700px) {
    .movie-poster-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .movie-poster-cell {
    position: relative;
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: transform 0.13s cubic-bezier(.8,0,.2,1);
  }
  .movie-poster-cell:focus,
  .movie-poster-cell:hover {
    transform: scale(1.07);
    z-index: 1;
    box-shadow: 0 6px 28px #0003;
  }
  .movie-poster-thumb-wrap {
    position: relative;
  }
  .movie-poster-thumb {
    width: 100%;
    display: block;
    box-shadow: 0 4px 18px #0007;
    background: #e1e1e1;
    aspect-ratio: 2/3;
    object-fit: cover;
    transition: box-shadow 0.15s;
  }
  .movie-inline-card {
    grid-column: 1 / -1;
    animation: fadein 0.18s cubic-bezier(.8,0,.2,1);
  }
  .fadein { animation: fadein 0.18s cubic-bezier(.8,0,.2,1); }
  .fadeout { animation: fadeout 0.15s cubic-bezier(.8,0,.2,1); }
  @keyframes fadein { from { opacity:0; transform:translateY(32px);} to {opacity:1; transform:none;} }
  @keyframes fadeout { from { opacity:1; transform:none;} to {opacity:0; transform:translateY(32px);} }
  #movie-inline-card-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 0;
  }
  .movie-inline-card {
    width: 100%;
    background: transparent !important;
    border-radius: 1rem;
    box-shadow: 0 8px 32px rgba(0,0,0,0.45);
    overflow: hidden;
    animation: fadein 0.22s;
    margin-bottom: 0 !important;
    margin: 0 !important;
  }
  
  /* ==========================================================================
     POSTER BADGE & WATCH STARS
     ========================================================================== */
  .poster-number {
    position: absolute;
    top: 0.48em;
    left: 0.54em;
    z-index: 2;
    color: #fff;
    background-color: #333;
    border: 1px solid black;
    border-radius: 4px;
    font-family: var(--font-slab, 'Hepta Slab', serif);
    font-size: 1.2em;
    font-weight: 700;
    padding: .1rem .5rem .2rem .5rem;
    letter-spacing: 0;
    line-height: 1.15;
    transition: background 0.18s;
  }
  .watch-stars {
    display: block;
    position: absolute;
    bottom: 0.42em;
    right: 0.5em;
    font-size: 1.5em;
    color: #ffc800;
    background: rgba(0,0,0,0.33);
    border-radius: 7px;
    padding: 0.03em 0.28em 0.10em 0.28em;
    line-height: 1.1;
    z-index: 2;
    letter-spacing: -0.1em;
  }
  @media (max-width: 700px) {
    .poster-number {
      font-size: 0.92em;
      padding: 0.07em 0.31em 0.08em 0.23em;
      top: 0.36em;
      left: 0.38em;
      background: rgba(0,0,0,0.63);
    }
    .watch-stars {
      font-size: 1.05em;
      padding: 0.01em 0.13em 0.06em 0.13em;
      bottom: 0.30em;
      right: 0.34em;
      background: rgba(0,0,0,0.56);
      letter-spacing: -0.09em;
    }
  }
  @media (max-width: 500px) {
    .poster-number {
      font-size: 0.73em;
      padding: 0.03em 0.20em 0.05em 0.15em;
      top: 0.23em;
      left: 0.23em;
    }
    .watch-stars {
      font-size: 0.82em;
      padding: 0 0.09em 0 0.09em;
      bottom: 0.17em;
      right: 0.15em;
    }
  }
  
  /* ==========================================================================
     WATCHED INFO INLINE & STARS
     ========================================================================== */
  .watched-inline {
    font-size: 1.06em;
    color: var(--color-white, #fff);
    font-family: var(--font-body, inherit);
    margin-bottom: 0.5em;
    font-style: italic;
  }
  @media (max-width: 700px) {
    .movie-watch-info {
      min-width: 0;
      max-width: 95vw;
      width: 90vw;
      font-size: 0.95em;
      padding: 0.7em 1em 0.7em 1em;
      box-shadow: 0 3px 14px 0 rgba(0,0,0,0.18), 0 1px 3px 0 rgba(0,0,0,0.11);
      top: 1em;
      right: 1em;
      margin-bottom: 1em;
    }
    .movie-watch-info .watch-stars {
      font-size: 1.18em;
      margin-bottom: 0.05em;
    }
    .watched-inline {
      font-size: 0.98em;
      margin-bottom: 0.3em;
    }
  }
  
  /* ==========================================================================
     "OPEN IN NEW" ICONS (EXTERNAL LINKS)
     ========================================================================== */
  .open-in-new-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.15em;
    text-decoration: none;
    color: inherit;
    opacity: 0.62;
    transition: opacity 0.18s, color 0.18s;
    font-size: 1rem;
    vertical-align: middle;
  }
  .open-in-new-icon .material-symbols-outlined {
    font-size: 1.08em;
    line-height: 1;
    vertical-align: text-bottom;
    pointer-events: none;
  }
  .open-in-new-icon:hover,
  .open-in-new-icon:focus {
    opacity: 1;
    color: var(--accent, #4b90fe);
    outline: none;
  }
  .movie-hero-title .open-in-new-icon {
    margin-left: 0.26em;
    position: relative;
    top: 2px;
  }
  
  /* ==========================================================================
     POWERED BY / LOGO SECTION
     ========================================================================== */
  .powered-by {
    margin: 2rem;
  }
  .powered-and,
  .powered-by p {
    text-align: center;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    color: var(--color-secondary);
    letter-spacing: var(--letter-spacing-sm);
  }
  .powered-and {
    margin-right: 1rem;
  }
  .powered-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xs);
  }
  .logo-letterboxd img,
  .logo-tmdb img {
    width: 20rem;
  }
  body.dark-mode .powered-by p {
    color: var(--color-white, #fff);
  }
  
  /* ==========================================================================
     SEARCH BAR & AUTOCOMPLETE
     ========================================================================== */
  .movie-search-section {
    width: 100%;
    background: transparent;
    margin: 0;
    padding: 0 0 2rem 0;
    display: flex;
    justify-content: center;
  }
  .movie-search-bar {
    width: 100%;
    max-width: 420px;
    position: relative;
    margin: 2rem 0 0 0;
  }
  
  #movie-search-input {
    width: 100%;
    padding: 0.85em 1em;
    font-size: 1.15em;
    border-radius: 9px;
    border: 1.5px solid #ddd;
    background: var(--color-white, #fff);
    box-shadow: 0 1px 6px #0001;
    margin-bottom: 0;
    outline: none;
    transition: border 0.2s;
  }
  #movie-search-input:focus {
    border: 1.5px solid #007BFF;
  }
  body.dark-mode #movie-search-input {
    background: #232325;
    color: #fff;
    border: 1.5px solid #333;
  }
  body.dark-mode #movie-search-input::placeholder {
    color: #aaa;
    opacity: 1;
  }
  #movie-search-results {
    position: absolute;
    left: 0; right: 0; top: 110%;
    background: var(--color-white, #fff);
    border-radius: 9px;
    box-shadow: 0 4px 18px #0002;
    z-index: 100;
    margin-top: 0.25rem;
    max-height: 330px;
    overflow-y: auto;
    min-width: 0;
  }
  body.dark-mode #movie-search-results {
    background: #222;
    color: #fff;
  }
  .search-result {
    display: flex;
    align-items: center;
    gap: 0.6em;
    padding: 0.5em 1em;
    cursor: pointer;
    transition: background .13s;
    font-size: 1.08em;
  }
  .search-result:hover, .search-result:focus {
    background: #f3f8ff;
    color: #0056b3;
  }
  body.dark-mode .search-result:hover, body.dark-mode .search-result:focus {
    background: #191e2d;
    color: #85aaff;
  }
  .search-result-poster {
    width: 36px;
    height: 54px;
    border-radius: 6px;
    object-fit: cover;
    background: #eee;
    box-shadow: 0 1px 6px #0002;
    flex-shrink: 0;
  }
  .search-result-title {
    font-weight: 500;
    letter-spacing: 0.01em;
  }
  .search-result-year {
    font-size: .99em;
    color: #888;
    margin-left: .23em;
  }
  .search-loading, .search-no-results {
    padding: 0.6em 1em;
    font-size: 1.02em;
    color: #666;
  }
  
  .centered-container { 
    max-width: 60rem;
    margin: 0 auto;
  }
  
  /* About This Project Section */  
  
  .about-project-section {
    max-width: 60rem;
    margin: 2rem auto;
    padding: 2rem;
    background: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  
  /* Powered By Section */
  
  .powered-by {
    margin: 2rem;
  }
  
  .powered-and,
  .powered-by p {
    text-align: center;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    color: var(--color-secondary);
    letter-spacing: var(--letter-spacing-sm);
  }
  
  .powered-and {
    margin-right: 1rem;
  }
  
  .powered-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xs);
  }
  
    .logo-letterboxd img,
    .logo-tmdb img {
      width: 20rem;
    }
  
  body.dark-mode .powered-by p {
    color: var(--color-white, #fff);
  }
  
  /* ==========================================================================
     LIST INFORMATION SECTION
     ========================================================================== */
  .list-info-section {
    margin: 2rem 0 1.5rem 0;
    padding: 1.5rem;
    background: var(--color-light-gray, #f8f9fa);
    border-radius: 8px;
    border-left: 4px solid var(--color-primary, #007bff);
  }
  
  body.dark-mode .list-info-section {
    background: var(--color-dark-gray, #2d3748);
    border-left-color: var(--color-primary, #007bff);
  }
  
  .list-info-content {
    max-width: 100%;
  }
  
  .list-title {
    font-size: var(--font-size-xl, 1.5rem) !important;
    font-weight: 600;
    color: var(--color-text, #333);
    margin: 0 0 0.75rem 0;
    font-family: var(--font-slab, 'Roboto', sans-serif) !important;
  }
  
  body.dark-mode .list-title {
    color: var(--color-white, #fff);
  }
  
  .list-meta {
    font-size: 0.95rem;
    color: var(--color-text-secondary, #666);
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
  }
  
  body.dark-mode .list-meta {
    color: var(--color-text-secondary, #a0aec0);
  }
  
  .list-meta span {
    padding: 0.25rem 0.5rem;
    background: var(--color-white, #fff);
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 500;
  }
  
  body.dark-mode .list-meta span {
    background: var(--color-dark-gray-light, #4a5568);
    color: var(--color-white, #fff);
  }
  
  .list-category {
    color: var(--color-primary, #007bff) !important;
    font-weight: 600;
  }
  
  body.dark-mode .list-category {
    color: var(--color-primary-light, #63b3ed) !important;
  }
  
  .list-notes {
    font-size: var(--font-size-lg, 1.25rem) !important;
    line-height: var(--line-height-reg, 1.6);
    color: var(--color-text, #333);
    margin: 0;
    font-style: none !important;
    padding: 2rem 1rem;
  }
  
  body.dark-mode .list-notes {
    color: var(--color-white, #fff);
  }
  
  /* Mobile responsive adjustments */
  @media (max-width: 700px) {
    .list-info-section {
      margin: 1.5rem 0 1rem 0;
      padding: 1rem;
    }
    
    .list-title {
      font-size: 1.3rem;
      margin-bottom: 0.5rem;
    }
    
    .list-meta {
      font-size: 0.9rem;
      gap: 0.4rem;
      margin-bottom: 0.75rem;
    }
    
    .list-meta span {
      font-size: 0.8rem;
      padding: 0.2rem 0.4rem;
    }
    
    .list-notes {
      font-size: 0.9rem;
    }
  }
  
  /* --- INLINE CARD ROW STYLING --- */
  .movie-inline-card-row {
    display: block;
    width: 100%;
    margin: 1rem 0;
    background: transparent;
    grid-column: 1 / -1;
  }
  
  /* --- OVERRIDES FOR TARGETS INLINE CARD POSTER --- */
  .movie-inline-card-row .movie-hero-section,
  .movie-inline-card-row .movie-hero-content {
    min-height: unset !important;
    align-items: flex-start !important;
    display: flex !important;
    gap: 3.5rem !important;
  }
  
  .movie-inline-card-row .movie-hero-poster-wrap,
  .movie-hero-section .movie-hero-poster-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  
  .movie-inline-card-row .movie-hero-poster,
  .movie-hero-section .movie-hero-poster {
    background: transparent !important;
    border: none !important;
  }
  
  @media (max-width: 700px) {
    .movie-inline-card-row .movie-hero-section,
    .movie-inline-card-row .movie-hero-content {
      min-height: unset !important;
      flex-direction: column !important;
      align-items: stretch !important;
      padding: 1.2rem 0.8rem;
    }
    .movie-inline-card-row .movie-hero-poster,
    .movie-hero-section .movie-hero-poster {
      background-color: transparent;
      width: 100% !important;
      max-width: 78vw !important;
      height: auto !important;
      min-width: unset !important;
      max-height: 320px !important;
      margin: 0 auto 1.1rem auto !important;
    }
    .movie-inline-card-row .movie-hero-content {
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 1.2rem !important;
      padding: 1.2rem 0.8rem !important;
    }
    .movie-inline-card-row .movie-hero-poster {
      background-color: transparent;
      width: 100% !important;
      max-width: 78vw !important;
      height: auto !important;
      min-width: unset !important;
      max-height: 320px !important;
      margin: 0 auto 1.1rem auto !important;
      object-fit: contain !important;
      box-shadow: 0 5px 30px #0006 !important;
      border-radius: 8px !important;
      display: block !important;
    }
    .movie-inline-card-row .movie-hero-meta {
      padding: 1.1rem 0.7rem 1.1rem 0.7rem;
      border-radius: 12px;
      margin-bottom: 0.6rem;
      gap: 0.18rem;
      min-width: 0;
      max-width: 100%;
      background: rgba(30, 32, 40, 0.92);
      box-shadow: 0 4px 24px #0005;
      color: var(--color-white, #fff);
    }
  }
  
  @media (max-width: 700px) {
    .movie-inline-card-row .movie-hero-section {
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      min-height: unset !important;
      display: block !important;
    }
    .movie-inline-card-row .movie-hero-poster-wrap {
      background-color: transparent;
      width: 100% !important;
      max-width: 78vw !important;
      margin: 0 auto 1.1rem auto !important;
      display: block !important;
      flex-shrink: 0 !important;
    }
  }
  
  /* ==========================================================================
     PAGINATION
     ========================================================================== */
  .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin: 2rem 0;
    padding: 1rem;
    background: var(--color-background);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  
  body.dark-mode .pagination {
    background: var(--color-background-dark, #1a1a1a);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
  
  .pagination button {
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--color-primary, #007bff);
    background: var(--color-primary, #007bff);
    color: white;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.95rem;
  }
  
  .pagination button:hover:not(:disabled) {
    background: var(--color-primary-dark, #0056b3);
    border-color: var(--color-primary-dark, #0056b3);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
  }
  
  .pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
  }
  
  .pagination button:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3);
  }
  
  .page-info {
    font-size: 1rem;
    color: var(--color-text);
    font-weight: 500;
    text-align: center;
    min-width: 200px;
  }
  
  body.dark-mode .page-info {
    color: var(--color-text-dark, #e0e0e0);
  }
  
  @media (max-width: 700px) {
    .pagination {
      flex-direction: column;
      gap: 1rem;
      padding: 1.5rem 1rem;
    }
    
    .pagination button {
      width: 100%;
      max-width: 200px;
      padding: 0.85rem 1.5rem;
      font-size: 1rem;
    }
    
    .page-info {
      font-size: 0.9rem;
      min-width: auto;
    }
  }
  
  /* ==========================================================================
     DROPDOWN STYLES
     ========================================================================== */
  .movie-list-dropdown-wrap {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin: 1.5rem 0;
  }
  
  .movie-list-dropdown-wrap .custom-dropdown {
    flex: 1;
  }
  
  /* ==========================================================================
     FILTER AND SORT SECTION STYLES
     ========================================================================== */
  .filter-sort-container {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
  }
  
  .includes-excludes-section,
  .sort-section {
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    flex: 1;
    min-width: 0;
  }
  
  body.dark-mode .includes-excludes-section,
  body.dark-mode .sort-section {
    background: #2a2a2a;
  }
  
  .section-header-collapsible {
    padding: 1rem 1.5rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s;
    width: 100%;
  }
  
  .section-header-collapsible:hover {
    background: #e9ecef;
  }
  
  body.dark-mode .section-header-collapsible:hover {
    background: #3a3a3a;
  }
  
  .section-header-collapsible h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
  }
  
  body.dark-mode .section-header-collapsible h4 {
    color: #fff;
  }
  
  .section-toggle-icon {
    font-size: 1.2rem;
    font-weight: bold;
    color: #666;
    transition: transform 0.2s;
  }
  
  /* Pill Container Styles */
  .genre-pills-container,
  .runtime-pills-container,
  .release-pills-container,
  .vote-pills-container,
  .mpaa-pills-container,
  .language-pills-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
  }
  
  /* Generic Pill Styles */
  .genre-pill,
  .runtime-pill,
  .release-pill,
  .vote-pill,
  .mpaa-pill,
  .language-pill,
  .list-categories-pill,
  .publications-pill {
    font-family: var(--font-code, 'Roboto Mono', monospace) !important;
    font-size: .75rem !important;
    font-weight: 500 !important;
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0.25rem 2rem 0.25rem 0.5rem !important;
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 20px;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
  }
  
  /* Add padding for X when pill is excluded */
  .genre-pill.excluded,
  .runtime-pill.excluded,
  .release-pill.excluded,
  .vote-pill.excluded,
  .mpaa-pill.excluded,
  .language-pill.excluded,
  .list-categories-pill.excluded,
  .publications-pill.excluded {
    padding-right: 2rem !important;
  }
  
  .genre-pill:hover,
  .runtime-pill:hover,
  .release-pill:hover,
  .vote-pill:hover,
  .mpaa-pill:hover,
  .language-pill:hover,
  .list-categories-pill:hover,
  .publications-pill:hover {
    background: #f8f9fa;
    border-color: #dee2e6;
  }
  
  .genre-pill.excluded,
  .runtime-pill.excluded,
  .release-pill.excluded,
  .vote-pill.excluded,
  .mpaa-pill.excluded,
  .language-pill.excluded,
  .list-categories-pill.excluded,
  .publications-pill.excluded {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
  }
  
  body.dark-mode .genre-pill.excluded,
  body.dark-mode .runtime-pill.excluded,
  body.dark-mode .release-pill.excluded,
  body.dark-mode .vote-pill.excluded,
  body.dark-mode .mpaa-pill.excluded,
  body.dark-mode .language-pill.excluded,
  body.dark-mode .list-categories-pill.excluded,
  body.dark-mode .publications-pill.excluded {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
  }
  
  .genre-pill.excluded:hover,
  .runtime-pill.excluded:hover,
  .release-pill.excluded:hover,
  .vote-pill.excluded:hover,
  .mpaa-pill.excluded:hover,
  .language-pill.excluded:hover,
  .list-categories-pill.excluded:hover,
  .publications-pill.excluded:hover {
    background: #c82333;
    border-color: #c82333;
  }
  
  body.dark-mode .genre-pill.excluded:hover,
  body.dark-mode .runtime-pill.excluded:hover,
  body.dark-mode .release-pill.excluded:hover,
  body.dark-mode .vote-pill.excluded:hover,
  body.dark-mode .mpaa-pill.excluded:hover,
  body.dark-mode .language-pill.excluded:hover,
  body.dark-mode .list-categories-pill.excluded:hover,
  body.dark-mode .publications-pill.excluded:hover {
    background: #c82333;
    border-color: #c82333;
  }
  
  .unselect-all-pill {
    background: #007bff !important;
    border-color: #007bff !important;
    color: #fff !important;
  }
  
  .unselect-all-pill:hover {
    background: #0056b3 !important;
    border-color: #0056b3 !important;
  }
  
  .unselect-all-pill.excluded {
    background: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
  }
  
  body.dark-mode .unselect-all-pill.excluded {
    background: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
  }
  
  .unselect-all-pill.excluded:hover {
    background: #1e7e34 !important;
    border-color: #1e7e34 !important;
  }
  
  body.dark-mode .unselect-all-pill.excluded:hover {
    background: #1e7e34 !important;
    border-color: #1e7e34 !important;
  }
  
  /* Pill X Button Styles */
  .genre-pill-x,
  .runtime-pill-x,
  .release-pill-x,
  .vote-pill-x,
  .mpaa-pill-x,
  .language-pill-x,
  .list-categories-pill-x,
  .publications-pill-x {
    position: absolute !important;
    right: 0.5rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    line-height: 1 !important;
    opacity: 0.7 !important;
    color: inherit !important;
    pointer-events: auto !important;
    transition: none !important;
    margin: 0 !important;
  }
  
  /* Hide X when pill is selected (not excluded) */
  .genre-pill:not(.excluded) .genre-pill-x,
  .runtime-pill:not(.excluded) .runtime-pill-x,
  .release-pill:not(.excluded) .release-pill-x,
  .vote-pill:not(.excluded) .vote-pill-x,
  .mpaa-pill:not(.excluded) .mpaa-pill-x,
  .language-pill:not(.excluded) .language-pill-x,
  .list-categories-pill:not(.excluded) .list-categories-pill-x,
  .publications-pill:not(.excluded) .publications-pill-x {
    opacity: 0;
  }
  
  /* Show X on hover when pill is selected */
  .genre-pill:not(.excluded):hover .genre-pill-x,
  .runtime-pill:not(.excluded):hover .runtime-pill-x,
  .release-pill:not(.excluded):hover .release-pill-x,
  .vote-pill:not(.excluded):hover .vote-pill-x,
  .mpaa-pill:not(.excluded):hover .mpaa-pill-x,
  .language-pill:not(.excluded):hover .language-pill-x,
  .list-categories-pill:not(.excluded):hover .list-categories-pill-x,
  .publications-pill:not(.excluded):hover .publications-pill-x {
    opacity: 0.7;
  }
  
  /* Add padding for X when selected pill is hovered */
  .genre-pill:not(.excluded):hover,
  .runtime-pill:not(.excluded):hover,
  .release-pill:not(.excluded):hover,
  .vote-pill:not(.excluded):hover,
  .mpaa-pill:not(.excluded):hover,
  .language-pill:not(.excluded):hover,
  .list-categories-pill:not(.excluded):hover,
  .publications-pill:not(.excluded):hover {
    padding-right: 2rem !important;
  }
  
  /* Pill Text Styles */
  .genre-pill-text,
  .runtime-pill-text,
  .release-pill-text,
  .vote-pill-text,
  .mpaa-pill-text,
  .language-pill-text,
  .list-categories-pill-text,
  .publications-pill-text {
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
  }
  
  /* Pill Containers - Allow long names */
  .genre-pill,
  .runtime-pill,
  .release-pill,
  .vote-pill,
  .mpaa-pill,
  .language-pill,
  .list-categories-pill,
  .publications-pill {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: unset !important;
    white-space: normal !important;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }


  /* Pill Text - Allow to grow */
  .genre-pill-text,
  .runtime-pill-text,
  .release-pill-text,
  .vote-pill-text,
  .mpaa-pill-text,
  .language-pill-text,
  .list-categories-pill-text,
  .publications-pill-text {
    flex-grow: 1;
    min-width: 0;
    white-space: normal;
  }
  
  /* Responsive Design for Pills */
  @media (max-width: 700px) {
    .movie-list-dropdown-wrap {
      flex-direction: column;
      gap: 0.75rem;
    }
    
    .movie-list-dropdown-wrap .custom-dropdown {
      max-width: 100%;
      min-width: unset;
    }
    
    .centered-container {
      max-width: 100%;
      margin: 0 1rem;
    }
    
    .filter-sort-container {
      flex-direction: column;
      gap: 1rem;
      width: 100%;
    }
    
    .includes-excludes-section,
    .sort-section {
      margin: 0;
      width: 100%;
    }
  
    .section-header-collapsible {
      padding: 0.75rem 1rem;
    }
  
    .section-header-collapsible h4 {
      font-size: 1rem;
    }
  
    .section-toggle-icon {
      font-size: 1.1rem;
    }
  
    .section-content {
      padding: 1rem;
    }
  
    .section-content p {
      font-size: 0.9rem;
    }
  
    .filter-group,
    .sort-group {
      margin-bottom: 1rem;
    }
  
    .filter-group label,
    .sort-group label {
      font-size: 0.9rem;
    }
  
    .genre-pills-container,
    .runtime-pills-container,
    .release-pills-container,
    .vote-pills-container,
    .mpaa-pills-container,
    .language-pills-container {
      gap: 0.4rem;
    }
  
    .genre-pill,
    .runtime-pill,
    .release-pill,
    .vote-pill,
    .mpaa-pill,
    .language-pill {
      padding: 0.4rem 0.6rem;
      font-size: 0.8rem;
    }
  }