*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;overflow-x:hidden;min-height:100vh;}

/* ══ THEME TOGGLE BUTTON ══ */
.theme-btn{
  background:transparent;border:1px solid var(--border2);color:var(--muted);
  padding:6px 10px;cursor:pointer;font-size:14px;transition:all .2s;
  flex-shrink:0;font-family:'Inter',sans-serif;border-radius:2px;
}
.theme-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ══ AI SEARCH MODAL ══ */
#ai-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
#ai-modal.open{display:flex;}
.ai-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:34px 28px;}
.ai-box h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--text);margin-bottom:4px;}
.ai-box .sub{font-size:12px;color:var(--muted);margin-bottom:20px;}
.ai-close{position:absolute;top:14px;right:20px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;}
.ai-close:hover{color:var(--gold);}
.ai-box textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);padding:12px;font-size:13px;font-family:'Inter',sans-serif;min-height:100px;resize:vertical;outline:none;transition:border-color .2s;}
.ai-box textarea:focus{border-color:var(--gold);}
.ai-box .ai-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 20px;}
.ai-box .ai-sug{font-size:10px;padding:5px 11px;background:var(--bg3);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.ai-box .ai-sug:hover{border-color:var(--gold);color:var(--gold);}
.ai-box .ai-submit{width:100%;padding:12px;background:var(--gold);color:#000;border:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;cursor:pointer;margin-top:4px;transition:background .2s;}
.ai-box .ai-submit:hover{background:var(--gold2);}
.ai-box .ai-submit:disabled{opacity:.5;cursor:not-allowed;}
.ai-results{margin-top:20px;border-top:1px solid var(--border);padding-top:20px;}
.ai-results h3{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;color:var(--gold);margin-bottom:12px;}
.ai-result-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);transition:background .15s;}
.ai-result-item:hover{background:var(--bg3);}
.ai-result-item img, .ai-result-ph{width:50px;height:72px;object-fit:cover;flex-shrink:0;background:var(--card);}
.ai-result-ph{display:flex;align-items:center;justify-content:center;font-size:20px;}
.ai-result-info{flex:1;}
.ai-result-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);}
.ai-result-reason{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;}

/* Actor search result grid */
.ai-actor-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.aig-card{width:104px;cursor:pointer;transition:transform .25s,border-color .25s;border:1px solid var(--border);background:var(--card);flex-shrink:0;}
.aig-card:hover{transform:translateY(-5px);border-color:var(--gold);}
.aig-card img{width:104px;height:138px;object-fit:cover;object-position:top center;display:block;transition:filter .25s;}
.aig-card:hover img{filter:brightness(1.06);}
.aig-ph-s{width:104px;height:138px;display:flex;align-items:center;justify-content:center;font-size:32px;background:var(--card2);}
.aig-name{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:1.5px;color:var(--text);padding:6px 6px 2px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aig-sub{font-size:9px;color:var(--dim);font-style:italic;padding:0 6px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
:root[data-theme="light"] .aig-card{box-shadow:0 2px 8px rgba(60,40,10,.06);border:1px solid rgba(226,217,196,.8);}
:root[data-theme="light"] .aig-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(168,124,31,.14),0 4px 8px rgba(60,40,10,.08);border-color:var(--gold2);}

.ai-loader{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:12px 0;}
.ai-spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--gold);border-radius:50%;animation:spin 0.9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.ai-tab-switch{display:flex;gap:2px;margin-bottom:18px;flex-wrap:wrap;}
.ai-tab-switch button{flex:1;min-width:0;padding:8px 4px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:9px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;}
.ai-tab-switch button.on{background:var(--gold);color:#000;border-color:var(--gold);}

/* ══ REVIEWS ══ */
.reviews-section{margin-top:36px;}
.review-form{background:var(--bg3);border:1px solid var(--border);padding:18px;margin-bottom:20px;}
.review-form textarea{width:100%;background:var(--card);border:1px solid var(--border);color:var(--text);padding:10px;font-size:13px;font-family:'Inter',sans-serif;min-height:70px;resize:vertical;outline:none;transition:border-color .2s;}
.review-form textarea:focus{border-color:var(--gold);}
.stars-input{display:flex;gap:3px;margin:10px 0;}
.stars-input button{background:none;border:none;color:var(--border2);font-size:22px;cursor:pointer;transition:color .2s;padding:0 2px;}
.stars-input button.on, .stars-input button:hover{color:var(--gold);}
.review-submit{padding:8px 20px;background:var(--gold);color:#000;border:none;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .2s;}
.review-submit:hover{background:var(--gold2);}
.review-item{padding:14px;background:var(--card);border:1px solid var(--border);border-left:2px solid var(--gold);margin-bottom:10px;}
.review-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.review-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#000;font-size:13px;font-weight:700;flex-shrink:0;}
.review-name{font-size:12px;color:var(--text);font-weight:600;}
.review-date{font-size:10px;color:var(--dim);}
.review-stars{color:var(--gold);font-size:12px;letter-spacing:1px;margin-left:auto;}
.review-text{font-size:12px;color:var(--muted);line-height:1.7;}
.review-empty{color:var(--dim);font-size:12px;font-style:italic;padding:16px 0;text-align:center;}

/* ══ BLOG ══ */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:24px;}
.blog-grid > *:first-child{grid-column:1/-1;}
.blog-card{background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden;}
.blog-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.18);}
.blog-cover{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.blog-grid > *:first-child .blog-cover{aspect-ratio:21/9;}
.blog-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 50%,transparent 100%);}
.blog-cover-label{position:absolute;bottom:12px;left:14px;z-index:2;font-size:8px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.85);background:var(--gold);padding:3px 10px;font-weight:700;}
.blog-info{padding:18px;}
.blog-cat{font-size:9px;letter-spacing:3px;color:var(--gold);margin-bottom:6px;text-transform:uppercase;font-weight:700;}
.blog-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:8px;line-height:1.2;}
.blog-grid > *:first-child .blog-title{font-size:28px;}
.blog-excerpt{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:10px;}
.blog-meta{font-size:10px;color:var(--dim);display:flex;gap:10px;flex-wrap:wrap;}

