:root{color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#03152b;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#fff}.loading-container{background-color:#000c;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%}.loading-spinner{border:8px solid rgb(12,23,88);border-left-color:tomato;border-radius:50%;margin-bottom:20px;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-container{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;background:#f8fafc;opacity:.9}.login-box{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 6px 30px #00000014;max-width:350px;width:100%;display:flex;flex-direction:column}.login-title{font-size:2rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:.5rem}.form-label{font-size:1rem;font-weight:500;color:#374151;margin-top:20px}.form-input{padding:12px 16px;font-size:1rem;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;width:100%;transition:border-color .2s,background .2s}.form-input:focus{border-color:#00bcd4;background:#fff;outline:none}.form-error{margin-top:.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.95rem;padding:8px 12px}.login-button{width:100%;padding:12px 16px;margin-top:20px;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:#00bcd4;color:#fff;cursor:pointer;transition:background .2s ease-in-out}.login-button:hover,.login-button:focus{background:#0c1758;outline:none}.login-button:disabled{background:#9ca3af;color:#000;cursor:not-allowed}.footer-container{background:#fff;margin:10px 0;padding:12px 24px;border-radius:12px;box-shadow:0 4px 24px #00000014;width:100%;max-width:350px;display:flex;flex-direction:column}.login-footer{margin-top:1rem;text-align:center}.login-footer a{color:#00bcd4;text-decoration:none;font-weight:500;margin:15px 0}.login-footer a:hover{background:tomato;color:#fff;border-radius:6px;transition:.2s ease}.register-page{min-height:90vh;display:flex;flex-direction:column;align-items:center;background:#f8fafc;opacity:.8;padding:5px;margin:0;color:#000}.register-page h1{margin-bottom:15px;font-size:2rem;color:#22223b;text-align:center}.register-form{background:#fff;padding:12px 24px;border-radius:12px;box-shadow:0 4px 24px #00000014;width:100%;max-width:350px;display:flex;flex-direction:column;gap:24px}.form-group label{font-size:1rem;color:#4a4e69;font-weight:500}.form-group input{padding:10px 12px;border:1px solid #1d1b1b;border-radius:6px;font-size:1rem;background:#f5f7fa;color:#22223b;transition:border .2s;width:100%}.input-wrapper{position:relative;display:flex;align-items:center}.toggle-password{position:absolute;right:10px;background:none;border:none;font-size:1rem;color:#00bcd4;cursor:pointer}.check-icon{position:absolute;right:40px;font-size:1rem}.check-icon.match{color:green}.check-icon.no-match{color:tomato}.strength{font-size:.9rem;margin-top:4px}.strength.weak{color:tomato}.strength.medium{color:orange}.strength.strong{color:green}.form-error{color:tomato;background:#fff3f3;padding:10px;border-radius:6px;font-size:.9rem;text-align:center}.register-btn{margin-top:10px;padding:12px 0;background:#00bcd4;color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s}.register-btn:hover{background:#0c1758}.register-btn:disabled{background:#b0b0b0;cursor:not-allowed}.cancel{background:wheat;color:#000}.cancel:hover{background:#f0ad4e}.footer-container{background:#fff;margin:20px 0;padding:12px 24px;border-radius:12px;box-shadow:0 4px 24px #00000014;width:100%;max-width:350px;display:flex;flex-direction:column}.login-footer{margin-top:10px;text-align:center}.login-footer a{color:#00bcd4;text-decoration:none;font-weight:500;margin:0}.login-footer a:hover{background:tomato;padding:5px;color:#fff;border-radius:6px;transition:.2s ease}.hero{background-image:url(https://images.unsplash.com/photo-1506748686214-e9df14d4d9d0?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80);background-size:cover;background-position:center;padding:4rem 2rem;text-align:center;color:#fff;position:relative;z-index:1}.hero:before{content:"";background:#00000080;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.hero-content{max-width:800px;margin:auto;line-height:1.6}.hero h1{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.6)}.cta-button{margin-top:15px;font-size:1.2rem;padding:5px 15px;color:#fff;background-color:#ff4d4d;border-radius:5px;box-shadow:0 2px 2px #ecc5c5f8;outline:none;border:none}.cta-button:hover{background-color:#fcc;color:#d12828;text-decoration:none;transition:background-color .3s ease,color .3s ease}.search-bar{margin:2rem auto;text-align:center}.search-bar input{padding:.5rem 1rem;width:90%;max-width:400px;border:none;border-radius:4px;font-size:1rem}.section-heading{margin:2rem auto 1rem;text-align:center;font-size:2rem;font-weight:700;border-bottom:2px solid tomato;display:inline-block;padding-bottom:.5rem}.section-header{text-align:center;margin:2rem 0 1rem}.section-header h2{font-size:2rem;font-weight:700;border-bottom:2px solid tomato;display:inline-block;padding-bottom:.5rem}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;padding:0 2rem 2rem}.movie-card{background-color:#121e36;border-radius:8px;overflow:hidden;transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:0 4px 15px #9b9595f8}.movie-poster{width:100%;height:400px;overflow:hidden}.movie-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.movie-card img:hover{transform:scale(1.05)}.movie-card h2{font-size:1.25rem;margin:1rem}.movie-card h3{font-size:1rem;color:tomato;margin:0 1rem;text-align:center}.movie-card button{padding:.6rem;background-color:tomato;color:#fff;border:none;border-radius:4px;font-weight:700;font-size:1rem;cursor:pointer;margin-top:auto;transition:background-color .3s ease}.movie-card button:hover{background-color:#d12828}.mDescription{font-size:.9rem;padding:0 1rem;margin-bottom:1rem;text-align:justify}.movie-card p{padding:0 1rem;margin-bottom:.5rem}.movie-card .view-more-btn{display:block;margin:1rem auto 2rem;padding:.75rem 2rem;background-color:tomato;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.movie-card .view-more-btn:hover{background-color:#d12828}.error{color:#ff4d4d;background-color:#ffe6e6;border:1px solid #ff9999;padding:10px;border-radius:5px;margin:20px auto;max-width:600px;text-align:center}.footer{background-color:#0b121f;padding:1rem 2rem;text-align:center;font-size:.9rem;color:#bbb;margin-top:3rem;border-top:1px solid #222}.footer p{margin:.3rem 0}.footer a{color:#00bcd4;text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width: 768px){.section{width:100%}.hero h1{font-size:2.2rem}.movie-poster{height:300px}}.show-more-container{text-align:center;margin-top:1rem}.show-more-button{padding:10px 20px;font-size:1rem;background-color:#00bcd4;color:#fff;border:none;border-radius:5px;cursor:pointer}.show-more-button:hover{background-color:#0197a7}.profile-container{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:center;padding:20px;max-width:1200px;margin:0 auto}section{width:100%;max-width:800px;margin:8px auto;border-radius:10px;border-bottom:1px solid #aca9a9}.account,.profile-info{display:flex;font-size:1.2rem;flex-direction:column;gap:10px;align-items:center;padding:20px;background-color:#f9f9f9;color:#000;opacity:.8}.account button,.profile-info button{width:100%;max-width:200px;margin-top:10px;padding:10px;background-color:tomato;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.account button:hover,.profile-info button:hover{background-color:#8b0000}.profile-picture{width:200px;height:200px;border-radius:50%;overflow:hidden;border:1px solid tomato;margin-bottom:20px}.default-picture,.profile-picture img{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#252525;font-size:5rem;color:tomato;padding:0;margin:0;border:1px solid tomato;border-radius:50%;object-fit:cover;object-position:center;transition:all .3s ease}.no-favorites,.no-watchlist{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;gap:10px}.no-favorites h2,.no-watchlist h2{font-size:1.5rem}.no-favorites a,.no-watchlist a{color:tomato}.no-favorites a:hover,.no-watchlist a:hover{background-color:tomato;color:#f9f9f9;padding:5px;text-decoration:none;border-radius:5px;transition:all .5s ease}.default-picture,.default-picture img{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#252525;font-size:5rem;color:tomato;padding:0;margin:0;border:1px solid tomato;border-radius:50%;object-fit:cover;object-position:center;transition:all .3s ease}.default-picture:hover,.default-picture img:hover{transform:scale(1.05);box-shadow:0 4px 8px #0003;transition:all .5s ease;cursor:pointer}.movie-detail-container{display:flex;gap:2rem;flex-direction:column}.movie-detail-page{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;height:100vh;display:flex;align-items:center;justify-content:center;color:#fff}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:0}.movie-detail-content{position:relative;z-index:1;display:flex;flex-wrap:wrap;max-width:900px;width:100%;margin:0 auto;padding:2rem;background-color:#000000a6;border-radius:12px;box-shadow:0 4px 20px #e6bcbc99}.poster{width:300px;border-radius:8px;margin:2rem}.details{flex:1;margin:10px}.details h1{font-size:2.5rem;margin-bottom:1rem}.details .overview{margin:1rem 0;font-size:1.1rem;line-height:1.6;text-align:justify}.actions{display:flex;justify-content:space-between;margin-top:2rem}.fav-btn,.watch-btn{padding:.75rem 1.5rem;border:none;font-size:1rem;border-radius:6px;cursor:pointer;transition:background .3s ease}.fav-btn{background-color:tomato;color:#fff}.fav-btn:hover{background-color:#00bcd4}.watch-btn{background-color:#00bcd4;color:#fff}.watch-btn:hover{background-color:tomato}.recommended-section{margin-top:3rem;padding:2rem;background-color:#0f1b2b}.loading{position:absolute;top:20%;left:30%;background:#0f1b2b;opacity:.8;width:100%;height:100%;z-index:100}@media screen and (max-width: 768px){.movie-detail-content{flex-direction:column;align-items:center;width:100%}.poster{width:100%;margin:0 auto}.details{text-align:center}.actions{flex-direction:column;align-items:center}.fav-btn,.watch-btn{width:100%;margin-bottom:1rem}}.app-header{height:70px;background:linear-gradient(135deg,#03152b,#2a2a72);display:flex;justify-content:space-between;align-items:center;padding:0 1rem;color:#fff;top:0;z-index:1000;box-shadow:0 2px 10px #0003;position:relative}.logo-container{display:flex;align-items:center;gap:10px}.logo{font-size:2rem;font-weight:700;flex-shrink:0}.search-bar{height:40px;width:80px;display:flex;align-items:center;background:#0a0a0a;opacity:.8;border-radius:5px;transition:all .8s ease-in-out;max-width:300px;margin:0 auto}.search-bar:focus-within{flex-grow:1}.search-bar .search-icon{color:#fff;font-size:1.2rem;padding:0 10px;transition:color .3s ease-in-out;cursor:pointer}.search-bar .search-icon:hover{color:tomato}.search-bar input{width:100%;height:100%;border-radius:5px;background:#fff;border:none;color:#000;font-size:1rem;outline:none;padding:0 10px}.nav-links{display:flex;gap:1.5rem;align-items:center;flex-shrink:0}.nav-link{text-decoration:none;color:#fff;position:relative;font-size:1rem;font-weight:500;transition:color .3s ease-in-out;background:none;border:none;cursor:pointer}.nav-link:after{content:"";position:absolute;bottom:-6px;left:0;height:3px;width:0;background-color:tomato;transition:width .3s ease-in-out}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover,.notification{color:tomato}.user-greeting{font-style:italic;pointer-events:none}.logout-btn{background:none;color:#fff;border:none;font:inherit;cursor:pointer}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:1010}.hamburger span{width:25px;height:3px;background:#fff;border-radius:3px;transition:all .3s ease-in-out}.hamburger.open span:nth-child(1){transform:rotate(45deg) translateY(8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translateY(-8px)}@media (max-width: 768px){.nav-links{position:absolute;top:70px;right:0;background:#2a2a72;width:100%;flex-direction:column;align-items:flex-end;padding:1rem 2rem;transform:translateY(-100%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:all}.hamburger{display:flex}.app-title{display:none}.search-bar{display:yes;width:100%;max-width:none;margin:0 10px}}.footer-link{color:#fff;text-decoration:none;padding:3px;margin:5px;font-size:14px}.footer-link:hover{color:tomato;background:#fff;cursor:pointer;margin:5px;border-radius:5px;transition:all .7s ease-in-out}.favorites-page{padding:20px;max-width:1200px;margin:0 auto}.about-page{max-width:900px;margin:0 auto;padding:2rem;background-color:#f8f9fa;color:#1e1e2f;line-height:1.6}.about-page section{margin-bottom:2.5rem}.about-page h1{font-size:2.5rem;color:#2a2a72;margin-bottom:1rem;border-bottom:2px solid tomato;padding-bottom:.5rem}.about-page h2{font-size:1.75rem;margin-top:1.5rem;color:#374785}.about-page ul{list-style-type:none;padding-left:0}.about-page ul li{margin:.5rem 0;padding-left:1.2rem;position:relative}.about-page ul li:before{content:"•";position:absolute;left:0;color:tomato}.about-page p{margin-bottom:1rem;font-size:1rem}@media (max-width: 600px){.about-page{padding:1rem}.about-page h1,.about-page h2{font-size:1.5rem}}.contact-container{max-width:600px;margin:10px auto;padding:2rem 1rem;background:#fff;color:#22223b;border-radius:8px;box-shadow:0 2px 15px #0000001a}.contact-container h1{font-size:2.5rem;margin-bottom:1rem;text-align:center;color:#2a2a72}.contact-container p{text-align:center;margin-bottom:2rem;color:#4a4e69}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;margin-bottom:.5rem;color:#333}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;background:#f5f7fa;color:#222}.form-group input:focus,.form-group textarea:focus{border-color:#5f6fff;outline:none}.contact-btn{background-color:#5f6fff;color:#fff;padding:.8rem 1.5rem;margin-bottom:20px;border:none;border-radius:6px;font-size:1.1rem;cursor:pointer;transition:background .3s ease-in-out}.contact-btn:hover{background-color:#3d47d6}.thank-you{text-align:center;color:#2a2a72}.thank-you h3{font-size:1.6rem;margin-bottom:.5rem}.message-container{position:fixed;top:70px;right:5px;z-index:9999;min-width:280px;max-width:90%;padding:16px 14px;border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:500;opacity:0;animation:fadeInOut 5s ease forwards}.message-container.success{background-color:#d1fae5;color:#065f46;border-left:5px solid #10b981}.message-container.error{background-color:#fee2e2;color:#991b1b;border-left:5px solid #ef4444}.close-btn{background:transparent;border:none;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;margin-left:16px;font-weight:700}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-20px)}30%{opacity:1;transform:translate(-50%) translateY(0)}70%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}
