        /* ========== Dark theme to match home/fiction ========== */
        :root{
          --bg: #0f0f10;
          --panel: #17181a;
          --panel-2: #1e1f22;
          --text: #e8e8ea;
          --muted: #b9bdc7;
          --accent: #70e1a1;
          --accent-2: #54b482;
          --border: #2a2b2f;
          --shadow: 0 10px 20px rgba(0,0,0,.35);
          --radius: 16px;
          --content-w: min(1200px, 92vw);
        }

        *, *::before, *::after { box-sizing: border-box; }

        html, body{
          height: 100%;
          margin: 0;
          width: 100%;
          max-width: 100%;
          overflow-x: hidden;
        }

        body{
          background: var(--bg);
          color: var(--text);
          font: 16px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell,
            "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji",
            "Segoe UI Symbol";
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          display: flex;
          flex-direction: column;
        }

        a{ color: inherit; text-decoration: none; }
        a:hover{ color: var(--accent); }

        img{ max-width: 100%; display: block; }

        /* Header */
        .site-header {
          background: #222222;
          color: #fff;
          padding: 0;
          background-image: url('/images/header-eyes-fade-6.png');
          background-repeat: no-repeat;
          background-position: right center;
          background-size: contain;
        }

        .site-logo img {
          max-height: 150px;
          width: auto;
          object-fit: contain;
          padding: 0;
        }

        /* Layout */
        main {
            width: 95%;
            max-width: var(--content-w);
            margin: 2rem auto 3rem;
            padding: 0 clamp(.5rem, 1vw, 1.25rem);
            }


        /* Top nav arrows + title */
        .arrow-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;           /* allows arrows/title to wrap on narrow screens */
            width: 95%;
            margin: 0 auto 1rem auto;
            gap: .5rem;
            }


        .arrow-container .movie-title {
              position: static;          /* remove absolute positioning */
              transform: none;           /* remove translateX */
              flex: 1;                   /* take remaining space between arrows */
              text-align: center;
        }


        .arrow-container h1 {
          margin: 0;
          font-size: clamp(1.2rem, 2.8vw, 1.8rem);
        }

        .arrow {
          font-size: 1.8rem;
          color: rgba(255, 255, 255, 0.4);
          text-decoration: none;
          transition: color 0.3s ease, transform 0.3s ease;
        }
        .arrow:hover {
          color: rgba(255, 255, 255, 0.9);
        }
        .left-arrow:hover  { transform: translateX(-5px); }
        .right-arrow:hover { transform: translateX( 5px); }


        .web-attributes__rating-descriptor {
        display: inline-flex;
        white-space: nowrap;
        }

        .web-attributes__rating {
        align-items: center;
        display: flex;
        margin-top: -1px;
        border: #f9f9f9 1px solid;
        }

        .web-attributes__rating-badge {
        border-radius: 3px;
        font-family: Inter,Helvetica Neue,sans-serif;
        font-size: 13px;
        font-weight: 900;
        letter-spacing: 0;
        line-height: 16px;
        padding: 0 6px;
        }

        
        .images-div {
            display: flex;
            flex-wrap: wrap;
            gap: 1.5rem;
            background: var(--panel);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            border: 1px solid var(--border);
            padding: 1.25rem 1.5rem;
            width: 100%;
            box-sizing: border-box;
        }


        .poster-div {
            flex: 0 0 200px;      /* a bit smaller base */
            max-width: 40%;       /* don't dominate on small/medium screens */
            display: flex;
            justify-content: center;
            align-items: center;
        }

            .details-container {
            flex: 1 1 0;          /* allow shrink and grow */
            min-width: 0;         /* critical: allow it to shrink below content width */
        }


        .poster {
          display: block;
          max-width: 260px;
          height: auto;
          border-radius: 12px;
          box-shadow: 2.7px 5.4px 5.4px hsl(0deg 0% 0% / 0.55);
        }

        .meta {
          font-size: 0.95rem;
          color: var(--muted);
          margin-bottom: .75rem;
          text-align: left;
        }

        .movie-description {
          margin-top: .5rem;
          margin-bottom: 1rem;
          font-size: .95rem;
        }

        .movie-description p {
          margin-top: 0;
        }

        .plot-cast-heading-container,
        .cast-crew-heading {
          margin-top: .25rem;
          margin-bottom: .5rem;
        }

        h2.plot-cast-heading {
          margin: 0;
          font-size: 1.05rem;
        }

        .infodiv {
          margin-top: .5rem;
          font-size: .95rem;
        }
        .infodiv ul {
          list-style: none;
          padding: 0;
          margin: 0;
        }
        .infodiv li {
          margin-bottom: .25rem;
        }

        hr {
          display: block;
          width: 100%;
          max-width: var(--content-w);
          margin: 2rem auto;
          border-style: inset;
          border-width: 1px;
          border-color: var(--border);
        }

        /* Trailer */
        .trailer-wrapper {
          max-width: 720px;
          width: 100%;
          margin: 0 auto;
        }

        .trailer-wrapper iframe {
          display: block;
          width: 100%;
          max-width: 100%;
          aspect-ratio: 16 / 9;
          height: auto;
          border-radius: 12px;
          border: none;
          box-shadow: var(--shadow);
        }

        /* Backdrops grid + modal */
        #backdropGrid{
          display: flex;
          
          flex-wrap: wrap;
          gap: 10px;
          justify-content: center;
          width: 100%;
          margin: 1.75rem auto;
        }

        #backdropGrid img{
          max-width: 20vw;
          height: auto;
          object-fit: cover;
          border: 2px solid #444;
          border-radius: 6px;
          transition: transform .2s, border-color .2s, box-shadow .2s;
          box-shadow: 0 2px 10px rgba(0,0,0,.35);
          cursor: pointer;
        }
        #backdropGrid img:hover{
          transform: scale(1.03);
          border-color: var(--accent);
          box-shadow: 0 6px 16px rgba(0,0,0,.55);
        }

        .modal{
          display: none;
          position: fixed;
          inset: 0;
          z-index: 2000;
          background: rgba(0,0,0,.85);
          align-items: center;
          justify-content: center;
          padding: 2rem;
          cursor: pointer;
        }
        .modal.open{ display: flex; }

        .modal img{
          max-width: 90vw;
          max-height: 90vh;
          width: auto;
          height: auto;
          border-radius: 8px;
          box-shadow: 0 12px 40px rgba(0,0,0,.6);
        }

        .modal .close{
          position: absolute;
          cursor: pointer;
          top: 12px;
          right: 12px;
          font-size: 36px;
          line-height: 1;
          background: #fff;
          color: #111;
          border-radius: 999px;
          padding: 6px 10px 8px;
          border: 2px solid #444;
          user-select: none;
          box-shadow: 0 6px 16px rgba(0,0,0,.35);
        }
        .modal .close:active{ transform: translateY(1px); }

        body.modal-open{ overflow: hidden; }

        /* Where to watch */
        .watch-div {
          width: 100%;
          max-width: 720px;
          margin: 0 auto 3rem auto;
        }

        .watch-heading-div {
          text-align: center;
          margin-bottom: .5rem;
        }

        .watch-links {
          background: var(--panel);
          border-radius: var(--radius);
          border: 1px solid var(--border);
          padding: .75rem 1rem;
          box-shadow: var(--shadow);
        }

        .providers-div {
          display: flex;
          flex-wrap: wrap;
          gap: .5rem;
          font-size: .9rem;
          align-items: center;
        }

        .provider-row {
          display: flex;
          flex-wrap: wrap;
          gap: .5rem;
          align-items: center;
        }

        .provider-logo {
          border-radius: 6px;
        }

        .provider-fallback {
          padding: .2rem .5rem;
          border-radius: 999px;
          background: var(--panel-2);
          border: 1px solid var(--border);
          font-size: .8rem;
        }

        /* Nav links under page */
        .nav-links {
          text-align: center;
          margin: 1.5rem 0 1rem 0;
          font-size: .95rem;
        }
        .nav-links a {
          margin: 0 0.5rem;
        }



        @media (max-width: 900px) {
          .footer-container {
            grid-template-columns: repeat(2, 1fr);
          }
        }

        @media (max-width: 600px) {
          .site-logo img {
            max-width: 60vw;
          }
          .footer-container {
            grid-template-columns: 1fr;
            text-align: center;
          }
          .arrow {
            font-size: 1.2rem;
          }
          #backdropGrid img{
            max-width: 40vw;
          }
        }

        @media (max-width: 700px) {
            .images-div {
                flex-direction: column;
                align-items: center;      /* center poster */
                padding: 1rem;
            }

            .poster-div {
                flex: 0 0 auto;
                max-width: 90%;
            }

            .details-container {
                width: 100%;
                min-width: 0;             /* ensure no overflow */
            }
        }