.blog-article{max-width:780px;margin:0 auto;padding:44px 36px;}
.blog-article h1{font-family:'Bebas Neue',sans-serif;font-size:42px;letter-spacing:3px;color:var(--text);margin-bottom:10px;line-height:1.1;}
.blog-article .blog-article-meta{font-size:11px;color:var(--muted);margin-bottom:20px;}
.blog-article img.cover{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:24px;}
.blog-article p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:14px;font-weight:300;}
.blog-article h2{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--text);letter-spacing:2px;margin:24px 0 10px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ═══ SHOP CARDS ═══ */
.shop-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:all .3s;}
.shop-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.25);}
.shop-img-wrap{width:100%;aspect-ratio:1;background:var(--bg3);overflow:hidden;position:relative;}
.shop-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.shop-card:hover .shop-img-wrap img{transform:scale(1.06);}
.shop-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;}
.shop-buy-btn, .shop-cart-btn{flex:1;padding:8px 10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:10px;letter-spacing:1px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;text-transform:uppercase;font-weight:600;}
.shop-buy-btn{background:var(--gold);color:#000;border-color:var(--gold);}
.shop-buy-btn:hover{background:var(--gold2);}
.shop-cart-btn:hover{border-color:var(--gold);color:var(--gold);}
.shop-cart-btn.in-cart{background:rgba(201,168,76,.15);border-color:var(--gold);color:var(--gold);}
/* Mobile/Desktop visibility helpers */
.mobile-only-nav{display:none;}

/* ══ HOME AI SECTION ══ */
.home-ai-section{padding:64px 24px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.home-ai-inner{max-width:680px;margin:0 auto;text-align:center;}
.home-ai-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.home-ai-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,58px);letter-spacing:4px;color:var(--text);margin-bottom:10px;line-height:1;}
.home-ai-sub{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:28px;}
.home-ai-form{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--border2);transition:border-color .2s;}
.home-ai-form:focus-within{border-color:var(--gold);}
.home-ai-input{flex:1;background:var(--bg3);border:none;color:var(--text);padding:14px 18px;font-size:14px;font-family:'Inter',sans-serif;outline:none;}
.home-ai-input::placeholder{color:var(--dim);}
.home-ai-btn{background:var(--gold);color:#000;border:none;padding:14px 24px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0;}
.home-ai-btn:hover{background:var(--gold2);}
.home-ai-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:16px;}
.home-ai-chip{background:none;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:6px 14px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;border-radius:20px;}
.home-ai-chip:hover{border-color:var(--gold);color:var(--gold);}
.home-mood-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:0;}
.home-mood-btn{background:none;border:1px solid var(--border);font-size:22px;width:46px;height:46px;cursor:pointer;border-radius:50%;transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center;}
.home-mood-btn:hover,.home-mood-btn.active{border-color:var(--gold);background:rgba(212,175,55,.12);transform:scale(1.1);}
.home-surprise-btn{background:var(--gold);color:#000;border:none;padding:11px 20px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;cursor:pointer;transition:all .2s;border-radius:2px;margin-left:4px;}
.home-surprise-btn:hover{background:var(--gold2);}
.home-surprise-btn:disabled{opacity:.6;cursor:not-allowed;}
.mark-watched-btn{opacity:.7;font-size:11px !important;}
.mark-watched-done{opacity:1 !important;color:var(--gold) !important;border-color:var(--gold) !important;}

/* ══ FILM CHAT ══ */
.film-chat-msgs{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;margin-bottom:12px;padding-right:4px;}
.fcm{padding:10px 14px;font-size:13px;line-height:1.6;max-width:85%;border-radius:2px;}
.fcm-user{background:var(--gold);color:#000;align-self:flex-end;font-weight:500;}
.fcm-ai{background:var(--bg3);border:1px solid var(--border);color:var(--text);align-self:flex-start;}
.film-chat-form{display:flex;gap:0;border:1px solid var(--border2);transition:border-color .2s;margin-bottom:10px;}
.film-chat-form:focus-within{border-color:var(--gold);}
.film-chat-inp{flex:1;background:var(--bg3);border:none;color:var(--text);padding:11px 14px;font-size:13px;font-family:'Inter',sans-serif;outline:none;}
.film-chat-inp::placeholder{color:var(--dim);}
.film-chat-btn{background:var(--gold);color:#000;border:none;padding:11px 18px;font-size:16px;cursor:pointer;transition:background .2s;flex-shrink:0;}
.film-chat-btn:hover{background:var(--gold2);}
.film-chat-chips{display:flex;gap:6px;flex-wrap:wrap;}
.film-chat-chip{background:none;border:1px solid var(--border);color:var(--muted);font-size:10px;padding:5px 12px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;letter-spacing:.5px;}
.film-chat-chip:hover{border-color:var(--gold);color:var(--gold);}
.fc-dots{display:inline-flex;gap:4px;align-items:center;}
.fc-dots span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:fc-pulse 1.2s ease-in-out infinite;}
.fc-dots span:nth-child(2){animation-delay:.2s;}
.fc-dots span:nth-child(3){animation-delay:.4s;}
@keyframes fc-pulse{0%,80%,100%{opacity:.2;transform:scale(.8);}40%{opacity:1;transform:scale(1);}}

/* ══ COLLECTIONS ══ */
.coll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.coll-card{padding:28px 24px;border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;display:flex;flex-direction:column;gap:8px;min-height:150px;}
.coll-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.06) 0%,transparent 60%);opacity:0;transition:opacity .25s;}
.coll-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.coll-card:hover::before{opacity:1;}
.coll-card-icon{font-size:36px;line-height:1;margin-bottom:4px;}
.coll-card-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);line-height:1.1;}
.coll-card-desc{font-size:11px;color:var(--muted);line-height:1.6;flex:1;}
.coll-card-arrow{font-size:18px;color:var(--gold);margin-top:8px;transition:transform .2s;}
.coll-card:hover .coll-card-arrow{transform:translateX(4px);}

