[data-theme=dark]{--color-bg:#141414;--color-bg-alt:#1c1c1c;--color-bg-hover:#2a2a2a;--color-text:#ffffff;--color-text-muted:#b3b3b3;--color-text-hover:#e5e5e5;--color-primary:#e50914;--color-primary-light:#ff3333;--color-secondary:#f5c518;--color-border:#333333;--font-base:var(--font-quicksand);--button-bg:#2a2a2a;--button-bg-hover:#ff3333;--button-text:#ff3333}[data-theme=light]{--color-bg:#ffffff;--color-text:#000000}.container-bg{color:#fff;font-family:var(--font-base)}.container-bg,body[data-theme=dark]{background-color:var(--color-bg)}.hero-banner{position:relative;height:50vh;background-position:50%;background-size:cover;color:#fff;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;text-shadow:0 2px 6px rgba(0,0,0,.7)}.hero-banner__rating-circle{position:absolute;top:50%;left:1rem;transform:translateY(-50%);background-color:rgba(25,25,25,.6);border-radius:50%;width:15em;height:15em;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px rgba(7,6,0,.7);user-select:none;z-index:10}.hero-banner__title{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;max-width:90%;text-shadow:0 3px 8px rgba(0,0,0,.85)}.hero-banner__overview{max-width:45rem;font-size:1.125rem;line-height:1.4;text-shadow:0 2px 6px rgba(0,0,0,.8)}.hero-banner.no-banner{background-color:#2d3748;height:40vh;display:flex;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600}@media(max-width:768px){.hero-banner{height:30vh;padding:1rem}.hero-banner__rating-circle{width:10em;height:10em;left:.75rem}.hero-banner__title{font-size:1.8rem;max-width:95%}.hero-banner__overview{max-width:100%;font-size:1rem}}@media(max-width:480px){.hero-banner{height:25vh;padding:.75rem}.hero-banner__rating-circle{width:7.5em;height:7.5em;left:.5rem}.hero-banner__title{font-size:1.4rem}.hero-banner__overview{font-size:.9rem}}.movie-poster-wrapper{position:relative;width:56px;height:80px;border-radius:.125rem;overflow:hidden;flex-shrink:0}.movie-title{font-weight:500;color:#e5e7eb;margin:0}.movie-year{font-size:.75rem;color:#9ca3af}.movie-page{display:flex;flex-direction:column;background-color:#111827;color:#fff}.movie-page main.movie-details{display:flex;gap:2rem;padding:1rem;max-width:1200px;margin:auto}@media(max-width:768px){.movie-page main.movie-details{flex-direction:column;align-items:center}}.movie-page main.movie-details .movie-poster{flex-shrink:0;max-width:272px;width:100%}.movie-page main.movie-details .movie-poster img{border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.5)}.movie-page main.movie-details section.details-text{flex:1;max-width:720px}.movie-page main.movie-details section.details-text .title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.movie-page main.movie-details section.details-text .rating{font-size:1.1rem;color:#facc15;font-weight:600;margin-bottom:.25rem}.movie-page main.movie-details section.details-text .genres{font-size:.95rem;color:#bbb;margin-bottom:.25rem}.movie-page main.movie-details section.details-text .release-runtime{font-size:.95rem;color:#bbb;margin-bottom:1rem}.movie-page main.movie-details section.details-text .overview{font-size:1rem;line-height:1.5;margin-bottom:2rem}.movie-page main.movie-details section.details-text .cast-section{margin-bottom:2rem}.movie-page main.movie-details section.details-text .cast-section h2{font-size:1.5rem;margin-bottom:1rem}.movie-page main.movie-details section.details-text .cast-section .cast-list{display:flex;gap:1rem;flex-wrap:wrap;padding-bottom:0;margin-left:0;margin-right:0}@media(min-width:640px){.movie-page main.movie-details section.details-text .cast-section .cast-list{margin-left:0;margin-right:0}}.movie-page main.movie-details section.details-text .cast-section .cast-list .cast-member{text-align:center;width:112px}.movie-page main.movie-details section.details-text .cast-section .cast-list .cast-member .cast-photo{border-radius:.25rem;object-fit:cover;height:180px;width:100%;margin-bottom:.5rem}.movie-page main.movie-details section.details-text .cast-section .cast-list .cast-member .no-image{background:#333;color:#888;height:180px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;font-size:.75rem;margin-bottom:.5rem}.movie-page main.movie-details section.details-text .cast-section .cast-list .cast-member .cast-name{font-size:.9rem;font-weight:700;white-space:normal;overflow:visible;text-overflow:clip}.movie-page main.movie-details section.details-text .cast-section .cast-list .cast-member .cast-character{font-size:.8rem;color:#bbb;white-space:normal;overflow:visible;text-overflow:clip}.movie-page main.movie-details section.details-text .trailer-section{margin-top:2rem}.movie-page main.movie-details section.details-text .trailer-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.movie-page main.movie-details section.details-text .trailer-section .trailer-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.5)}.movie-page main.movie-details section.details-text .trailer-section .trailer-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.series-page{display:flex;flex-direction:column;background-color:#111827;color:#fff}.series-page .series-details{display:flex;gap:2rem;padding:1rem;max-width:1200px;margin:auto}@media(max-width:768px){.series-page .series-details{flex-direction:column;align-items:center}}.series-page .series-poster{flex-shrink:0}.series-page .series-poster img{border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.5)}.series-page .details-text{flex:1}.series-page .details-text .title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.series-page .details-text .rating{font-size:1.1rem;margin-bottom:.25rem}.series-page .details-text .genres{font-size:.95rem;color:#bbb;margin-bottom:.25rem}.series-page .details-text .release-runtime{font-size:.95rem;color:#bbb;margin-bottom:1rem}.series-page .details-text .overview{font-size:1rem;line-height:1.5;margin-bottom:2rem}.series-page .cast-section{margin-bottom:2rem}.series-page .cast-section h2{font-size:1.5rem;margin-bottom:1rem}.series-page .cast-section .cast-list{display:flex;gap:1rem;flex-wrap:wrap}.series-page .cast-section .cast-member{text-align:center;width:112px}.series-page .cast-section .cast-member .cast-photo{border-radius:.25rem;object-fit:cover;margin-bottom:.5rem}.series-page .cast-section .cast-member .no-image{background:#333;color:#888;height:180px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;margin-bottom:.5rem}.series-page .cast-section .cast-member .cast-name{font-size:.9rem;font-weight:700}.series-page .cast-section .cast-member .cast-character{font-size:.8rem;color:#bbb}.series-page .trailer-section h2{font-size:1.5rem;margin-bottom:1rem}.series-page .trailer-section .trailer-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.5)}.series-page .trailer-section .trailer-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.navbar{position:sticky;top:0;z-index:50;border-bottom:1px solid #374151;background:linear-gradient(to bottom right,#0d1b2a,#1b263b);padding:.5rem 1rem;justify-content:space-between;color:#f9fafb}.navbar,.navbar .logo{display:flex;align-items:center}.navbar .logo{width:65px;height:65px;justify-content:center;overflow:hidden}.navbar .menu{display:flex;gap:1.5rem;align-items:center}.navbar .menu a{color:#f9fafb;transition:color .2s ease-in-out}.navbar .menu a:hover{color:#d1d5db}.navbar .search-container{flex:1;max-width:800px;display:flex;align-items:center;justify-content:center}.navbar .mobile-hamburger{display:none}@media(max-width:767px){.navbar .mobile-hamburger{display:flex;align-items:center}.navbar .menu,.navbar .search-container{display:none}}.main-searchbar{position:relative;width:100%;margin:0 auto}.main-searchbar__input{width:100%;padding:0 2.5rem;height:40px;border-radius:6px;border:1px solid #4b5563;background-color:#1f2937;color:#e5e7eb;font-size:1rem;line-height:1.5;outline-offset:2px}.main-searchbar__input::placeholder{color:#9ca3af}.main-searchbar__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.4);outline:none}.main-searchbar__icon{position:absolute;top:50%;transform:translateY(-50%);color:#9ca3af;display:flex;align-items:center;justify-content:center;pointer-events:none}.main-searchbar__icon--left{left:10px}.main-searchbar__icon--right{right:10px;pointer-events:auto;cursor:pointer;color:#9ca3af;transition:color .2s ease}.main-searchbar__icon--right:focus,.main-searchbar__icon--right:hover{color:#e5e7eb}.main-searchbar__icon--spinner{right:40px;pointer-events:none;animation:spin 1s linear infinite;color:#9ca3af}.main-searchbar__dropdown{position:absolute;z-index:50;top:100%;left:0;width:100%;max-height:320px;overflow-y:auto;margin-top:.25rem;border-radius:6px;border:1px solid #374151;background-color:#1f2937;box-shadow:0 4px 12px rgba(0,0,0,.5)}.main-searchbar__no-results{padding:1rem;text-align:center;color:#9ca3af}.main-searchbar__result{list-style:none}.main-searchbar__result-link{display:flex;align-items:center;gap:12px;padding:.5rem 1rem;border-radius:6px;color:#e5e7eb;text-decoration:none}.main-searchbar__result-link:focus,.main-searchbar__result-link:hover{background-color:#2563eb;color:#fff;outline:none}.main-searchbar__result-image-wrapper{position:relative;width:56px;height:80px;flex-shrink:0;border-radius:4px;overflow:hidden;background-color:#374151}.main-searchbar__result-no-image{width:56px;height:80px;flex-shrink:0;border-radius:4px;background-color:#4b5563;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#9ca3af}.main-searchbar__result-title{font-weight:500;margin:0}.main-searchbar__result-year{font-size:.75rem;color:#9ca3af}.button{background-color:var(--button-bg);border:1px solid red;color:var(--button-text);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .3s ease}.button:hover{box-shadow:0 0 20px rgba(229,9,20,.6)}.swiper-button-next,.swiper-button-prev{color:red!important}@keyframes spin{to{transform:rotate(1turn)}}.modalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.modalContent{background-color:var(--color-bg-alt);color:var(--color-text);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border);box-shadow:0 10px 30px rgba(0,0,0,.5);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:scaleUp .3s ease-out;position:relative}.modalHeader{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:1rem;margin-bottom:1rem}.modalTitle{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-text)}.modalCloseButton{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;transition:color .2s ease;padding:0}.modalCloseButton:hover{color:var(--color-primary)}.modalBody{font-size:1rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.review-link{display:inline-flex;align-items:center;gap:.5rem;margin:.75rem 0;padding:.5rem 1rem;border-radius:.5rem;background-color:var(--button-bg);color:var(--button-text);font-family:var(--font-base);font-weight:500;text-decoration:none;transition:all .3s ease}.review-link svg{font-size:1rem}.review-link:hover{background-color:var(--button-bg-hover);color:var(--color-text);box-shadow:0 0 15px rgba(229,9,20,.4)}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--color-bg) inset!important;-webkit-text-fill-color:var(--color-text)!important}.review-card__media-header{margin-bottom:1rem;border-left:3px solid var(--color-primary);padding-left:.75rem}.review-card__media-badge{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.review-card__media-title{font-size:1.25rem;font-weight:700;margin-bottom:0}.review-card__media-title a{color:var(--color-text);text-decoration:none;transition:color .3s ease}.review-card__media-title a:hover{color:var(--color-primary-light)}