*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{min-width:320px;scrollbar-width:thin;scrollbar-color:#333 #111}
    body{font-family:'K2D',sans-serif;font-size:16px;line-height:1.5;color:#ddd;background:#0d0d0d;min-height:100vh;overflow-x:hidden}
    a{text-decoration:none;color:inherit}
    ul{list-style:none}
    img{display:block;max-width:100%}
    button{cursor:pointer;font-family:inherit;border:none;background:none}
    :root{
      --red:#F22E4B;--red-d:#c41f3a;
      --header-h:58px;--sb-w:220px;
      --bg:#0d0d0d;--bg2:#141414;--bg3:#1c1c1c;
      --border:#252525;--text:#ccc;--text-dim:#666;
    }

    /* ── HEADER ── */
    .site-header{position:sticky;top:0;z-index:300;height:var(--header-h);background:#111;border-bottom:1px solid #222;display:flex;align-items:center;overflow:visible}
    .header-inner{width:100%;padding:0 16px;display:flex;align-items:center;gap:6px}
    .sb-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#aaa;transition:background .15s,color .15s;flex-shrink:0}
    .sb-toggle:hover{background:#1e1e1e;color:#fff}
    .sb-toggle.active{color:var(--red)}
    .logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin:0 20px 0 8px}
    .logo-mark{width:34px;height:34px;background:var(--red);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .logo-mark svg{display:block}
    .logo-text{display:flex;flex-direction:column;line-height:1}
    .logo-text-top{font-size:18px;font-weight:700;color:#fff;letter-spacing:-0.02em}
    .logo-text-top span{color:var(--red)}
    .logo-text-bot{font-size:8px;font-weight:400;letter-spacing:0.25em;color:#777;margin-top:2px}
    .main-nav{display:flex;align-items:center;gap:1px;flex:1}
    .main-nav a{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;color:#b0b0b0;padding:5px 8px;border-radius:6px;white-space:nowrap;position:relative;transition:background .15s,color .15s}
    .main-nav a svg{flex-shrink:0;opacity:.7}
    .main-nav a:hover{background:#1e1e1e;color:#fff}
    .main-nav a:hover svg{opacity:1}
    .nav-red{color:var(--red)!important}
    .nav-red:hover{background:#1a0008!important}
    .nav-discount{border:1px solid rgba(180,0,30,.4);animation:pulse-border 2s ease-in-out infinite}
    @keyframes pulse-border{0%,100%{border-color:rgba(180,0,30,.3)}50%{border-color:rgba(180,0,30,.85)}}
    .header-icons{display:flex;align-items:center;gap:2px;margin-left:4px;flex-shrink:0}
    .hicon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#999;transition:background .15s,color .15s;position:relative}
    .hicon:hover{background:#1e1e1e;color:#fff}
    .hicon.active{color:var(--red)}
    .history-dot{display:none;position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid var(--bg);box-shadow:0 0 6px rgba(180,0,30,.7)}
    #history-btn{position:relative}
    #history-btn.has-history .history-dot{display:block}
    #history-btn.has-history{color:#ddd}
    .mobile-history-btn.has-history .history-dot{display:block}
    .mobile-history-btn.has-history{color:#ddd}
    .header-search{flex:1;max-width:300px;position:relative;display:flex;align-items:center}
    .header-search form{width:100%;display:flex;align-items:center;background:#181818;border:1px solid #282828;border-radius:7px;overflow:hidden;transition:border-color .15s}
    .header-search form:focus-within{border-color:var(--red)}
    .header-search-icon{display:flex;align-items:center;padding:0 0 0 11px;color:#555;flex-shrink:0;pointer-events:none}
    .header-search input{flex:1;padding:7px 8px;background:transparent;border:none;color:#ddd;font-size:13px;font-family:'K2D',sans-serif;outline:none;min-width:0}
    .header-search input::placeholder{color:#555}
    .header-search-submit{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#242424;border-left:1px solid #303030;color:#888;flex-shrink:0;transition:color .15s,background .15s}
    .header-search-submit:hover{color:#fff;background:var(--red);border-color:var(--red)}
    @media(max-width:900px){.header-search{display:none;pointer-events:none}}
    .search-drop{display:none;position:fixed;top:var(--header-h);left:0;right:0;background:#161616;border-bottom:1px solid var(--border);padding:10px 16px;z-index:400}
    .search-drop.open{display:block}
    .search-drop form{display:flex;gap:8px;max-width:500px;margin:0 auto}
    .search-drop input{flex:1;padding:8px 14px;background:#1e1e1e;border:1px solid var(--border);border-radius:6px;color:#fff;font-size:13px;font-family:'K2D',sans-serif;outline:none}
    .search-drop input:focus{border-color:var(--red)}
    .search-drop button[type=submit]{padding:8px 18px;background:var(--red);color:#fff;border-radius:6px;font-size:13px;font-weight:600;transition:background .15s}
    .search-drop button[type=submit]:hover{background:var(--red-d)}

    /* ── HISTORY DROP ── */
    .history-drop{display:none;position:fixed;top:var(--header-h);right:0;width:320px;background:#161616;border:1px solid var(--border);border-top:none;border-radius:0 0 0 10px;z-index:400;box-shadow:-4px 8px 24px rgba(0,0,0,.5)}
    .history-drop.open{display:block}
    .history-drop-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:#888;letter-spacing:.06em;text-transform:uppercase}
    .history-clear-btn{font-size:10px;color:#666;transition:color .15s;font-family:'K2D',sans-serif}
    .history-clear-btn:hover{color:var(--red)}
    .history-drop-list{max-height:420px;overflow-y:auto;padding:6px}
    .history-drop-list::-webkit-scrollbar{width:4px}
    .history-drop-list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}
    .history-drop-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;text-decoration:none;transition:background .15s}
    .history-drop-item:hover{background:#1e1e1e}
    .history-drop-thumb{width:44px;height:58px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#1a1a1a}
    .history-drop-info{flex:1;min-width:0}
    .history-drop-model{font-size:10px;color:var(--red);font-weight:600;letter-spacing:.04em}
    .history-drop-title{font-size:11.5px;color:#ddd;line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .history-drop-empty{padding:20px;text-align:center;font-size:12px;color:#666}
    .history-drop-foot{padding:6px 8px 8px;border-top:1px solid var(--border)}
    .history-close-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;border-radius:6px;font-size:12px;font-weight:500;color:#777;font-family:'K2D',sans-serif;background:#1a1a1a;transition:background .15s,color .15s}
    .history-close-btn:hover{background:#222;color:#fff}

    /* ── MOBILE ── */
    .hamburger{display:none;flex-direction:column;gap:5px;padding:6px;flex-shrink:0;position:relative;z-index:10}
    .hamburger span{display:block;width:20px;height:2px;background:#888;border-radius:1px;transition:transform .2s,opacity .2s,background .2s}
    .hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
    .hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .hamburger.active span{background:var(--red)}
    .mobile-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:#111;z-index:290;flex-direction:column;overflow-y:auto;padding:8px 0}
    .mobile-nav.open{display:flex}
    .mobile-nav-link{display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:14px;color:#888;border-bottom:1px solid var(--border);transition:color .15s,background .15s}
    .mobile-nav-link svg{flex-shrink:0;opacity:.6}
    .mobile-nav-link:hover{color:#fff;background:#181818}
    .mob-section{border-top:1px solid var(--border)}
    .mob-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 18px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#777;background:none;border:none;font-family:'K2D',sans-serif;cursor:pointer;transition:color .15s;user-select:none}
    .mob-section-head span{display:flex;align-items:center;gap:8px}
    .mob-section-head:hover{color:#aaa}
    .mob-section-arrow{transition:transform .2s;flex-shrink:0}
    .mob-section.open .mob-section-arrow{transform:rotate(180deg)}
    .mob-section-body{display:none}
    .mob-section.open .mob-section-body{display:block}
    .mobile-nav-hist-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;text-decoration:none;transition:background .15s}
    .mobile-nav-hist-item:hover{background:#1a1a1a}
    .mobile-nav-hist-thumb{width:38px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#1a1a1a}
    .mobile-nav-hist-info{flex:1;min-width:0}
    .mobile-nav-hist-model{font-size:10px;color:var(--red);font-weight:600}
    .mobile-nav-hist-title{font-size:12px;color:#bbb;line-height:1.3;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .mobile-nav-hist-empty{padding:12px 18px;font-size:13px;color:#888}
    .mobile-search-btn{display:none;flex-shrink:0}
    .mobile-history-btn{display:none;flex-shrink:0;position:relative}
    .btn-icon-default{display:block}
    .btn-icon-close{display:none}
    .hicon.active .btn-icon-default{display:none}
    .hicon.active .btn-icon-close{display:block;color:var(--red)}
    .mobile-history-btn.active .history-dot{display:none!important}
    @media(max-width:900px){
      .main-nav{display:none}
      .header-icons{display:none}
      .sb-toggle{display:none}
      .logo-text-bot{display:none}
      .logo-link{margin:0 4px;flex:1}
      .mobile-search-btn{display:flex}
      .mobile-history-btn{display:flex}
      .hamburger{display:flex}
    }
    @media(max-width:400px){.logo-text{display:none}.logo-link{margin:0 2px}}

    /* ── SIDEBAR ── */
    .page-body{display:flex;align-items:flex-start;min-height:calc(100vh - var(--header-h))}
    .sidebar{width:var(--sb-w);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);min-height:calc(100vh - var(--header-h));position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}
    .sidebar.right{border-right:none;border-left:1px solid var(--border)}
    .sidebar.closed{display:none!important}
    .sidebar-inner{padding:14px;width:var(--sb-w)}
    .sb-section{margin-bottom:22px}
    .sb-title{font-size:9px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-dim);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}
    .sb-nav{display:flex;flex-direction:column;gap:1px}
    .sb-nav a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:6px;font-size:13px;color:#aaa;transition:background .12s,color .12s}
    .sb-nav a:hover{background:var(--bg3);color:#fff}
    .sb-nav a.active{background:#1a0008;color:var(--red)}
    .sb-nav .icon{width:15px;height:15px;flex-shrink:0;opacity:.5}
    .sb-nav a:hover .icon{opacity:.9}
    .sb-nav a.active .icon{opacity:1;stroke:var(--red)}
    .sb-nav .count{margin-left:auto;font-size:10px;color:#666;font-weight:600}
    .sb-models{display:flex;flex-direction:column}
    .sb-model{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #1a1a1a;transition:color .12s}
    .sb-model:hover{color:#fff}
    .sb-model-rank{font-size:10px;color:#666;font-weight:700;width:16px;flex-shrink:0;text-align:right}
    .sb-model-name{font-size:12px;color:#aaa;flex:1}
    .sb-model:hover .sb-model-name{color:#fff}
    .sb-model-cnt{font-size:10px;color:#666}
    .sb-tags{display:flex;flex-wrap:wrap;gap:4px}
    .sb-tags a{font-size:11px;padding:3px 8px;background:#1a1a1a;border:1px solid var(--border);border-radius:3px;color:#888;transition:all .12s}
    .sb-tags a:hover{border-color:var(--red);color:var(--red);background:#160007}
    .sb-history{display:flex;flex-direction:column;gap:1px}
    .sb-empty{font-size:11px;color:#666;padding:4px 0}
    .sb-hist-item{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:5px;font-size:11px;color:#888;transition:background .12s,color .12s;text-decoration:none}
    .sb-hist-item:hover{background:#1a1a1a;color:#ddd}
    .sb-hist-thumb{width:28px;height:28px;object-fit:cover;border-radius:3px;flex-shrink:0;background:#222}
    .sb-hist-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .sb-friends{display:flex;flex-direction:column;gap:1px}
    .sb-friends li{list-style:none}
    .sb-friends li a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:12px;color:#999;transition:background .12s,color .12s}
    .sb-friends li a:hover{background:var(--bg3);color:#fff}
    .sb-friends li a svg{flex-shrink:0;opacity:.45}
    .sb-friends li a:hover svg{opacity:1}
    @media(max-width:900px){
      .sidebar{display:none!important}
      .sb-toggle{display:none}
    }

    /* ── MAIN CONTENT ── */
    .main-content{flex:1;min-width:0}

    /* ── BREADCRUMB ── */
    .breadcrumb{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:11.5px;color:#555;border-bottom:1px solid var(--border);flex-wrap:wrap}
    .breadcrumb a{color:#777;transition:color .15s}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb-sep{color:#444}
    .breadcrumb-cur{color:#aaa}

    /* ── GALLERY HEADER ── */
    .gal-header{padding:16px 18px 14px;border-bottom:1px solid var(--border)}
    .gal-model-badge{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;letter-spacing:.04em;margin-bottom:10px;text-decoration:none;transition:background .15s}
    .gal-model-badge:hover{background:var(--red-d)}
    .gal-title{font-size:22px;font-weight:700;color:#fff;line-height:1.25;letter-spacing:-0.02em;margin-bottom:8px}
    .gal-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
    .gal-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:#666}
    .gal-meta-item svg{flex-shrink:0;opacity:.6}
    .gal-meta-item strong{color:#999;font-weight:500}
    .gal-actions{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
    .gal-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s;letter-spacing:.01em}
    .gal-btn-primary{background:var(--red);color:#fff}
    .gal-btn-primary:hover{background:var(--red-d)}
    .gal-btn-outline{background:#181818;border:1px solid #2e2e2e;color:#aaa}
    .gal-btn-outline:hover{background:#222;color:#fff;border-color:#444}
    .gal-btn-outline.saved{background:#1a0008;border-color:var(--red);color:var(--red)}
    .gal-btn svg{flex-shrink:0}
    @media(max-width:600px){
      .gal-title{font-size:17px}
      .gal-actions{gap:6px}
      .gal-btn{padding:6px 10px;font-size:11px}
    }

    /* ── VIEWER ── */
    /* ── GALLERY THUMBS ── */
    .gallery-grid{position:relative;width:100%;overflow-anchor:none}
    
    .gallery-sizer{display:none}
    .gal-thumb{float:left;box-sizing:border-box;padding:0 1.5px 3px;cursor:zoom-in}
    .gal-thumb-inner{position:relative;overflow:hidden;background:#161616}
    .gal-thumb-inner img{display:block;width:100%;height:auto;transition:transform .35s ease;filter:brightness(1)}
    .gal-thumb:hover .gal-thumb-inner img{transform:scale(1.06);filter:brightness(1)}
    .gal-thumb-num{position:absolute;bottom:6px;right:8px;font-size:11px;font-weight:600;color:rgba(255,255,255,.7);opacity:0;transition:opacity .2s;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.8)}
    .gal-thumb:hover .gal-thumb-num{opacity:1}

    /* ── LIGHTBOX ── */
    .lightbox{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.95);flex-direction:column;align-items:center;justify-content:center}
    .lightbox.open{display:flex}
    body.lb-open{overflow:hidden}
    
    .lb-img-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:56px 60px 130px}
    .lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block;transition:opacity .15s;user-select:none}
    .lb-img.fading{opacity:0}
    @media(max-width:600px){.lb-img-wrap{padding:50px 10px 140px}}
    .lb-arrow{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ccc;z-index:10;transition:background .15s,color .15s;cursor:pointer}
    .lb-arrow:hover{background:rgba(255,255,255,.18);color:#fff}
    .lb-arrow.prev{left:12px}
    .lb-arrow.next{right:12px}
    @media(max-width:600px){.lb-arrow{width:38px;height:38px}.lb-arrow.prev{left:4px}.lb-arrow.next{right:4px}}
    @media(max-width:700px){
      .lb-bar{background:rgba(0,0,0,.9);height:48px;padding:0 8px}
      .lb-title{display:none}
      /* Текст кнопок скрываем — только иконки */
      .lb-btn-text{display:none}
      #lb-fs-label{display:none}
      /* Download Full Set — только иконка, квадратная */
      .lb-btn-dl{padding:0;width:34px;height:34px;justify-content:center}
      .lb-btn{width:34px;height:34px;padding:0}
      .lb-btn svg{opacity:1}
      .lb-bar-right{gap:5px}
      .lb-close{width:34px;height:34px}
      .lb-img-wrap{padding:48px 6px 130px}
    }

    .lb-strip-wrap{position:fixed;bottom:0;left:0;right:0;height:68px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);display:flex;align-items:flex-end;padding-bottom:6px;z-index:10}
    .lb-strip{display:flex;gap:3px;padding:0 8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;width:100%}
    .lb-strip::-webkit-scrollbar{display:none}
    .lb-strip-thumb{flex-shrink:0;cursor:pointer;border-radius:3px;overflow:hidden;border:2px solid transparent;transition:border-color .15s,opacity .15s;opacity:.5}
    .lb-strip-thumb:hover{opacity:.85}
    .lb-strip-thumb.active{border-color:var(--red);opacity:1}
    .lb-strip-thumb img{display:block;width:auto;height:54px;object-fit:cover}

    /* Основной показываемый кадр */

    /* Стрелки навигации */

    /* Счётчик */

    /* ── СТРИП-ТУМБС ── */

    /* ── GALLERY INFO БЛОК ── */

    /* Tags — внутри rating-block, одна строка с прокруткой */
    .gal-tags-row{width:100%;padding-top:10px;border-top:1px solid var(--border);margin-top:4px}
    .gal-info-tags{display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
    .gal-info-tags::-webkit-scrollbar{display:none}
    .gal-tag{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0;padding:3px 9px;background:#1a1a1a;border:1px solid var(--border);border-radius:4px;font-size:11px;color:#888;transition:all .12s}
    .gal-tag:hover{border-color:var(--red);color:var(--red);background:#160007}

    /* ── RELATED GALLERIES ── */
    .related-section{padding:0}
    .related-heading{padding:12px 16px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}
    .related-heading h2{font-size:13px;font-weight:700;color:#fff;letter-spacing:.04em;text-transform:uppercase}
    .related-heading h2 span{color:var(--red);margin-left:6px;font-weight:400;font-size:11px}

    /* Сетка related — те же карточки что на index */
    .gallery-grid{position:relative;width:100%;overflow-anchor:none}
    
    .gallery-sizer{display:none}
    .gallery-card{float:left;box-sizing:border-box;padding:0 1.5px 3px}
    .gallery-card-inner{position:relative;overflow:hidden;background:#161616}
    .gallery-card img{display:block;width:100%;height:auto;transition:transform .4s ease;filter:brightness(1)}
    .gallery-card:hover .gallery-card-inner img{transform:scale(1.05);filter:brightness(1)}
    .gc-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,transparent 75%);opacity:0;transition:opacity .2s;padding:30px 10px 10px;pointer-events:none;z-index:2}
    .gallery-card:hover .gc-info{opacity:1}
    .gc-model{font-size:11px;font-weight:700;color:#fff;background:var(--red);display:inline-block;padding:1px 6px;border-radius:3px;letter-spacing:.04em;margin-bottom:3px}
    .gc-title{font-size:13px;color:#fff;line-height:1.35;margin-top:2px}
    .gc-date{font-size:11px;color:#aaa;margin-top:4px}
    .gc-save{position:absolute;top:6px;right:6px;width:28px;height:28px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .15s,border-color .15s;z-index:3;cursor:pointer;color:#aaa}
    .gallery-card:hover .gc-save{opacity:1}
    .gc-save:hover{background:var(--red);border-color:var(--red);color:#fff}
    .gc-save.saved{opacity:1;background:var(--red);border-color:var(--red);color:#fff}
    .gc-save svg{display:block;pointer-events:none}
    @media(max-width:900px){.gc-save{opacity:1}}
    /* Related пометка */
    .gc-related{position:absolute;top:6px;left:6px;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#bbb;background:rgba(0,0,0,.65);padding:2px 7px;border-radius:3px;pointer-events:none;z-index:3;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(2px)}

    /* ── FOOTER ── */
    .load-more-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 28px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;color:#888;background:#141414;transition:background .15s,color .15s,border-color .15s}
    .load-more-btn:hover{background:#1e1e1e;color:#fff;border-color:#333}
    .load-more-btn::after{content:'';display:block;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain}
    .footer-banner{background:#111;padding:40px 20px;text-align:center;border-bottom:1px solid var(--border)}
    .footer-banner h2{font-size:26px;font-weight:300;color:#fff;margin-bottom:8px}
    .footer-banner h2 strong{color:var(--red);font-weight:700}
    .footer-banner p{font-size:13px;color:#777;margin-bottom:18px}
    .btn-join{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 28px;transition:background .15s}
    .btn-join:hover{background:var(--red-d)}
    .footer-bottom{max-width:1200px;margin:0 auto;padding:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
    .footer-logo{display:flex;align-items:center;gap:8px;text-decoration:none}
    .footer-nav{display:flex;gap:18px}
    .footer-nav a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#666;transition:color .15s}
    .footer-nav a:hover{color:var(--red)}
    .footer-copy{font-size:10px;color:#333}
    .scroll-up{position:fixed;bottom:20px;right:20px;width:36px;height:36px;background:#1a1a1a;border:1px solid #333;color:#888;font-size:14px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all .2s;z-index:50;border-radius:4px}
    .scroll-up.visible{opacity:1;pointer-events:all}
    .scroll-up:hover{border-color:var(--red);color:var(--red)}
  
    /* ── РЕЙТИНГ ── */
    .gal-rating-block{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;flex-wrap:wrap;row-gap:0}
    .gal-rating-score{display:flex;align-items:baseline;gap:4px}
    .gal-rating-num{font-size:36px;font-weight:800;color:#fff;line-height:1;letter-spacing:-0.03em}
    .gal-rating-denom{font-size:14px;color:#555;font-weight:500}
    .gal-rating-meta{display:flex;flex-direction:column;gap:2px}
    .gal-rating-bar-wrap{width:80px;height:5px;background:#2a2a2a;border-radius:3px;overflow:hidden}
    .gal-rating-bar{height:100%;background:var(--red);border-radius:3px;transition:width .3s}
    .gal-rating-cnt{font-size:10px;color:#555;margin-top:2px}
    .gal-vote-btns{display:flex;align-items:center;gap:6px}
    .gal-vote-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid #2a2a2a;color:#888;background:none;transition:all .15s;font-family:'K2D',sans-serif;cursor:pointer}
    .gal-vote-btn:hover{border-color:#444;color:#fff}
    .gal-vote-btn.voted-up{border-color:var(--red);color:var(--red);background:#1a0008}
    .gal-vote-btn.voted-down{border-color:#444;color:#fff;background:#1a1a1a}
    .gal-rating-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}

    /* ── БАННЕР ── */
    .gal-banner-wrap{padding:14px 18px;border-bottom:1px solid var(--border)}
    .gal-banner{display:block;max-width:728px;border-radius:4px;overflow:hidden;line-height:0}
    .gal-banner img{width:100%;height:auto;display:block}

    /* ── LIGHTBOX топ-бар кнопки ── */
    .lb-bar{position:fixed;top:0;left:0;right:0;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:linear-gradient(to bottom,rgba(0,0,0,.85),transparent);z-index:10}
    .lb-bar-left{display:flex;align-items:center;gap:8px}
    .lb-bar-right{display:flex;align-items:center;gap:6px}
    .lb-counter{font-size:12px;color:#aaa;font-weight:500;min-width:44px}
    .lb-title{font-size:12px;color:#bbb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
    .lb-btn{display:flex;align-items:center;justify-content:center;gap:4px;height:28px;padding:0 8px;border-radius:5px;font-size:11px;font-weight:500;color:#888;background:transparent;border:1px solid rgba(255,255,255,.1);transition:background .15s,color .15s;white-space:nowrap;font-family:'K2D',sans-serif}
    .lb-btn:hover{background:rgba(255,255,255,.1);color:#ddd}
    .lb-btn.active{color:var(--red);border-color:rgba(242,46,75,.5)}
    .lb-btn svg{flex-shrink:0;opacity:.7}
    .lb-btn-dl{color:#ccc;border-color:rgba(255,255,255,.2)}
    .lb-btn-dl:hover{color:#fff;background:rgba(255,255,255,.12)}
    .lb-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#ccc;transition:background .15s,color .15s}
    .lb-close:hover{background:var(--red);border-color:var(--red);color:#fff}

    /* ── LIGHTBOX CTA блок ── */
    .lb-cta{position:fixed;bottom:68px;left:50%;transform:translateX(-50%);z-index:10;display:flex;pointer-events:none;width:min(480px,88vw)}
    .lb-cta-join{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border-radius:6px;background:rgba(180,0,30,.75);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;pointer-events:all;transition:background .15s;text-decoration:none;border:1px solid rgba(242,46,75,.4)}
    .lb-cta-join:hover{background:rgba(200,0,40,.9)}
    @media(max-width:500px){.lb-cta-join{font-size:11px;padding:9px 12px}}
  
    /* ── COL TOGGLE + RANDOM (из index) ── */
    .random-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#777;border:1px solid #222;transition:background .12s,color .12s,border-color .12s;flex-shrink:0;text-decoration:none}
    .random-btn:hover{background:#1e1e1e;color:#fff;border-color:#333}
    .col-toggle-tb{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#888;border:1px solid #222;transition:background .15s,color .15s;flex-shrink:0}
    .col-toggle-tb:hover{background:#1e1e1e;color:#fff}
    .col-toggle-tb.active{color:var(--red);border-color:var(--red)}
    @media(max-width:900px){.col-toggle-tb{display:flex}}

    /* ── SLIDESHOW OVERLAY на первом фото ── */
    /* Slideshow — прямоугольная иконка в правом нижнем углу */
    .gal-thumb-play{position:absolute;bottom:7px;right:7px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:4}
    .gal-thumb:first-of-type .gal-thumb-play{opacity:1;pointer-events:all}
    .gal-thumb-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:24px;border-radius:4px;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;transition:background .15s,border-color .15s}
    .gal-thumb-play-btn:hover{background:var(--red);border-color:rgba(242,46,75,.6)}
    @media(max-width:900px){.gal-thumb-play{opacity:1;pointer-events:all}}

    /* gal-actions flex с spacer */
    .gal-actions-right{display:flex;align-items:center;gap:6px;margin-left:auto}
  
    /* ── МОБИЛЬНАЯ КНОПКА ПРАВОГО САЙДБАРА ── */
    .mobile-sb-btn{display:none;flex-shrink:0}
    @media(max-width:900px){.mobile-sb-btn{display:flex}}

    /* ── ПРАВЫЙ САЙДБАР ПОВЕРХ НА МОБИЛЕ ── */
    @media(max-width:900px){
      .sidebar.right{
        display:flex !important;   /* перекрываем closed */
        position:fixed;
        top:var(--header-h);
        right:0;
        bottom:0;
        width:260px;
        height:auto;
        min-height:unset;
        z-index:280;
        transform:translateX(100%);
        transition:transform .25s ease;
        overflow-y:auto;
        border-left:1px solid var(--border);
        box-shadow:-8px 0 24px rgba(0,0,0,.5);
      }
      .sidebar.right.mob-open{transform:translateX(0)}
      /* Оверлей под сайдбаром */
      .sb-right-overlay{display:none;position:fixed;inset:0;top:var(--header-h);z-index:279;background:rgba(0,0,0,.5)}
      .sb-right-overlay.open{display:block}
    }
  
    /* ── COMMENTS ── */
    .comments-btn{position:relative;display:inline-flex;align-items:center;gap:6px}
    .comments-dot{display:none;position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--bg2);box-shadow:0 0 6px rgba(242,46,75,.7)}
    /* Показываем точку только когда есть комменты: .comments-panel.filled ~ кнопка */
    .comments-panel.filled + * .comments-dot,
    [data-has-comments] .comments-dot{display:block}
    /* Управляем через класс filled на панели */
    .comments-panel.filled .comments-count-label::before{content:attr(data-count)}
    .comments-panel:not(.filled) .comment-list{display:none}
    .comments-panel:not(.filled) .comments-count-label::before{content:"No comments yet"}

    /* Панель */
    .comments-panel{display:none;border-top:1px solid var(--border);background:var(--bg2)}
    .comments-panel.open{display:block}
    .comments-inner{max-width:700px;padding:20px 18px 24px}
    .comments-heading{font-size:13px;font-weight:700;color:#fff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:8px}
    .comments-heading span{font-size:11px;color:#555;font-weight:400;text-transform:none;letter-spacing:0}

    /* Комменты */
    .comment-list{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border)}
    .comment-item{display:flex;gap:10px}
    .comment-avatar{width:34px;height:34px;border-radius:50%;background:#1e1e1e;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:700;color:var(--red);border:1px solid var(--border)}
    .comment-body{flex:1;min-width:0}
    .comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}
    .comment-name{font-size:12px;font-weight:600;color:#ccc}
    .comment-date{font-size:11px;color:#444}
    .comment-text{font-size:13px;color:#999;line-height:1.6}

    /* Форма */
    .comment-form-title{font-size:11px;font-weight:700;color:#666;margin-bottom:12px;text-transform:uppercase;letter-spacing:.07em}
    .comment-form-row{display:flex;gap:10px;margin-bottom:10px}
    .comment-form-field{display:flex;flex-direction:column;gap:5px;flex:1}
    .comment-form-field label{font-size:11px;color:#555;font-weight:500}
    .comment-form-field input,.comment-form-field textarea{background:#111;border:1px solid var(--border);border-radius:6px;color:#ddd;font-size:13px;font-family:'K2D',sans-serif;padding:8px 12px;outline:none;transition:border-color .15s;resize:none}
    .comment-form-field input:focus,.comment-form-field textarea:focus{border-color:var(--red)}
    .comment-form-field input::placeholder,.comment-form-field textarea::placeholder{color:#333}
    .comment-form-field textarea{min-height:80px}
    .comment-captcha{margin-bottom:14px}
    .comment-captcha-mock{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:#111;border:1px solid var(--border);border-radius:6px;transition:border-color .15s}
    .comment-captcha-mock:has(.cf-captcha:checked){border-color:#2a5a2a}
    .comment-captcha-mock input[type=checkbox]{width:18px;height:18px;accent-color:#2a9d2a;cursor:pointer;flex-shrink:0}
    .comment-captcha-mock span{font-size:13px;color:#888;user-select:none}
    .comment-captcha-mock .recaptcha-logo{margin-left:16px;font-size:8px;color:#444;line-height:1.3;text-align:center;border-left:1px solid var(--border);padding-left:12px}
    .comment-submit{display:inline-flex;align-items:center;gap:7px;padding:8px 20px;background:var(--red);color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;font-family:'K2D',sans-serif;border:none;transition:background .15s}
    .comment-submit:hover{background:var(--red-d)}
    @media(max-width:600px){.comment-form-row{flex-direction:column}}
  .sb-all-models{display:block;margin-top:8px;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#666;text-align:center;border:1px solid var(--border);transition:background .12s,color .12s,border-color .12s}.sb-all-models:hover{background:var(--bg3);color:#ccc;border-color:#333}

/* ══ CSS columns для galGrid ══ */
@media (min-width: 1200px) { #gallery-grid { column-count: 5; column-gap: 3px; } }
@media (min-width: 900px)  and (max-width: 1199px) { #gallery-grid { column-count: 4; column-gap: 3px; } }
@media (min-width: 600px)  and (max-width: 899px)  { #gallery-grid { column-count: 3; column-gap: 3px; } }
@media (max-width: 599px)  { #gallery-grid { column-count: 2; column-gap: 2px; } }

#gallery-grid { overflow-anchor: none; }

#gallery-grid .gal-thumb {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  float: none !important;
  width: 100% !important;
  display: block;
  margin-bottom: 3px;
  padding: 0;
  box-sizing: border-box;
  cursor: zoom-in;
}
#gallery-grid .gallery-sizer { display: none !important; }
#gallery-grid .gal-thumb-inner img { display: block; width: 100%; height: auto; vertical-align: bottom; }

/* Mobile col-toggle */
@media (max-width: 899px) { #gallery-grid.cols-1 { column-count: 1 !important; } }

/* Sidebar CLS */
html.sb-left-closed  #sidebar-left  { display: none !important; }
html.sb-right-closed #sidebar-right { display: none !important; }
html.sb-right-closed #sidebar-right.mob-open { display: flex !important; transform: translateX(0) !important; }

/* CLS — высоты блоков */
.gal-rating-block { min-height: 76px; box-sizing: border-box; }
.gal-banner-wrap  { min-height: 108px; }
.gal-actions      { min-height: 40px; }

/* ── Gallery description block ── */
.gal-desc-wrap {
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
}
.gal-desc-inner {
  font-size: 13px;
  line-height: 1.7;
  color: #999;
  overflow: hidden;
  /* Мобиле: обрезаем до 3 строк */
  max-height: 4.2em;
  transition: max-height .35s ease;
}
.gal-desc-inner.expanded {
  max-height: 600px;
}
/* На десктопе — чуть больше строк видно */
@media (min-width: 700px) {
  .gal-desc-inner {
    max-height: 3.9em; /* ~2 строки */
  }
}
.gal-desc-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  background: none;
  border: none;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}
.gal-desc-toggle:hover { opacity: .8; }
#gal-desc-arrow {
  transition: transform .3s ease;
}
.gal-desc-inner.expanded ~ .gal-desc-toggle #gal-desc-arrow,
.gal-desc-toggle.expanded #gal-desc-arrow {
  transform: rotate(180deg);
}

/* CLS фиксы — min-height для стабильных блоков */
.gal-meta       { min-height: 28px; }
.gal-header     { min-height: 80px; }
.header-inner   { min-height: 58px; }
.gal-actions    { min-height: 40px; }
.gal-rating-block { min-height: 76px; }
.gal-info-row   { min-height: 56px; }

/* ── Sidebar banner ── */
.sb-banner {
  background: linear-gradient(135deg, #1a0008, #0d0d0d);
  border: 1px solid #3a0018;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.sb-banner p { font-size: 11px; color: #aaa; margin-bottom: 10px; line-height: 1.5; }
.sb-banner strong { color: var(--red); font-size: 13px; display: block; margin-bottom: 6px; }
.sb-banner a { display: block; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; padding: 8px; border-radius: 5px; transition: background .15s; }
.sb-banner a:hover { background: var(--red-d); }