/* Photo search fallback */
.photo-fallback-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;}
.photo-fallback-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px;background:var(--bg3);border-left:3px solid var(--gold);}
.photo-fallback-icon{font-size:24px;flex-shrink:0;}
.photo-fallback-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--text);margin-bottom:4px;}
.photo-fallback-sub{font-size:11px;color:var(--muted);line-height:1.5;}
.photo-fb-actor{cursor:pointer;border:1px solid var(--border);background:var(--card);transition:border-color .2s;overflow:hidden;}
.photo-fb-actor:hover{border-color:var(--gold);}

/* ══ QUOTE SEARCH RESULT ══ */
.quote-loading{text-align:center;padding:32px 0;color:var(--muted);font-size:13px;}
.quote-loading-icon{font-size:32px;margin-bottom:10px;}
.quote-error{padding:14px;background:var(--bg3);border-left:3px solid var(--border2);font-size:13px;color:var(--muted);}
.quote-badge{font-size:10px;color:var(--gold);letter-spacing:2px;margin-bottom:16px;text-transform:uppercase;}
.quote-main-card{display:flex;gap:14px;padding:16px;background:var(--bg3);border:1px solid var(--border2);cursor:pointer;transition:border-color .2s;margin-bottom:16px;}
.quote-main-card:hover{border-color:var(--gold);}
.quote-poster{flex-shrink:0;width:72px;}
.quote-poster img{width:72px;height:106px;object-fit:cover;display:block;}
.quote-poster-ph{width:72px;height:106px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:26px;}
.quote-info{flex:1;min-width:0;}
.quote-conf{font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-weight:600;}
.quote-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:4px;line-height:1.1;}
.quote-tv-badge{font-size:8px;letter-spacing:2px;color:var(--muted);vertical-align:middle;margin-left:4px;}
.quote-meta{font-size:11px;color:var(--muted);margin-bottom:8px;}
.quote-character{font-size:11px;color:var(--text);margin-bottom:6px;}
.quote-scene{font-size:11px;color:var(--muted);line-height:1.65;font-style:italic;margin-bottom:8px;}
.quote-open-hint{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-top:auto;}
.quote-also{margin-top:0;}
.quote-also-label{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.quote-alt-card{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;margin-bottom:6px;transition:border-color .2s;}
.quote-alt-card:hover{border-color:var(--border2);}
.quote-alt-img{width:36px;height:52px;object-fit:cover;flex-shrink:0;}
.quote-alt-ph{width:36px;height:52px;background:var(--card);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;}
.quote-alt-info{min-width:0;}
.quote-alt-conf{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:3px;font-weight:600;}
.quote-alt-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);margin-bottom:2px;}
.quote-alt-meta{font-size:10px;color:var(--muted);}

