.movie-card[data-v-809b88a1]{border:none;border-radius:12px;transition:transform .3s;position:relative;overflow:hidden}.movie-card[data-v-809b88a1]:hover{transform:translateY(-5px)}.movie-card__img-container[data-v-809b88a1]{aspect-ratio:2/3;width:100%;position:relative;overflow:hidden}.movie-card__img[data-v-809b88a1]{object-fit:cover;width:100%;height:100%}.movie-card__placeholder[data-v-809b88a1]{color:#ccc;background:linear-gradient(135deg,#2c2c2c,#1a1a1a);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.movie-card__placeholder span[data-v-809b88a1]{margin-top:.5rem;font-size:.9rem}.movie-card__overlay[data-v-809b88a1]{opacity:0;background:#0009;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.movie-card:hover .movie-card__overlay[data-v-809b88a1]{opacity:1}.movie-card__btn[data-v-809b88a1]{background:#fff;border:none;border-radius:30px;padding:.6rem 1.2rem;font-size:.9rem;transition:all .3s}.movie-card__btn[data-v-809b88a1]:hover{color:#fff;background:#212529}.movie-card__body[data-v-809b88a1]{justify-content:space-between;align-items:center;display:flex}.movie-card__title[data-v-809b88a1]{max-width:70%;margin:0;font-size:.95rem;font-weight:600}.movie-card__badge[data-v-809b88a1]{color:#fff;background:#212529;border-radius:8px;padding:.2rem .6rem;font-size:.75rem}.movie-modal[data-v-7881df5e]{z-index:999;position:fixed;inset:0}.movie-modal__overlay[data-v-7881df5e]{background:#000000b3;position:absolute;inset:0}.movie-modal__content[data-v-7881df5e]{z-index:2;background:#fff;border-radius:12px;max-width:800px;margin:5% auto;padding:2rem;animation:.3s fadeIn-7881df5e;position:relative}.movie-modal__close[data-v-7881df5e]{color:#fff;background:#212529;border:none;border-radius:50%;width:35px;height:35px;position:absolute;top:10px;right:10px}.movie-modal__loading[data-v-7881df5e]{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:300px;display:flex}.movie-modal__img-container[data-v-7881df5e]{width:100%}.movie-modal__img[data-v-7881df5e]{border-radius:10px;width:100%}.movie-modal__placeholder[data-v-7881df5e]{color:#ccc;background:linear-gradient(135deg,#2c2c2c,#1a1a1a);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:400px;display:flex}.movie-modal__title[data-v-7881df5e]{font-weight:700}.movie-modal__meta[data-v-7881df5e]{color:#6c757d;margin-bottom:.5rem}.movie-modal__rating[data-v-7881df5e]{margin-bottom:1rem;font-weight:600}.movie-modal__plot[data-v-7881df5e]{margin-bottom:1rem;line-height:1.5}.movie-modal__extra[data-v-7881df5e]{color:#444;font-size:.9rem}@keyframes fadeIn-7881df5e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%}body{background-color:#f8f9fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app{width:100%;min-height:100vh}.app__container{max-width:1200px;margin:3rem auto 0;padding:2rem 1rem}.hero{background-image:url(https://images.unsplash.com/photo-1524985069026-dd778a71c7b4);background-position:50%;background-size:cover;justify-content:center;align-items:center;height:80vh;display:flex;position:relative}.hero__overlay{background:#0009;position:absolute;inset:0}.hero__content{z-index:2;color:#fff;max-width:700px;padding-top:140px;animation:1s fadeIn;position:relative}.hero__logo{opacity:.8;width:120px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.hero__title{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.hero__subtitle{color:#ddd;margin-bottom:2rem;font-size:1.1rem}.hero__search{background:#fff;border-radius:50px;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.hero__input{border:none;outline:none;flex:1;padding:.8rem 1rem}.hero__btn{color:#fff;background:#212529;border:none;border-radius:50px;padding:.8rem 1.5rem;transition:all .3s}.hero__btn:hover{background:#000}.movies__state{text-align:center;color:#6c757d;flex-direction:column;justify-content:center;align-items:center;height:300px;display:flex}.movies__state--loading{gap:1rem;font-size:1.1rem}.movies__state--error{color:#dc3545;font-size:1.1rem;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