/* Shop hero */
.shop-hero{background:linear-gradient(135deg,#060606 0%,#100c00 45%,#060606 100%);padding:56px 40px;position:relative;overflow:hidden;margin-bottom:8px;}
.shop-hero::after{content:'STORE';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:min(22vw,210px);color:rgba(201,168,76,.04);pointer-events:none;line-height:1;letter-spacing:4px;white-space:nowrap;}
.shop-hero-sub{font-size:9px;letter-spacing:4px;color:var(--gold);margin-bottom:12px;text-transform:uppercase;}
.shop-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,62px);letter-spacing:4px;color:#fff;line-height:1.05;margin-bottom:12px;}
.shop-hero-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.75;max-width:340px;margin-bottom:24px;}
.shop-hero-cta{background:var(--gold);color:#000;border:none;padding:11px 28px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:3px;cursor:pointer;transition:background .2s;}
.shop-hero-cta:hover{background:var(--gold2);}
/* Badges */
.shop-badge{position:absolute;top:10px;left:10px;z-index:3;font-size:8px;letter-spacing:2px;font-weight:700;padding:4px 9px;font-family:'Inter',sans-serif;text-transform:uppercase;}
.shop-badge-hit{background:var(--gold);color:#000;}
.shop-badge-new{background:#fff;color:#000;}
.shop-badge-sale{background:#c44;color:#fff;}
.shop-badge-lim{background:#0d0d0d;color:var(--gold);border:1px solid var(--gold);}
/* Stars & sale */
.shop-stars{font-size:10px;color:var(--gold);margin:4px 0 2px;display:flex;align-items:center;gap:5px;}
.shop-stars span{color:var(--dim);font-size:9px;}
.shop-old-price{text-decoration:line-through;color:var(--dim);font-size:11px;margin-right:5px;}
/* Quick view */
.shop-qview{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;z-index:2;font-size:11px;letter-spacing:3px;color:#fff;font-family:'Bebas Neue',sans-serif;cursor:pointer;}
.shop-card:hover .shop-qview{opacity:1;}

/* Кнопка корзины в шапке */
.cart-header-btn{position:relative;background:transparent;border:1px solid var(--border2);color:var(--muted);padding:6px 12px;cursor:pointer;font-size:15px;transition:all .2s;border-radius:2px;flex-shrink:0;}
.cart-header-btn:hover{border-color:var(--gold);color:var(--gold);}
#cart-badge{position:absolute;top:-6px;right:-6px;background:var(--gold);color:#000;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;}

/* Панель корзины справа */
#cart-panel{position:fixed;top:0;right:-420px;width:420px;max-width:92vw;height:100vh;background:var(--card2);border-left:1px solid var(--border2);z-index:2500;transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.3);}
#cart-panel.open{right:0;}
.cart-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cart-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);}
.cart-close{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;}
.cart-close:hover{color:var(--gold);}
#cart-items{flex:1;overflow-y:auto;padding:16px;}
.cart-item{display:flex;gap:12px;padding:14px;background:var(--bg3);border:1px solid var(--border);margin-bottom:10px;align-items:center;}
.cart-item img{width:64px;height:64px;object-fit:cover;background:var(--card);flex-shrink:0;border-radius:3px;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-size:13px;color:var(--text);font-weight:600;margin-bottom:3px;line-height:1.3;}
.cart-item-film{font-size:10px;color:var(--muted);margin-bottom:4px;}
.cart-item-price{font-size:14px;color:var(--gold);font-weight:700;}
.cart-item-actions{display:flex;flex-direction:column;gap:4px;}
.cart-buy-small{padding:6px 10px;background:var(--gold);color:#000;border:none;font-size:9px;font-weight:700;cursor:pointer;letter-spacing:1px;}
.cart-buy-small:hover{background:var(--gold2);}
.cart-remove{background:none;border:none;color:var(--dim);cursor:pointer;font-size:14px;padding:4px;}
.cart-remove:hover{color:#c44;}
#cart-empty{text-align:center;padding:60px 20px;color:var(--dim);}
#cart-empty .cart-empty-icon{font-size:48px;margin-bottom:12px;}
.cart-foot{padding:18px 20px;border-top:1px solid var(--border);background:var(--bg3);display:none;}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.cart-total-lbl{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
#cart-total{font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--gold);letter-spacing:1px;}
.cart-clear-btn{width:100%;padding:10px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.cart-clear-btn:hover{border-color:#c44;color:#c44;}
#cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:2400;display:none;opacity:0;transition:opacity .3s;}
#cart-overlay.open{display:block;opacity:1;}
/* Cart qty controls */
.cart-item-qty{display:flex;align-items:center;gap:4px;margin-top:5px;}
.qty-btn{width:22px;height:22px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;padding:0;transition:all .15s;flex-shrink:0;}
.qty-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--card);}
.qty-val{min-width:22px;text-align:center;font-size:13px;font-weight:600;color:var(--text);}
/* Checkout CTA button */
.cart-checkout-btn{width:100%;padding:13px;background:var(--gold);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:4px;cursor:pointer;transition:all .2s;margin-bottom:10px;}
.cart-checkout-btn:hover{background:var(--gold2);transform:translateY(-1px);box-shadow:0 4px 14px rgba(168,124,31,0.35);}
/* Checkout modal */
#checkout-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:3500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
#checkout-overlay.open{display:flex;}
.checkout-box{background:var(--card);border:1px solid var(--border2);max-width:520px;width:92vw;max-height:90vh;overflow-y:auto;padding:0;box-shadow:0 32px 80px rgba(0,0,0,.4);}
.checkout-head{padding:24px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.checkout-head-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px;color:var(--text);}
.checkout-close{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px;}
.checkout-close:hover{color:var(--gold);}
.checkout-summary{padding:20px 28px;border-bottom:1px solid var(--border);background:var(--bg2);}
.checkout-summary-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.checkout-item-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(120,100,70,.1);font-size:13px;color:var(--text);gap:8px;}
.checkout-item-row:last-child{border-bottom:none;}
.checkout-item-row span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.checkout-item-row .ci-qty{color:var(--muted);font-size:11px;flex-shrink:0;}
.checkout-item-row .ci-price{color:var(--gold);font-weight:700;flex-shrink:0;}
.checkout-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:2px solid var(--border2);}
.checkout-total-lbl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.checkout-total-val{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold);letter-spacing:1px;}
.checkout-form{padding:24px 28px;}
.checkout-form-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.checkout-field{margin-bottom:14px;}
.checkout-field label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.checkout-field input,.checkout-field textarea,.checkout-field select{width:100%;padding:10px 12px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:'Inter',sans-serif;transition:border .2s;box-sizing:border-box;outline:none;}
.checkout-field input:focus,.checkout-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(168,124,31,.12);}
.checkout-field textarea{resize:vertical;min-height:72px;}
.checkout-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.checkout-submit-btn{width:100%;padding:14px;background:var(--gold);color:#fff;border:none;font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:4px;cursor:pointer;transition:all .2s;margin-top:8px;}
.checkout-submit-btn:hover{background:var(--gold2);box-shadow:0 4px 16px rgba(168,124,31,.35);}
/* Checkout success screen */
.checkout-success{padding:48px 28px;text-align:center;}
.checkout-success-icon{font-size:56px;margin-bottom:16px;}
.checkout-success-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;color:var(--text);margin-bottom:10px;}
.checkout-success-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:24px;}
.checkout-success-links{margin-bottom:28px;}
.checkout-success-links a{display:inline-block;padding:6px 14px;background:var(--bg2);border:1px solid var(--border);color:var(--gold);font-size:11px;font-weight:600;text-decoration:none;margin:3px;letter-spacing:1px;}
.checkout-success-links a:hover{background:var(--card2);border-color:var(--gold);}
.checkout-done-btn{padding:12px 32px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.checkout-done-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── Эра-чипы и метка ──────────────────────────────────────── */
.ai-era-label{font-size:9px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;align-self:center;white-space:nowrap;}
.ai-sug-sm{font-size:10px;padding:4px 9px;}

/* ── Кнопка квиза ──────────────────────────────────────────── */
.ai-quiz-toggle{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:10px 14px;cursor:pointer;letter-spacing:1px;white-space:nowrap;transition:all .2s;flex-shrink:0;}
.ai-quiz-toggle:hover{border-color:var(--gold);color:var(--gold);}

/* ── Квиз-панель ───────────────────────────────────────────── */
.quiz-wrap{background:var(--bg3);border:1px solid var(--border);padding:18px;}
.quiz-step-info{font-size:9px;letter-spacing:3px;color:var(--muted);margin-bottom:14px;text-transform:uppercase;}
.quiz-opts{display:flex;flex-direction:column;gap:7px;}
.quiz-opt{background:transparent;border:1px solid var(--border);color:var(--text);font-size:13px;padding:11px 16px;cursor:pointer;text-align:left;transition:all .2s;border-radius:0;}
.quiz-opt:hover{border-color:var(--gold);color:var(--gold);background:rgba(168,124,31,.06);}

/* ── Уточняющие чипы после результатов ────────────────────── */
.ai-refine-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);}
.ai-refine-label{font-size:9px;letter-spacing:2px;color:var(--muted);white-space:nowrap;}
.ai-refine-chip{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;padding:5px 12px;cursor:pointer;transition:all .2s;border-radius:0;}
.ai-refine-chip:hover{border-color:var(--gold);color:var(--gold);}

/* ── Кнопка «Поделиться подборкой» ────────────────────────── */
.ai-share-btn{display:block;width:100%;margin-top:10px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;padding:9px;cursor:pointer;transition:all .2s;text-align:center;}
.ai-share-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── Скелетон-экраны (shimmer) ─────────────────────────── */
.sk{display:inline-block;background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite;border-radius:2px;}
@keyframes sk-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sk-row{display:flex;gap:12px;flex-wrap:wrap;}
.sk-cast{display:flex;gap:12px;overflow-x:hidden;padding:4px 0;}
.sk-cast .sk{flex-shrink:0;}
.sk-pill{display:inline-block;height:22px;width:84px;margin-right:6px;border-radius:2px;}

/* ── Шоп: countdown под бэйджем ЛИМИТ ──────────────────── */
.shop-countdown{position:absolute;top:36px;left:8px;background:rgba(0,0,0,.78);color:var(--gold);padding:3px 8px;font-size:10px;letter-spacing:1.5px;font-family:'Bebas Neue',sans-serif;border-radius:2px;font-variant-numeric:tabular-nums;backdrop-filter:blur(2px);pointer-events:none;}
.shop-countdown::before{content:'⏱ ';opacity:.75;}

/* ── Фильтр магазина по фильму ─────────────────────────── */
.shop-film-filter-wrap{display:flex;align-items:center;gap:10px;margin:14px 0 18px;padding:10px 12px;background:var(--bg3);border-left:2px solid var(--gold);flex-wrap:wrap;}
.shop-film-filter-lbl{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;white-space:nowrap;}
.shop-film-filter{background:var(--bg2);border:1px solid var(--border2);color:var(--text);font-size:12px;padding:6px 28px 6px 12px;cursor:pointer;font-family:'Inter',sans-serif;min-width:220px;outline:none;transition:border-color .2s;border-radius:0;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23a87c1f' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 10px center;}
.shop-film-filter:focus{border-color:var(--gold);}

/* Кликабельное название фильма в карточке */
.si-film{cursor:pointer;transition:color .2s;}
.si-film:hover{color:var(--gold);text-decoration:underline;}

/* ── Countdown на товарах ЛИМИТ ────────────────────────── */
.shop-countdown{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.78);color:var(--gold);font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:2px;padding:4px 9px;border-left:2px solid var(--gold);backdrop-filter:blur(4px);z-index:2;font-variant-numeric:tabular-nums;}
:root[data-theme="light"] .shop-countdown{background:rgba(255,255,255,.92);color:#8a6418;border-left-color:#a87c1f;}

/* ── Баннер «Мерч по этому фильму» на странице фильма ─── */
.film-shop-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.film-shop-card{flex:1 1 calc(25% - 9px);min-width:140px;max-width:200px;display:flex;flex-direction:column;background:var(--bg3);border:1px solid var(--border);cursor:pointer;transition:all .2s;overflow:hidden;}
.film-shop-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.18);}
.film-shop-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.film-shop-info{padding:10px 12px 12px;}
.film-shop-cat{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:4px;}
.film-shop-name{font-size:12px;color:var(--text);line-height:1.4;margin-bottom:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.film-shop-price{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;color:var(--gold);}
.film-shop-all{width:100%;padding:11px;background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .2s;}
.film-shop-all:hover{border-color:var(--gold);color:var(--gold);}

/* ── Секция «По вашей истории» в магазине ─────────────── */
.shop-history-blocks{display:flex;flex-direction:column;gap:24px;margin-top:20px;}
.shop-history-block{background:var(--bg3);border-left:2px solid var(--gold);padding:16px 18px;}
.shop-history-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.shop-history-label{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;}
.shop-history-film{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--text);}
.shop-history-items{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;}
.shop-history-card{flex:0 0 156px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:all .2s;}
.shop-history-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.shop-history-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.shop-history-name{font-size:11px;color:var(--text);padding:8px 10px 4px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.shop-history-price{font-family:'Bebas Neue',sans-serif;font-size:14px;color:var(--gold);padding:0 10px 10px;letter-spacing:1px;}

@media (max-width: 640px) {
  .film-shop-card{flex:1 1 calc(50% - 6px);max-width:none;}
}

/* ── Модал «Сравнить» ───────────────────────────────────── */
#compare-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:3000;display:none;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;}
#compare-modal.open{display:flex;}
.compare-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:100%;max-width:820px;padding:30px 26px;position:relative;}
.compare-box h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--text);margin-bottom:4px;}
.compare-box .sub{font-size:12px;color:var(--muted);margin-bottom:20px;}

.compare-search-wrap{position:relative;margin-bottom:20px;}
#compare-search-input{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);padding:12px 14px;font-size:14px;outline:none;transition:border-color .2s;font-family:'Inter',sans-serif;}
#compare-search-input:focus{border-color:var(--gold);}
.compare-search-results{display:flex;flex-direction:column;}
.compare-sr-item{display:flex;align-items:center;gap:12px;padding:9px 10px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;transition:background .15s;}
.compare-sr-item:hover{background:var(--bg3);}
.compare-sr-item img{width:42px;height:62px;object-fit:cover;flex-shrink:0;background:var(--card);}
.compare-sr-title{font-size:13px;color:var(--text);}
.compare-sr-meta{font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:2px;}

.compare-quick-lbl{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
#compare-quick-items{display:flex;gap:8px;flex-wrap:wrap;}
.compare-quick{flex:0 0 calc(50% - 4px);display:flex;align-items:center;gap:10px;padding:8px;background:var(--bg3);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;transition:all .2s;}
.compare-quick:hover{border-color:var(--gold);}
.compare-quick img,.compare-quick-ph{width:38px;height:56px;flex-shrink:0;object-fit:cover;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:18px;}
.compare-quick-info{min-width:0;flex:1;}
.compare-quick-title{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.compare-quick-meta{font-size:9px;color:var(--muted);letter-spacing:1px;margin-top:2px;}

.compare-back{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:11px;letter-spacing:2px;padding:6px 12px;cursor:pointer;margin-bottom:20px;transition:all .2s;}
.compare-back:hover{border-color:var(--gold);color:var(--gold);}

.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start;margin-bottom:24px;}
.compare-col{text-align:center;}
.compare-poster,.compare-poster-ph{width:100%;max-width:200px;aspect-ratio:2/3;object-fit:cover;display:block;margin:0 auto 10px;background:var(--card);}
.compare-poster-ph{display:flex;align-items:center;justify-content:center;font-size:36px;}
.compare-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);margin-bottom:4px;line-height:1.2;}
.compare-sub{font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:10px;}
.compare-open{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;letter-spacing:2px;padding:6px 12px;cursor:pointer;transition:all .2s;}
.compare-open:hover{border-color:var(--gold);color:var(--gold);}
.compare-vs{font-family:'Bebas Neue',sans-serif;font-size:38px;color:var(--gold);align-self:center;padding-top:80px;letter-spacing:3px;}

.compare-rows{display:flex;flex-direction:column;gap:0;}
.compare-row{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--border);padding:10px 0;}
.compare-row-label{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;padding-top:3px;}
.compare-row-vals{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.compare-row-val{font-size:13px;color:var(--text);line-height:1.5;}
.compare-row-wide .compare-row-val{font-size:12px;color:var(--muted);}
.compare-win{color:var(--gold);font-weight:700;}
.compare-lose{color:var(--dim);}

@media (max-width: 640px) {
  .compare-grid{grid-template-columns:1fr;}
  .compare-vs{padding-top:0;font-size:24px;}
  .compare-row{grid-template-columns:1fr;}
  .compare-quick{flex-basis:100%;}
}

/* ── Кликабельная строка «Режиссёр» в блоке ДЕТАЛИ ────── */
.det-clickable{cursor:pointer;transition:background .2s;}
.det-clickable:hover{background:var(--bg3);}
.det-clickable:hover .det-v{color:var(--gold2)!important;}

/* ── Лидерборд ────────────────────────────────────────── */
.lb-list{display:flex;flex-direction:column;gap:8px;}
.lb-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--card);border:1px solid var(--border);transition:all .2s;}
.lb-row:hover{border-color:var(--gold);}
.lb-row.lb-me{border-color:var(--gold);background:var(--bg3);box-shadow:0 0 0 1px var(--gold) inset;}
.lb-rank{width:32px;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--gold);text-align:center;flex-shrink:0;}
.lb-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--card2);flex-shrink:0;}
.lb-avatar-ph{display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;border:1px solid var(--border2);}
.lb-info{flex:1;min-width:0;}
.lb-name{font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-lvl{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:2px;}
.lb-watched{text-align:right;flex-shrink:0;}
.lb-watched b{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;color:var(--gold);display:block;line-height:1;}
.lb-watched span{font-size:9px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;}
.lb-not-in{margin-top:14px;padding:12px;text-align:center;font-size:11px;color:var(--muted);background:var(--bg3);border-left:2px solid var(--gold);}

/* ── Friend avatar (real Supabase) ─────────────────────── */
.friend-avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid transparent;flex-shrink:0;}
.friend-avatar-img.online{border-color:var(--gold);}

/* ── Уведомления (колокольчик в шапке) ─────────────────── */
.notif-wrap{display:flex;align-items:center;}
.notif-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:6px 10px;cursor:pointer;font-size:14px;transition:all .2s;flex-shrink:0;border-radius:2px;position:relative;}
.notif-btn:hover{border-color:var(--gold);color:var(--gold);}
.notif-badge{position:absolute;top:-5px;right:-5px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.2;}
.notif-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 32px);max-height:480px;overflow-y:auto;background:var(--card2);border:1px solid var(--border2);box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:9000;}
.notif-dropdown.open{display:block;}
.notif-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}
.notif-mark-all{background:none;border:none;color:var(--gold);font-size:10px;letter-spacing:1px;cursor:pointer;text-transform:uppercase;}
.notif-mark-all:hover{text-decoration:underline;}
.notif-list{display:flex;flex-direction:column;}
.notif-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;align-items:flex-start;}
.notif-item:hover{background:var(--bg3);}
.notif-item:last-child{border-bottom:none;}
.notif-item.unread{background:rgba(168,124,31,.06);border-left:2px solid var(--gold);padding-left:12px;}
.notif-ava{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--card);}
.notif-ava-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-size:14px;font-weight:700;}
.notif-body{flex:1;min-width:0;}
.notif-text{font-size:12px;color:var(--text);line-height:1.5;}
.notif-text b{font-weight:600;color:var(--text);}
.notif-time{font-size:10px;color:var(--dim);margin-top:3px;letter-spacing:.5px;}
.notif-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;opacity:0;transition:opacity .2s,color .2s;}
.notif-item:hover .notif-del{opacity:1;}
.notif-del:hover{color:#e74c3c;}
.notif-empty{padding:32px 18px;text-align:center;color:var(--muted);}
.notif-empty-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:2px;color:var(--text);margin-bottom:4px;}
.notif-empty-sub{font-size:11px;color:var(--dim);}

/* ── Shared collections (вкладка профиля) ────────────────── */
.scoll-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.scoll-head-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--text);}
.scoll-new-btn{background:var(--gold);color:#000;border:none;padding:8px 14px;font-size:11px;letter-spacing:2px;cursor:pointer;font-weight:700;transition:background .2s;}
.scoll-new-btn:hover{background:var(--gold2);}
.scoll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.scoll-card{background:var(--card);border:1px solid var(--border);padding:18px;cursor:pointer;transition:border-color .2s,transform .2s;text-align:center;}
.scoll-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.scoll-card-icon{font-size:36px;margin-bottom:10px;}
.scoll-card-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1.5px;color:var(--text);margin-bottom:6px;}
.scoll-card-meta{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}

/* ── Модал коллекции ─────────────────────────────────────── */
.scoll-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:6000;display:flex;align-items:center;justify-content:center;padding:18px;}
.scoll-modal-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:min(720px,96vw);max-height:88vh;overflow-y:auto;padding:30px 26px;position:relative;}
.scoll-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;}
.scoll-close:hover{color:var(--gold);}
.scoll-title{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:2px;color:var(--text);margin-bottom:18px;}
.scoll-section-title{font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.scoll-members{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.scoll-members-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;}
.scoll-member{text-align:center;}
.scoll-member img,.scoll-member-ph{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#000;font-size:14px;font-weight:700;}
.scoll-member-name{font-size:10px;color:var(--muted);margin-top:4px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.scoll-invite-btn{background:transparent;border:1px dashed var(--gold);color:var(--gold);padding:6px 12px;font-size:11px;cursor:pointer;letter-spacing:1px;align-self:center;}
.scoll-invite-btn:hover{background:rgba(168,124,31,.1);}
.scoll-films{display:flex;flex-direction:column;gap:6px;}
.scoll-film{display:flex;gap:12px;padding:8px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:border-color .2s;align-items:center;}
.scoll-film:hover{border-color:var(--gold);}
.scoll-film img,.scoll-film-ph{width:46px;height:69px;object-fit:cover;flex-shrink:0;background:var(--card2);}
.scoll-film-ph{display:flex;align-items:center;justify-content:center;font-size:22px;}
.scoll-film-info{flex:1;min-width:0;}
.scoll-film-title{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;color:var(--text);}
.scoll-film-added{font-size:10px;color:var(--dim);margin-top:3px;}
.scoll-film-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:4px 8px;}
.scoll-film-del:hover{color:#e74c3c;}
.scoll-empty{padding:24px;text-align:center;color:var(--muted);font-size:12px;background:var(--bg3);border-left:2px solid var(--gold);}
.scoll-delete-btn{margin-top:20px;background:transparent;border:1px solid #c44;color:#c44;padding:8px 14px;font-size:11px;letter-spacing:2px;cursor:pointer;width:100%;}
.scoll-delete-btn:hover{background:rgba(196,68,68,.1);}

/* ── Публичный профиль /user/{username} ────────────────── */
.pub-profile-hero{display:flex;gap:24px;align-items:center;margin-bottom:36px;flex-wrap:wrap;}
.pub-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);flex-shrink:0;}
.pub-avatar-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-family:'Bebas Neue',sans-serif;font-size:46px;}
.pub-info{flex:1;min-width:200px;}
.pub-name{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:2px;color:var(--text);line-height:1;margin-bottom:6px;}
.pub-level{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.pub-stats{display:flex;gap:28px;margin-bottom:18px;}
.pub-stat-val{font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--text);line-height:1;}
.pub-stat-lbl{font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-top:4px;}
.pub-action-btn{background:var(--gold);color:#000;border:none;padding:10px 20px;font-size:11px;letter-spacing:2px;font-weight:700;cursor:pointer;transition:background .2s;}
.pub-action-btn:hover{background:var(--gold2);}
.pub-friend-badge{display:inline-block;font-size:11px;letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);padding:8px 16px;}
.pub-section-title{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;}
.pub-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;}
.pub-recent-card{cursor:pointer;transition:transform .2s;}
.pub-recent-card:hover{transform:translateY(-4px);}
.pub-recent-card img,.pub-recent-ph{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:32px;border:1px solid var(--border);}
.pub-recent-title{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.pub-empty-recent{padding:24px;text-align:center;color:var(--muted);font-size:12px;background:var(--bg3);border-left:2px solid var(--gold);}

/* ── Публичный профиль: доп-блоки ──────────────────────── */
.pub-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pub-share-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:10px 16px;font-size:11px;letter-spacing:1.5px;cursor:pointer;transition:all .2s;}
.pub-share-btn:hover{border-color:var(--gold);color:var(--gold);}
.pub-recent-rating{color:var(--gold);font-size:10px;}

/* Совместимость вкусов */
.pub-compat-box{display:flex;align-items:center;gap:18px;background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--gold);padding:16px 20px;margin-bottom:28px;}
.pub-compat-ring{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--gold) calc(var(--pct)*1%), var(--card) 0);}
.pub-compat-pct{width:56px;height:56px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--gold);}
.pub-compat-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--text);}
.pub-compat-sub{font-size:12px;color:var(--muted);margin-top:3px;}

/* Бейджи */
.pub-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.pub-badge{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--gold);padding:7px 13px;font-size:11px;color:var(--gold);letter-spacing:1px;}
.pub-badge span{font-size:15px;}

/* График жанров */
.pub-genres{display:flex;flex-direction:column;gap:9px;margin-bottom:28px;}
.pub-genre-row{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:10px;}
.pub-genre-name{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pub-genre-bar{height:8px;background:var(--card);border:1px solid var(--border);overflow:hidden;}
.pub-genre-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));}
.pub-genre-cnt{font-size:11px;color:var(--muted);text-align:right;}

/* Стена */
.pub-wall-add{background:var(--gold);color:#000;border:none;padding:5px 12px;font-size:10px;letter-spacing:1px;font-weight:700;cursor:pointer;margin-left:12px;vertical-align:middle;}
.pub-wall-add:hover{background:var(--gold2);}
.pub-wall{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.pub-wall-post{display:flex;gap:12px;background:var(--card);border:1px solid var(--border);padding:12px;}
.pub-wall-poster{width:46px;height:69px;object-fit:cover;flex-shrink:0;cursor:pointer;background:var(--card2);}
.pub-wall-body{flex:1;min-width:0;}
.pub-wall-film{font-size:11px;color:var(--gold);letter-spacing:.5px;margin-bottom:6px;cursor:pointer;}
.pub-wall-film:hover{text-decoration:underline;}
.pub-wall-text{font-size:13px;color:var(--text);line-height:1.6;word-break:break-word;}
.pub-wall-time{font-size:10px;color:var(--dim);margin-top:6px;letter-spacing:.5px;}
.pub-wall-del{color:#c44;cursor:pointer;}
.pub-wall-del:hover{text-decoration:underline;}

/* ── Скелетоны карточек каталога ───────────────────────── */
.mc-skeleton{background:transparent;border:none;cursor:default;display:flex;flex-direction:column;}
.mc-skeleton .sk{display:block;}

/* ── Share-меню (Telegram / VK / WhatsApp / Copy) ──────── */
.share-menu{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:6000;display:flex;align-items:center;justify-content:center;padding:20px;}
.share-menu-box{background:var(--card2);border:1px solid var(--border2);border-top:3px solid var(--gold);width:min(360px,94vw);padding:24px 22px;}
.share-menu-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--text);text-align:center;margin-bottom:16px;}
.share-opt{display:flex;align-items:center;gap:12px;width:100%;background:var(--card);border:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px;cursor:pointer;text-decoration:none;margin-bottom:6px;transition:border-color .15s;font-family:'Inter',sans-serif;}
.share-opt:hover{border-color:var(--gold);}
.share-ico{font-size:18px;width:24px;text-align:center;}
.share-close{background:transparent;color:var(--muted);justify-content:center;margin-top:8px;font-size:11px;letter-spacing:2px;text-transform:uppercase;}

/* ── Лайки/комменты на постах стены ────────────────────── */
.pub-wall-actions{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:11px;flex-wrap:wrap;}
.pub-wall-like,.pub-wall-comment-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:'Inter',sans-serif;transition:all .15s;border-radius:2px;}
.pub-wall-like:hover,.pub-wall-comment-btn:hover{border-color:var(--gold);}
.pub-wall-like.on{border-color:#e74c3c;color:#e74c3c;}
.pwl-ico{font-size:13px;}

/* Комментарии */
.pub-wall-comments{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.wc-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.wc-item:last-of-type{border-bottom:none;}
.wc-ava{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--card2);flex-shrink:0;}
.wc-ava-ph{display:flex;align-items:center;justify-content:center;background:var(--gold);color:#000;font-size:12px;font-weight:700;}
.wc-body{flex:1;min-width:0;}
.wc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;}
.wc-name{font-size:12px;color:var(--text);font-weight:600;}
.wc-time{font-size:10px;color:var(--dim);}
.wc-text{font-size:12px;color:var(--muted);line-height:1.5;word-break:break-word;}
.wc-del{background:none;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:0 4px;align-self:flex-start;}
.wc-del:hover{color:#e74c3c;}
.wc-form{display:flex;gap:0;border:1px solid var(--border2);margin-top:10px;}
.wc-inp{flex:1;background:var(--bg3);border:none;color:var(--text);padding:9px 12px;font-size:12px;outline:none;font-family:'Inter',sans-serif;}
.wc-send{background:var(--gold);color:#000;border:none;padding:9px 14px;cursor:pointer;font-weight:700;}
.wc-locked{margin-top:10px;padding:10px;text-align:center;font-size:11px;color:var(--muted);background:var(--bg3);}
