/* ===== MODEL PAGE STYLES ===== */
/* Hide sidebar scrollbars */
.sidebar::-webkit-scrollbar{display:none}
.sidebar{scrollbar-width:none;-ms-overflow-style:none}
    /* ══ MODEL HERO ══ */
    .model-page-main{flex:1;min-width:0}
    .model-hero{position:relative;width:100%;overflow:hidden;border-bottom:1px solid var(--border)}
    .model-hero .hero-img-desktop,.model-hero .hero-img-mobile{width:100%;display:block;object-fit:cover;object-position:center top}
    .model-hero .hero-img-desktop{height:540px}
    .model-hero .hero-img-mobile{display:none}
    .model-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.8) 35%,rgba(0,0,0,.35) 65%,transparent 100%);pointer-events:none}
    .model-hero .hero-content{position:absolute;bottom:0;left:0;right:0;padding:28px 32px;color:#fff}
    .model-hero .hero-breadcrumb{font-size:11px;color:rgba(255,255,255,.85);margin-bottom:12px;display:flex;align-items:center;gap:5px;text-shadow:0 1px 4px rgba(0,0,0,.9)}
    .model-hero .hero-breadcrumb a{color:rgba(255,255,255,.85);text-decoration:none;transition:color .15s}
    .model-hero .hero-breadcrumb a:hover{color:#fff}
    .model-hero .hero-breadcrumb-sep{opacity:.4}
    .model-hero .hero-name{font-size:34px;font-weight:700;line-height:1.1;margin-bottom:10px;text-shadow:0 2px 12px rgba(0,0,0,1),0 1px 3px rgba(0,0,0,1)}
    .model-hero .hero-like{display:flex;align-items:center;gap:10px;margin-bottom:18px}
    .model-hero .hero-like-btn{background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.4);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:6px;transition:background .2s,border-color .2s;backdrop-filter:blur(4px);font-family:'Open Sans',sans-serif}
    .model-hero .hero-like-btn:hover{background:rgba(242,46,75,.7);border-color:var(--red);color:#fff}
    .model-hero .hero-like-btn.liked{background:var(--red);border-color:var(--red)}
    .model-hero .hero-like-count{font-size:13px;color:rgba(255,255,255,.75);font-weight:500}
    .model-hero .hero-rating{display:flex;align-items:center;gap:6px;margin-bottom:18px}
    .model-hero .hero-stars{display:flex;gap:2px}
    .model-hero .hero-stars svg{color:var(--red)}
    .model-hero .hero-rating-val{font-size:14px;font-weight:700;color:#fff}
    .model-hero .hero-rating-cnt{font-size:12px;color:rgba(255,255,255,.8);text-shadow:0 1px 3px rgba(0,0,0,.7)}
    .model-hero .hero-cols{display:flex;gap:0 36px;flex-wrap:wrap;margin-bottom:14px}
    .model-hero .hero-col{display:flex;flex-direction:column;gap:5px}
    .model-hero .hero-item{font-size:12px;color:rgba(255,255,255,.9);font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.8)}
    .model-hero .hero-item span{color:#fff;font-weight:600}
    .model-hero .hero-links{display:flex;flex-wrap:wrap;gap:6px}
    .model-hero .hero-links a{font-size:12px;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25);padding:5px 14px;border-radius:14px;text-decoration:none;font-weight:500;transition:background .2s,border-color .2s;backdrop-filter:blur(6px);white-space:nowrap}
    .model-hero .hero-links a:hover{background:var(--red);border-color:var(--red)}
    @media(max-width:640px){
      .model-hero .hero-img-desktop{display:none}
      .model-hero .hero-img-mobile{display:block;height:500px}
      .model-hero .hero-name{font-size:24px}
      .model-hero .hero-content{padding:16px 18px}
      .model-hero .hero-cols{gap:0 20px}
    }
    /* Light theme */
    html:not(.dark-mode) .model-hero{border-color:#e5e5e5}

    /* ══ MODEL HERO — NO PHOTO FALLBACK ══ */
    .model-hero-nophoto{width:100%;border-bottom:1px solid var(--border);background:var(--bg2)}
    .model-hero-nophoto-inner{padding:28px 32px;max-width:900px}
    .model-hero-nophoto .hero-breadcrumb{font-size:11px;color:var(--text-dim);margin-bottom:12px;display:flex;align-items:center;gap:5px}
    .model-hero-nophoto .hero-breadcrumb a{color:var(--text-dim);text-decoration:none;transition:color .15s}
    .model-hero-nophoto .hero-breadcrumb a:hover{color:var(--red)}
    .model-hero-nophoto .hero-breadcrumb-sep{opacity:.4}
    .model-hero-nophoto .hero-name{font-size:32px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:10px}
    .model-hero-nophoto .hero-rating{display:flex;align-items:center;gap:6px;margin-bottom:12px}
    .model-hero-nophoto .hero-stars{display:flex;gap:2px;color:#f5a623}
    .model-hero-nophoto .hero-rating-val{font-size:13px;font-weight:700;color:var(--text)}
    .model-hero-nophoto .hero-rating-cnt{font-size:12px;color:var(--text-dim)}
    .model-hero-nophoto .hero-like{display:flex;align-items:center;gap:10px;margin-bottom:14px}
    .model-hero-nophoto .hero-like-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--border);background:var(--bg3);text-decoration:none;transition:background .15s,border-color .15s,color .15s}
    .model-hero-nophoto .hero-like-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
    .model-hero-nophoto .hero-like-btn.liked{background:var(--red);border-color:var(--red);color:#fff}
    .model-hero-nophoto .hero-like-count{font-size:12px;color:var(--text-dim)}
    .model-hero-nophoto .hero-cols{display:flex;flex-wrap:wrap;gap:6px 24px;margin-bottom:14px}
    .model-hero-nophoto .hero-item{font-size:13px;color:var(--text-dim)}
    .model-hero-nophoto .hero-item span{color:var(--text);font-weight:600}
    .model-hero-nophoto .hero-links{display:flex;flex-wrap:wrap;gap:6px}
    .model-hero-nophoto .hero-links a{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-dim);border:1px solid var(--border);background:var(--bg3);text-decoration:none;transition:all .15s}
    .model-hero-nophoto .hero-links a:hover{border-color:var(--red);color:var(--red);background:transparent}
    @media(max-width:600px){
      .model-hero-nophoto-inner{padding:18px 14px}
      .model-hero-nophoto .hero-name{font-size:24px}
    }

    /* ══ MODEL GALLERY HEADER ══ */
    .model-gal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}
    .model-gal-title{font-size:13px;font-weight:700;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}
    .model-gal-count{font-size:12px;color:var(--red);font-weight:600}
    html:not(.dark-mode) .model-gal-head{border-color:#e5e5e5}
    html:not(.dark-mode) .model-gal-title{color:#999}
    @media(max-width:600px){
      .model-more-btn{order:3;width:100%;justify-content:center}
    }


/* Hide sidebar scrollbars */
.sidebar::-webkit-scrollbar{display:none}
.sidebar{scrollbar-width:none;-ms-overflow-style:none}
    /* ── More photos button ── */
    .model-more-btn-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}
    .model-more-btn{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;font-size:13px;font-weight:600;padding:8px 20px;border-radius:20px;text-decoration:none;transition:background .15s;white-space:nowrap;font-family:'Open Sans',sans-serif}
    .model-more-btn:hover{background:var(--red-d);color:#fff}
    .model-more-btn svg{flex-shrink:0}
    html:not(.dark-mode) .model-more-btn-wrap{border-color:#e5e5e5}
    html:not(.dark-mode) .model-more-btn{color:#fff !important}


  /* === PERFORMANCE & A11Y ADDITIONS === */
  /* Prevent layout shift on fonts */
  @font-face { font-display: swap; }
  /* Focus visible for keyboard nav */
  :focus-visible { outline: 2px solid #EF4444; outline-offset: 2px; }
  /* Reduce motion for users who prefer it */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  }

/* Hero overrides */
/* ===== LIGHT THEME OVERRIDE ===== */
    :root {
      --accent: #EF4444;
      --accent-d: #DC2626;
      --bg: #ffffff;
      --bg2: #f8f8f8;
      --bg3: #f0f0f0;
      --border: #e5e5e5;
      --text: #111111;
      --text-dim: #888888;
      --shadow: 0 1px 3px rgba(0,0,0,0.08);
      --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
    }

    /* Scrollbar */
    html { scrollbar-color: #ddd #f5f5f5; }

    /* MomLover link style */
    a { color: #000 !important; }
    a:hover { color: #888; }
    .nav-active, .nav-active a { color: #fff !important; }
    .gc-model a, .gc-model { color: #fff !important; }

    /* Body */
    body {
      background: var(--bg) !important;
      color: #212529 !important;
    }

    /* Header */
    .site-header {
      background: #fff !important;
      border-bottom: 1px solid var(--border) !important;
      box-shadow: var(--shadow) !important;
    }

    /* Logo — pill shape, bold wordmark */
    .logo-link { margin: 0 16px 0 4px !important; align-items: center !important; }
    .logo-text { justify-content: center !important; }
    .logo-text-top { line-height: 1 !important; }
    .logo-text-bot { line-height: 1 !important; margin-top: 3px !important; }
    .main-nav { align-items: center !important; }
    .main-nav a { align-items: center !important; line-height: 1.2 !important; }
    .logo-mark {
      background: transparent !important;
      border-radius: 0 !important;
      width: auto !important; height: auto !important;
    }
    .logo-text-top {
      font-size: 20px !important;
      font-weight: 700 !important;
      color: #111 !important;
      letter-spacing: -0.03em !important;
    }
    .logo-text-top span { color: var(--accent) !important; }
    .logo-text-bot {
      font-size: 8px !important;
      color: #bbb !important;
      letter-spacing: 0.2em !important;
    }

    /* Nav */
    .sb-toggle { color: #555 !important; }
    .sb-toggle:hover { background: #f3f3f3 !important; color: #111 !important; }
    .sb-toggle.active { color: var(--accent) !important; }

    .main-nav a {
      color: #111 !important;
      font-size: 14.5px !important;
      font-weight: 500 !important;
      padding: 5px 10px !important;
      border-radius: 3px !important;
      transition: background .15s, color .15s !important;
    }
    .main-nav a:hover { background: #EF4444 !important; color: #fff !important; }
    .nav-active {
      background: #EF4444 !important;
      color: #fff !important;
      border-radius: 3px !important;
    }
    .nav-active:hover { background: #DC2626 !important; }
    .nav-red { color: #EF4444 !important; }
    .nav-red:hover { background: #EF4444 !important; color: #fff !important; }
    ..nav-discount { background: #EF4444 !important; color: #fff !important; border: none !important; }
    .nav-discount::before,.nav-discount::after { border-color: #EF4444 !important; }

    /* Header icons */
    .hicon { color: #888 !important; }
    .hicon:hover { background: #f3f3f3 !important; color: #111 !important; }
    .hicon.active { color: var(--accent) !important; }
    .history-dot { background: var(--accent) !important; border-color: #fff !important; box-shadow: 0 0 6px rgba(239,68,68,.5) !important; }

    /* Search */
    .header-search form {
      background: #fff !important;
      border-color: #ddd !important;
    }
    .header-search form:focus-within { border-color: var(--accent) !important; }
    .header-search-icon { color: #aaa !important; }
    .header-search input { color: #111 !important; }
    .header-search input::placeholder { color: #bbb !important; }
    .header-search-submit {
      background: #fff !important;
      border-color: #ddd !important;
      color: #aaa !important;
    }
    .header-search-submit:hover { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }

    /* Search drop */
    .search-drop { background: #fff !important; border-color: var(--border) !important; }
    .search-drop input { background: #f5f5f5 !important; border-color: #e0e0e0 !important; color: #111 !important; }
    .search-drop input:focus { border-color: var(--accent) !important; }
    .search-drop button[type=submit] { background: var(--accent) !important; }
    .search-drop button[type=submit]:hover { background: var(--accent-d) !important; }

    /* History drop */
    .history-drop { background: #fff !important; border-color: var(--border) !important; box-shadow: -4px 8px 24px rgba(0,0,0,0.12) !important; }
    .history-drop-head { border-color: var(--border) !important; color: #999 !important; }
    .history-clear-btn { color: #bbb !important; }
    .history-clear-btn:hover { color: var(--accent) !important; }
    .history-drop-list::-webkit-scrollbar-thumb { background: #ddd !important; }
    .history-drop-item:hover { background: #f5f5f5 !important; }
    .history-drop-thumb { background: #eee !important; }
    .history-drop-model { color: var(--accent) !important; }
    .history-drop-title { color: #333 !important; }
    .history-drop-empty { color: #bbb !important; }
    .history-drop-foot { border-color: var(--border) !important; }
    .history-close-btn { background: #f3f3f3 !important; color: #888 !important; }
    .history-close-btn:hover { background: #eaeaea !important; color: #111 !important; }

    /* Hero breadcrumb & links — light mode */
    .model-hero .hero-breadcrumb { color: rgba(255,255,255,.9) !important; text-shadow: 0 1px 6px rgba(0,0,0,.8) !important; }
    .model-hero .hero-breadcrumb a { color: rgba(255,255,255,.9) !important; text-shadow: 0 1px 6px rgba(0,0,0,.8) !important; }
    .model-hero .hero-links a { color: #fff !important; background: rgba(0,0,0,.65) !important; border-color: rgba(255,255,255,.4) !important; text-shadow: 0 1px 3px rgba(0,0,0,.7) !important; }
    .model-hero .hero-links a:hover { background: var(--accent) !important; border-color: var(--accent) !important; }
    .model-hero .hero-like-btn { background: rgba(0,0,0,.65) !important; border-color: rgba(255,255,255,.4) !important; color: #fff !important; text-shadow: 0 1px 3px rgba(0,0,0,.7) !important; }
    .model-hero .hero-like-btn:hover { background: rgba(239,68,68,.8) !important; border-color: var(--accent) !important; }
    .model-hero .hero-like-btn.liked { background: var(--accent) !important; border-color: var(--accent) !important; }

    /* Link bar */
    .link-bar { background: #fafafa !important; border-color: var(--border) !important; }
    .link-bar a {
      color: #555 !important;
      background: #fff !important;
      border-color: #e5e5e5 !important;
      border-radius: 20px !important;
    }
    .link-bar a:hover { background: #f3f3f3 !important; color: #111 !important; border-color: #ccc !important; }

    /* Sidebars */
    .sidebar { background: #fafafa !important; border-color: var(--border) !important; scrollbar-color: #ddd transparent !important; }
    .sidebar.right { border-color: var(--border) !important; }

    .sb-title { color: #bbb !important; border-color: var(--border) !important; }

    .sb-nav a { color: #555 !important; }
    .sb-nav a:hover { background: #f0f0f0 !important; color: #111 !important; }
    .sb-nav a.active { background: #fff0f0 !important; color: var(--accent) !important; }
    .sb-nav .icon { opacity: .4 !important; }
    .sb-nav a:hover .icon { opacity: .8 !important; }
    .sb-nav a.active .icon { opacity: 1 !important; stroke: var(--accent) !important; }
    .sb-nav .count { color: #bbb !important; }

    .sb-model { border-color: #efefef !important; }
    .sb-model { padding: 6px 16px !important; margin: 0 !important; transition: background .12s !important; cursor: pointer !important; }
    .sb-model:hover { background: #f7f7f7 !important; color: #000 !important; border-color: transparent !important; }
    .sb-model-rank { color: #ccc !important; }
    .sb-model-name { color: #666 !important; }
    .sb-model:hover .sb-model-name { color: #111 !important; }
    .sb-model-cnt { color: #bbb !important; }

    .sb-tags a { background: #f3f3f3 !important; border-color: #e5e5e5 !important; color: #888 !important; }
    .sb-tags a:hover, .sb-tags a.active { border-color: var(--accent) !important; color: var(--accent) !important; background: #fff0f0 !important; }

    .sb-check { color: #888 !important; }
    .sb-check:hover { color: #555 !important; }
    .sb-check input[type=checkbox] { accent-color: var(--accent) !important; }
    .sb-check span:last-child { color: #bbb !important; }

    .sb-empty { color: #bbb !important; }
    .sb-hist-item { color: #aaa !important; }
    .sb-hist-item:hover { background: #f0f0f0 !important; color: #555 !important; }
    .sb-hist-thumb { background: #eee !important; }

    .sb-banner { background: linear-gradient(135deg,#fff0f0,#fff) !important; border-color: rgba(239,68,68,0.2) !important; }
    .sb-banner p { color: #777 !important; }
    .sb-banner strong { color: var(--accent) !important; }
    .sb-banner a { background: var(--accent) !important; }
    .sb-banner a:hover { background: var(--accent-d) !important; }

    .sb-friends li a { color: #777 !important; }
    .sb-friends li a:hover { background: #f0f0f0 !important; color: #111 !important; }

    .sb-all-models { color: #aaa !important; border-color: #e5e5e5 !important; }
    .sb-all-models:hover { background: #f3f3f3 !important; color: #333 !important; border-color: #ccc !important; }

    /* Gallery heading */
    .gallery-heading { border-color: var(--border) !important; }
    .gallery-heading h2 { color: #111 !important; }
    .gallery-heading h2 span { color: var(--accent) !important; }

    /* Intro / toolbar */
    .intro { border-color: var(--border) !important; }
    .intro-title { color: #111 !important; }
    .intro-sub { color: #aaa !important; }

    .sort-drop-btn { color: #555 !important; background: #f5f5f5 !important; border-color: #e0e0e0 !important; font-family: 'Open Sans', sans-serif !important; height: 32px !important; padding: 0 10px !important; box-sizing: border-box !important; }
    .sort-drop-btn:hover { background: #ececec !important; color: #111 !important; border-color: #ccc !important; }
    .sort-drop-btn.open { color: var(--accent) !important; border-color: var(--accent) !important; background: #fff0f0 !important; }
    .sort-drop-menu { background: #fff !important; border-color: var(--border) !important; box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; }
    .sort-opt { color: #777 !important; font-family: 'Open Sans', sans-serif !important; }
    .sort-opt:hover { background: #f5f5f5 !important; color: #111 !important; }
    .sort-opt.active { color: var(--accent) !important; background: #fff0f0 !important; }

    .random-btn { color: #EF4444 !important; border: 2px solid #EF4444 !important; background: #fff !important; width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; box-sizing: border-box !important; padding: 0 !important; border-radius: 6px !important; flex-shrink: 0 !important; }
    .random-btn:hover { background: #EF4444 !important; color: #fff !important; }
    .random-btn svg { stroke: currentColor !important; }
    .col-toggle-tb { color: #bbb !important; border-color: #e5e5e5 !important; }
    .col-toggle-tb:hover { background: #f3f3f3 !important; color: #555 !important; }
    .col-toggle-tb.active { color: var(--accent) !important; border-color: var(--accent) !important; }

    /* Site desc */
    .site-desc { background: #fff !important; border-color: var(--border) !important; }
    .site-desc p { color: #888 !important; }
    .site-desc p strong { color: var(--accent) !important; }

    /* Gallery cards — rounded */
    #gallery-grid { column-gap: 3px !important; }
    #gallery-grid .gallery-card { margin-bottom: 3px !important; }
    #gallery-grid .gallery-card-inner {
      border-radius: 0 !important;
      overflow: hidden !important;
      background: #eee !important;
      box-shadow: none !important;
      transition: box-shadow .2s, transform .2s !important;
    }
    .gallery-card:hover .gallery-card-inner {
      box-shadow: 0 6px 20px rgba(0,0,0,0.14) !important;
    }

    /* Card overlay — lighter gradient on light bg */
    .gc-info { background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 80%) !important; }
    .gc-model { background: var(--accent) !important; border-radius: 6px !important; }
    .gc-save {
      background: rgba(255,255,255,0.9) !important;
      border-color: rgba(0,0,0,0.1) !important;
      color: #555 !important;
      border-radius: 8px !important;
    }
    .gc-save:hover { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }
    .gc-save.saved { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }

    /* Banner card */
    .gallery-card.banner-card .gallery-card-inner { background: #f3f3f3 !important; }
    .banner-label { color: #555 !important; background: rgba(255,255,255,0.85) !important; border-color: rgba(0,0,0,0.1) !important; }

    /* Ad card */
    .gallery-card.ad-script-card .gallery-card-inner { background: #f5f5f5 !important; }

    /* Pagination */
    .pagination { display: flex; gap: 4px; justify-content: center; padding: 28px 0 16px; clear: both; }
    .pagination a, .pagination span { font-size: 13px; font-weight: 600; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 1px solid #ccc; color: #333; border-radius: 3px; transition: all .15s; background: #fff; }
    .pagination a:hover { border-color: #EF4444; color: #EF4444; background: #fff; }
    .pg-active { background: #EF4444 !important; color: #fff !important; border-color: #EF4444 !important; }
    .pg-dots { border: none !important; color: #999 !important; background: transparent !important; font-weight: 400 !important; }

    /* Footer */
    .site-footer { border-color: var(--border) !important; }
    .footer-banner { background: #fafafa !important; border-color: var(--border) !important; }
    .footer-banner h2 { color: #111 !important; }
    .footer-banner h2 strong { color: var(--accent) !important; }
    .footer-banner p { color: #888 !important; }
    .btn-join { background: var(--accent) !important; }
    .btn-join:hover { background: var(--accent-d) !important; }
    .footer-nav a { color: #bbb !important; }
    .footer-nav a:hover { color: var(--accent) !important; }
    .footer-copy { color: #555 !important; font-size: 12px !important; }
    .footer-logo .logo-text-top { color: #111 !important; }
    /* ===== CTA BANNER VARIANTS (cta-v1 ... cta-v10) =====
       Usage: <a href="#" class="cta-banner cta-v1">...</a>
       Inner structure depends on variant — see examples in right sidebar
       Works in any sidebar: left, right, any container
    */

    /* Base container */
    .cta-banner {
      display: block;
      text-decoration: none;
      margin: 0 2px 10px;
      border-radius: 8px;
      transition: opacity .2s, border-color .2s, box-shadow .2s;
      font-family: 'Open Sans', sans-serif;
    }

    /* V1: Red gradient */
    .cta-v1 { background: linear-gradient(135deg, #EF4444, #c0392b); padding: 16px; }
    .cta-v1:hover { opacity: .88; }
    .cta-v1 .cta-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: rgba(255,255,255,.7); text-transform: uppercase; margin-bottom: 6px; }
    .cta-v1 .cta-title { font-size: 16px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 10px; }
    .cta-v1 .cta-btn { background: #fff; color: #EF4444; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 7px; border-radius: 4px; text-align: center; }

    /* V2: White with red left border */
    .cta-v2 { background: #fff; border: 1px solid #e5e5e5; border-left: 4px solid #EF4444; padding: 14px; }
    .cta-v2:hover { box-shadow: 0 2px 12px rgba(239,68,68,.15); border-color: #EF4444; }
    .cta-v2 .cta-title { font-size: 15px; font-weight: 700; color: #111; margin-bottom: 4px; }
    .cta-v2 .cta-sub { font-size: 12px; color: #888; margin-bottom: 10px; line-height: 1.4; }
    .cta-v2 .cta-link { color: #EF4444; font-size: 12px; font-weight: 700; }

    /* V3: Dark minimal */
    .cta-v3 { background: #111; border: 1px solid #2a2a2a; padding: 16px; }
    .cta-v3:hover { border-color: #EF4444; }
    .cta-v3 .cta-label { font-size: 11px; color: #EF4444; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
    .cta-v3 .cta-title { font-size: 14px; color: #fff; font-weight: 600; line-height: 1.3; margin-bottom: 10px; }
    .cta-v3 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .05em; }

    /* V4: Stats 2 columns + button */
    .cta-v4 { background: #fff; border: 1px solid #ebebeb; padding: 14px; }
    .cta-v4:hover { border-color: #EF4444; }
    .cta-v4 .cta-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
    .cta-v4 .cta-stat { text-align: center; }
    .cta-v4 .cta-stat-num { font-size: 18px; font-weight: 700; color: #EF4444; }
    .cta-v4 .cta-stat-lbl { font-size: 10px; color: #aaa; }
    .cta-v4 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 8px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }

    /* V5: Badge + text */
    .cta-v5 { background: #fff; border: 1px solid #ebebeb; overflow: hidden; padding: 0; }
    .cta-v5:hover { border-color: #EF4444; }
    .cta-v5 .cta-head { background: #EF4444; padding: 8px 14px; display: flex; align-items: center; justify-content: space-between; }
    .cta-v5 .cta-head-label { font-size: 11px; font-weight: 700; color: #fff; letter-spacing: .06em; text-transform: uppercase; }
    .cta-v5 .cta-head-pct { font-size: 18px; font-weight: 900; color: #fff; }
    .cta-v5 .cta-body { padding: 12px 14px; }
    .cta-v5 .cta-title { font-size: 13px; font-weight: 600; color: #111; margin-bottom: 4px; }
    .cta-v5 .cta-sub { font-size: 11px; color: #999; margin-bottom: 10px; }
    .cta-v5 .cta-link { color: #EF4444; font-size: 12px; font-weight: 700; }

    /* V6: Heart */
    .cta-v6 { background: #fff5f5; border: 1px solid #ffd5d5; padding: 16px; text-align: center; }
    .cta-v6:hover { border-color: #EF4444; }
    .cta-v6 .cta-icon { font-size: 24px; margin-bottom: 6px; }
    .cta-v6 .cta-title { font-size: 13px; font-weight: 700; color: #111; margin-bottom: 4px; }
    .cta-v6 .cta-sub { font-size: 11px; color: #888; margin-bottom: 10px; }
    .cta-v6 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; letter-spacing: .05em; text-transform: uppercase; }

    /* V7: Horizontal with icon */
    .cta-v7 { background: #fff; border: 1px solid #ebebeb; padding: 12px; display: flex; align-items: center; gap: 10px; }
    .cta-v7:hover { border-color: #EF4444; }
    .cta-v7 .cta-icon-box { width: 36px; height: 36px; background: #EF4444; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .cta-v7 .cta-title { font-size: 12px; font-weight: 700; color: #111; }
    .cta-v7 .cta-link { font-size: 11px; color: #EF4444; font-weight: 600; }

    /* V8: Black with yellow badge */
    .cta-v8 { background: #111; padding: 16px; position: relative; overflow: hidden; }
    .cta-v8:hover { opacity: .88; }
    .cta-v8 .cta-badge { position: absolute; top: 10px; right: -8px; background: #FFD600; color: #111; font-size: 10px; font-weight: 900; padding: 3px 16px 3px 8px; letter-spacing: .04em; }
    .cta-v8 .cta-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 4px; margin-top: 4px; }
    .cta-v8 .cta-sub { font-size: 11px; color: #888; margin-bottom: 12px; }
    .cta-v8 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }

    /* V9: Link row */
    .cta-v9 { border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb; border-radius: 0; padding: 12px 4px; display: flex; align-items: center; justify-content: space-between; }
    .cta-v9:hover { background: #fff5f5; }
    .cta-v9 .cta-title { font-size: 12px; font-weight: 700; color: #111; }
    .cta-v9 .cta-link { font-size: 11px; color: #EF4444; font-weight: 600; }

    /* V10: Timer */
    .cta-v10 { background: #fff; border: 1px solid #ebebeb; padding: 14px; }
    .cta-v10:hover { border-color: #EF4444; }
    .cta-v10 .cta-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: #EF4444; text-transform: uppercase; margin-bottom: 6px; }
    .cta-v10 .cta-timer { display: flex; gap: 4px; margin-bottom: 10px; }
    .cta-v10 .cta-timer-cell { text-align: center; background: #f5f5f5; border-radius: 4px; padding: 4px 6px; flex: 1; }
    .cta-v10 .cta-timer-num { font-size: 16px; font-weight: 700; color: #111; }
    .cta-v10 .cta-timer-lbl { font-size: 9px; color: #aaa; }
    .cta-v10 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }


    /* Scroll up */
    .scroll-up { background: #fff !important; border-color: #e5e5e5 !important; color: #bbb !important; box-shadow: var(--shadow-md) !important; }
    .scroll-up.visible { opacity: 1 !important; pointer-events: all !important; }
    .scroll-up:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

    /* Mobile nav */
    .hamburger span { background: #888 !important; }
    .hamburger.active span { background: var(--accent) !important; }
    .mobile-nav { background: #fff !important; }
    .mobile-nav > a { color: #555 !important; border-color: var(--border) !important; }
    .mobile-nav > a:hover { color: #111 !important; background: #f5f5f5 !important; }
    .mobile-nav-history-head { color: #bbb !important; border-color: var(--border) !important; }
    .mobile-nav-hist-item:hover { background: #f5f5f5 !important; }
    .mobile-nav-hist-thumb { background: #eee !important; }
    .mobile-nav-hist-model { color: var(--accent) !important; }
    .mobile-nav-hist-title { color: #777 !important; }
    .mobile-nav-hist-empty { color: #bbb !important; }
    .mob-section { border-color: var(--border) !important; }
    .mob-section-head { color: #bbb !important; font-family: 'Open Sans', sans-serif !important; }
    .mob-section-head:hover { color: #888 !important; }
    .mob-section-body ul li a { color: #777 !important; border-color: var(--border) !important; }
    .mob-section-body ul li a:hover { color: #111 !important; background: #f5f5f5 !important; }
    .mobile-nav-link { color: #777 !important; border-color: var(--border) !important; }
    .mobile-nav-link:hover { color: #111 !important; background: #f5f5f5 !important; }

    /* Mobile sidebar */
    .sidebar.right { border-color: var(--border) !important; box-shadow: -8px 0 24px rgba(0,0,0,0.1) !important; }
    .sb-right-overlay { background: rgba(0,0,0,0.2) !important; }

    /* Fix dark hardcoded colors */
    .history-drop-list::-webkit-scrollbar-thumb { background: #ddd !important; }

    /* ===== SIDEBAR MOMLOVER STYLE ===== */
    .sidebar { background: #fff !important; border-color: #e0e0e0 !important; overflow-y: auto !important; max-height: calc(100vh - var(--header-h)) !important; }
    .sidebar-inner { padding: 0 !important; width: 100% !important; }
    .sb-section { margin-bottom: 0 !important; border-bottom: 1px solid #ebebeb !important; }
    .sb-title { font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: #aaa !important; padding: 12px 16px 6px !important; border-bottom: none !important; margin-bottom: 0 !important; }
    .sb-nav { gap: 0 !important; }
    .sb-nav a { padding: 10px 16px !important; font-size: 14px !important; font-weight: 400 !important; color: #212529 !important; border-radius: 0 !important; border-bottom: 1px solid #f2f2f2 !important; background: transparent !important; }
    .sb-nav a:hover { background: #f7f7f7 !important; color: #000 !important; }
    .sb-nav a.active { background: #EF4444 !important; color: #fff !important; font-weight: 600 !important; border-bottom-color: #EF4444 !important; }
    .sb-nav a.active .icon { opacity: 1 !important; stroke: #fff !important; }
    .sb-nav .icon { opacity: 0.3 !important; }
    .sb-nav .count { color: #ccc !important; font-size: 11px !important; }
    .sb-models { padding: 4px 0 !important; }
    .sb-model { border-color: #f0f0f0 !important; padding: 7px 16px !important; }
    .sb-model-rank { color: #ccc !important; }
    .sb-model-name { color: #212529 !important; font-size: 13px !important; }
    .sb-model { cursor: pointer !important; transition: background .12s !important; }
    .sb-model:hover { background: #f7f7f7 !important; color: #000 !important; border-color: transparent !important; }
    .sb-model:hover .sb-model-name { color: #000 !important; font-weight: 600 !important; }
    .sb-model:hover .sb-model-rank { color: #EF4444 !important; }
    .sb-model-cnt { color: #bbb !important; }
    .sb-all-models { color: #888 !important; border-color: #e0e0e0 !important; margin: 8px 12px !important; width: calc(100% - 24px) !important; border-radius: 4px !important; font-size: 12px !important; }
    .sb-all-models:hover { background: #f5f5f5 !important; color: #333 !important; border-color: #ccc !important; }
    .sb-tags { padding: 6px 12px 12px !important; }
    .sb-tags a { background: #f5f5f5 !important; border-color: #e5e5e5 !important; color: #555 !important; }
    .sb-tags a:hover, .sb-tags a.active { border-color: #EF4444 !important; color: #EF4444 !important; background: #fff0f0 !important; }
    .sb-filters { padding: 6px 16px 12px !important; }
    .sb-check { color: #555 !important; }
    .sb-check:hover { color: #111 !important; }
    .sb-empty { color: #bbb !important; padding: 6px 16px !important; }
    .sb-hist-item { padding: 6px 16px !important; color: #777 !important; }
    .sb-hist-item:hover { background: #f5f5f5 !important; color: #333 !important; }
    .sb-hist-thumb { background: #eee !important; }
    .sb-hist-name { color: #555 !important; }
    .sb-banner { background: #fff0f0 !important; border-color: rgba(239,68,68,0.2) !important; margin: 10px !important; }
    .sb-banner p { color: #777 !important; }
    .sb-banner strong { color: #EF4444 !important; }
    .sb-friends li a { color: #555 !important; border-radius: 0 !important; padding: 9px 16px !important; border-bottom: 1px solid #f2f2f2 !important; }
    .sb-friends li a:hover { background: #f7f7f7 !important; color: #111 !important; }
    .gallery-heading { background: #fff !important; border-color: #e5e5e5 !important; }
    .gallery-heading h2 { color: #111 !important; }
    .gallery-heading h2 span { color: #EF4444 !important; }
    .sidebar.right { background: #fff !important; border-color: #e0e0e0 !important; box-shadow: -4px 0 16px rgba(0,0,0,0.08) !important; }

    /* Footer bottom — crisp text */
    .footer-bottom { border-top: 1px solid #e5e5e5 !important; padding: 20px !important; }
    .footer-nav a { color: #333 !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .05em !important; }
    .footer-nav a:hover { color: #EF4444 !important; }
    .footer-copy { color: #555 !important; font-size: 12px !important; }
    .footer-logo .logo-text-top { color: #111 !important; }
    /* ===== CTA BANNER VARIANTS (cta-v1 ... cta-v10) =====
       Usage: <a href="#" class="cta-banner cta-v1">...</a>
       Inner structure depends on variant — see examples in right sidebar
       Works in any sidebar: left, right, any container
    */

    /* Base container */
    .cta-banner {
      display: block;
      text-decoration: none;
      margin: 0 2px 10px;
      border-radius: 8px;
      transition: opacity .2s, border-color .2s, box-shadow .2s;
      font-family: 'Open Sans', sans-serif;
    }

    /* V1: Red gradient */
    .cta-v1 { background: linear-gradient(135deg, #EF4444, #c0392b); padding: 16px; }
    .cta-v1:hover { opacity: .88; }
    .cta-v1 .cta-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: rgba(255,255,255,.7); text-transform: uppercase; margin-bottom: 6px; }
    .cta-v1 .cta-title { font-size: 16px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 10px; }
    .cta-v1 .cta-btn { background: #fff; color: #EF4444; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 7px; border-radius: 4px; text-align: center; }

    /* V2: White with red left border */
    .cta-v2 { background: #fff; border: 1px solid #e5e5e5; border-left: 4px solid #EF4444; padding: 14px; }
    .cta-v2:hover { box-shadow: 0 2px 12px rgba(239,68,68,.15); border-color: #EF4444; }
    .cta-v2 .cta-title { font-size: 15px; font-weight: 700; color: #111; margin-bottom: 4px; }
    .cta-v2 .cta-sub { font-size: 12px; color: #888; margin-bottom: 10px; line-height: 1.4; }
    .cta-v2 .cta-link { color: #EF4444; font-size: 12px; font-weight: 700; }

    /* V3: Dark minimal */
    .cta-v3 { background: #111; border: 1px solid #2a2a2a; padding: 16px; }
    .cta-v3:hover { border-color: #EF4444; }
    .cta-v3 .cta-label { font-size: 11px; color: #EF4444; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
    .cta-v3 .cta-title { font-size: 14px; color: #fff; font-weight: 600; line-height: 1.3; margin-bottom: 10px; }
    .cta-v3 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .05em; }

    /* V4: Stats 2 columns + button */
    .cta-v4 { background: #fff; border: 1px solid #ebebeb; padding: 14px; }
    .cta-v4:hover { border-color: #EF4444; }
    .cta-v4 .cta-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
    .cta-v4 .cta-stat { text-align: center; }
    .cta-v4 .cta-stat-num { font-size: 18px; font-weight: 700; color: #EF4444; }
    .cta-v4 .cta-stat-lbl { font-size: 10px; color: #aaa; }
    .cta-v4 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 8px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }

    /* V5: Badge + text */
    .cta-v5 { background: #fff; border: 1px solid #ebebeb; overflow: hidden; padding: 0; }
    .cta-v5:hover { border-color: #EF4444; }
    .cta-v5 .cta-head { background: #EF4444; padding: 8px 14px; display: flex; align-items: center; justify-content: space-between; }
    .cta-v5 .cta-head-label { font-size: 11px; font-weight: 700; color: #fff; letter-spacing: .06em; text-transform: uppercase; }
    .cta-v5 .cta-head-pct { font-size: 18px; font-weight: 900; color: #fff; }
    .cta-v5 .cta-body { padding: 12px 14px; }
    .cta-v5 .cta-title { font-size: 13px; font-weight: 600; color: #111; margin-bottom: 4px; }
    .cta-v5 .cta-sub { font-size: 11px; color: #999; margin-bottom: 10px; }
    .cta-v5 .cta-link { color: #EF4444; font-size: 12px; font-weight: 700; }

    /* V6: Heart */
    .cta-v6 { background: #fff5f5; border: 1px solid #ffd5d5; padding: 16px; text-align: center; }
    .cta-v6:hover { border-color: #EF4444; }
    .cta-v6 .cta-icon { font-size: 24px; margin-bottom: 6px; }
    .cta-v6 .cta-title { font-size: 13px; font-weight: 700; color: #111; margin-bottom: 4px; }
    .cta-v6 .cta-sub { font-size: 11px; color: #888; margin-bottom: 10px; }
    .cta-v6 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; letter-spacing: .05em; text-transform: uppercase; }

    /* V7: Horizontal with icon */
    .cta-v7 { background: #fff; border: 1px solid #ebebeb; padding: 12px; display: flex; align-items: center; gap: 10px; }
    .cta-v7:hover { border-color: #EF4444; }
    .cta-v7 .cta-icon-box { width: 36px; height: 36px; background: #EF4444; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .cta-v7 .cta-title { font-size: 12px; font-weight: 700; color: #111; }
    .cta-v7 .cta-link { font-size: 11px; color: #EF4444; font-weight: 600; }

    /* V8: Black with yellow badge */
    .cta-v8 { background: #111; padding: 16px; position: relative; overflow: hidden; }
    .cta-v8:hover { opacity: .88; }
    .cta-v8 .cta-badge { position: absolute; top: 10px; right: -8px; background: #FFD600; color: #111; font-size: 10px; font-weight: 900; padding: 3px 16px 3px 8px; letter-spacing: .04em; }
    .cta-v8 .cta-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 4px; margin-top: 4px; }
    .cta-v8 .cta-sub { font-size: 11px; color: #888; margin-bottom: 12px; }
    .cta-v8 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }

    /* V9: Link row */
    .cta-v9 { border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb; border-radius: 0; padding: 12px 4px; display: flex; align-items: center; justify-content: space-between; }
    .cta-v9:hover { background: #fff5f5; }
    .cta-v9 .cta-title { font-size: 12px; font-weight: 700; color: #111; }
    .cta-v9 .cta-link { font-size: 11px; color: #EF4444; font-weight: 600; }

    /* V10: Timer */
    .cta-v10 { background: #fff; border: 1px solid #ebebeb; padding: 14px; }
    .cta-v10:hover { border-color: #EF4444; }
    .cta-v10 .cta-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: #EF4444; text-transform: uppercase; margin-bottom: 6px; }
    .cta-v10 .cta-timer { display: flex; gap: 4px; margin-bottom: 10px; }
    .cta-v10 .cta-timer-cell { text-align: center; background: #f5f5f5; border-radius: 4px; padding: 4px 6px; flex: 1; }
    .cta-v10 .cta-timer-num { font-size: 16px; font-weight: 700; color: #111; }
    .cta-v10 .cta-timer-lbl { font-size: 9px; color: #aaa; }
    .cta-v10 .cta-btn { background: #EF4444; color: #fff; font-size: 11px; font-weight: 700; padding: 7px; border-radius: 4px; text-align: center; letter-spacing: .06em; text-transform: uppercase; }


    /* Theme toggle icon */

    /* Mobile: restore original header height */
    @media (max-width: 900px) {
      :root { --header-h: 58px !important; }
      .sb-toggle { width: 36px !important; height: 36px !important; }
      .hicon { width: 36px !important; height: 36px !important; }
      .logo-text-top { font-size: 20px !important; color: #111 !important; display: block !important; }
      .logo-text { display: flex !important; }
      .logo-link { flex: 1; min-width: 0; }
      /* Fixed header on mobile */
      .site-header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 300 !important; }
      /* Padding below fixed header */
      body { padding-top: 58px !important; }
      /* Right sidebar — position and scroll fix */
      .sidebar.right {
        top: 58px !important;
        height: calc(100vh - 58px) !important;
        overflow-y: auto !important;
        background: #fff !important;
      }
    }

    /* Join button V5 */
    .btn-join-v5 {
      display: inline-block;
      background: transparent;
      color: #EF4444;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: 12px 32px;
      border: 2px solid #EF4444;
      border-radius: 4px;
      text-decoration: none;
      transition: background .2s, color .2s;
    }
    .btn-join-v5:hover {
      background: #EF4444 !important;
      color: #fff !important;
    }

    /* ===== DARK MODE ===== */
    html.dark-mode body { background: #0d0d0d !important; color: #eee !important; }
    html.dark-mode .site-header { background: #111 !important; border-color: #222 !important; }
    html.dark-mode .logo-text-top { color: #fff !important; }
    html.dark-mode .logo-text-top span { color: #EF4444 !important; }
    html.dark-mode .logo-text-bot { color: #888 !important; }
    html.dark-mode .main-nav a:not(.nav-discount) { color: #bbb !important; }
    html.dark-mode .main-nav a:hover { background: #EF4444 !important; color: #fff !important; }
    html.dark-mode .sb-toggle { color: #bbb !important; }
    html.dark-mode .sb-toggle:hover { background: #1e1e1e !important; color: #fff !important; }
    html.dark-mode .hicon { color: #999 !important; }
    html.dark-mode .hicon:hover { background: #1e1e1e !important; color: #fff !important; }
    html.dark-mode .history-close-btn { background: #222 !important; color: #aaa !important; }
    html.dark-mode .history-close-btn:hover { background: #2a2a2a !important; color: #fff !important; }
    html.dark-mode .header-search form { background: #2a2a2a !important; border-color: #444 !important; }
    html.dark-mode .header-search input { color: #fff !important; }
    html.dark-mode .header-search input::placeholder { color: #999 !important; }
    html.dark-mode .header-search-icon { color: #aaa !important; }
    html.dark-mode .header-search-submit { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
    html.dark-mode .sidebar { background: #141414 !important; border-color: #252525 !important; overflow-y: auto !important; max-height: calc(100vh - var(--header-h)) !important; }
    html.dark-mode .sb-title { color: #aaa !important; }
    html.dark-mode .sb-nav a { color: #bbb !important; border-color: #1a1a1a !important; background: transparent !important; }
    html.dark-mode .sb-nav a:hover { background: #1c1c1c !important; color: #fff !important; }
    html.dark-mode .sb-nav a.active { background: #EF4444 !important; color: #fff !important; }
    html.dark-mode .sb-section { border-color: #222 !important; }
    html.dark-mode .sb-model { border-color: #1a1a1a !important; }
    html.dark-mode .sb-model:hover { background: #1e1e1e !important; }
    html.dark-mode .sb-model-name { color: #bbb !important; }
    html.dark-mode .sb-model:hover .sb-model-name { color: #fff !important; }
    html.dark-mode .sb-model-rank { color: #888 !important; }
    html.dark-mode .sb-model-cnt { color: #999 !important; }
    html.dark-mode .sb-tags a { background: #1a1a1a !important; border-color: #333 !important; color: #aaa !important; }
    html.dark-mode .sb-tags a:hover { border-color: #EF4444 !important; color: #EF4444 !important; background: #1a0000 !important; }
    html.dark-mode .sb-all-models { border-color: #333 !important; color: #aaa !important; background: transparent !important; }
    html.dark-mode .sb-all-models:hover { background: #1e1e1e !important; color: #ccc !important; }
    html.dark-mode .sb-friends li a { color: #bbb !important; border-color: #222 !important; }
    html.dark-mode .sb-friends li a:hover { background: #1e1e1e !important; color: #fff !important; }
    html.dark-mode .sb-empty { color: #999 !important; }
    html.dark-mode .sb-hist-item { color: #ccc !important; }
    html.dark-mode .sb-hist-item:hover { background: #1e1e1e !important; color: #eee !important; }
    html.dark-mode .sb-hist-name { color: #ccc !important; }
    html.dark-mode .sb-hist-thumb { background: #2a2a2a !important; }
    html.dark-mode .gallery-heading { background: #111 !important; border-color: #222 !important; }
    html.dark-mode .gallery-heading h2 { color: #fff !important; }
    html.dark-mode .intro { border-color: #222 !important; background: #0d0d0d !important; }
    html.dark-mode .intro-title { color: #fff !important; }
    html.dark-mode .intro-sub { color: #999 !important; }
    html.dark-mode .sort-drop-btn { background: #181818 !important; border-color: #252525 !important; color: #bbb !important; }
    html.dark-mode .sort-drop-btn:hover { background: #222 !important; color: #eee !important; }
    html.dark-mode .sort-drop-menu { background: #161616 !important; border-color: #252525 !important; }
    html.dark-mode .sort-opt { color: #999 !important; }
    html.dark-mode .sort-opt:hover { background: #1e1e1e !important; color: #fff !important; }
    html.dark-mode .random-btn { background: transparent !important; border-color: #EF4444 !important; color: #EF4444 !important; }
    html.dark-mode .random-btn:hover { background: #EF4444 !important; color: #fff !important; }
    html.dark-mode .col-toggle-tb { border-color: #333 !important; color: #aaa !important; }
    html.dark-mode .site-desc { background: #111 !important; border-color: #222 !important; }
    html.dark-mode .site-desc p { color: #bbb !important; }
    html.dark-mode .gallery-card-inner { background: #161616 !important; }
    html.dark-mode .link-bar { background: #111 !important; border-color: #222 !important; }
    html.dark-mode .link-bar a { background: #1a1a1a !important; border-color: #252525 !important; color: #bbb !important; }
    html.dark-mode .link-bar a:hover { background: #222 !important; color: #fff !important; border-color: #333 !important; }
    html.dark-mode .pagination a, html.dark-mode .pagination span { border-color: #333 !important; color: #aaa !important; background: #111 !important; }
    html.dark-mode .pagination a:hover { border-color: #EF4444 !important; color: #EF4444 !important; }
    html.dark-mode .site-footer { border-color: #222 !important; }
    html.dark-mode .footer-bottom { border-color: #222 !important; background: #0d0d0d !important; }
    html.dark-mode .footer-nav a { color: #aaa !important; }
    html.dark-mode .footer-nav a:hover { color: #EF4444 !important; }
    html.dark-mode .footer-copy { color: #888 !important; }
    html.dark-mode .footer-logo .logo-text-top { color: #eee !important; }
    html.dark-mode .scroll-up { background: #1a1a1a !important; border-color: #333 !important; color: #888 !important; }
    html.dark-mode .history-drop { background: #161616 !important; border-color: #252525 !important; }
    html.dark-mode .history-drop-head { color: #999 !important; border-color: #252525 !important; }
    html.dark-mode .history-drop-item:hover { background: #1e1e1e !important; }
    html.dark-mode .history-drop-title { color: #eee !important; }
    html.dark-mode .history-drop-empty { color: #888 !important; }
    html.dark-mode .search-drop { background: #161616 !important; border-color: #252525 !important; }
    html.dark-mode .search-drop input { background: #1e1e1e !important; border-color: #252525 !important; color: #fff !important; }
    html.dark-mode .mobile-nav { background: #111 !important; }
    html.dark-mode .mobile-nav > a { color: #bbb !important; border-color: #222 !important; }
    html.dark-mode .mobile-nav > a:hover { background: #1a1a1a !important; color: #fff !important; }
    html.dark-mode .mob-section { border-color: #222 !important; }
    html.dark-mode .mob-section-head { color: #bbb !important; }
    html.dark-mode .mob-section-body ul li a { color: #bbb !important; border-color: #222 !important; }
    html.dark-mode .mob-section-body ul li a:hover { background: #1a1a1a !important; color: #fff !important; }

    /* Dark mode — footer banner V5 */
    html.dark-mode .fb-v5 { background: #111 !important; border-color: #222 !important; }
    html.dark-mode .fb-v5 p { color: #888 !important; }
    html.dark-mode .fb-v5 h2 { color: #eee !important; }
    html.dark-mode .btn-join-v5 { color: #EF4444 !important; border-color: #EF4444 !important; background: transparent !important; }
    html.dark-mode .btn-join-v5:hover { background: #EF4444 !important; color: #fff !important; }
    /* Dark mode — sort dropdown */
    html.dark-mode .sort-drop-btn.open { background: #1a1a1a !important; border-color: #EF4444 !important; color: #EF4444 !important; }
    html.dark-mode .sort-opt.active { background: #1a0000 !important; color: #EF4444 !important; }
    /* Dark mode — nav count */
    html.dark-mode .sb-nav .count { color: #aaa !important; }
    html.dark-mode .sb-nav a.active .count { color: rgba(255,255,255,0.8) !important; }
    /* Dark mode — history drop model */
    html.dark-mode .history-drop-model { color: #EF4444 !important; }
    /* Dark mode — search drop */
    html.dark-mode .search-drop button[type=submit] { background: #EF4444 !important; color: #fff !important; }
    /* Dark mode — mobile nav hist */
    html.dark-mode .mobile-nav-hist-title { color: #ccc !important; }
    html.dark-mode .mobile-nav-hist-empty { color: #888 !important; }

    /* ===== CTA BANNERS — DARK MODE ===== */

    /* V1: gradient — keep as-is, already dark */
    html.dark-mode .cta-v1 { opacity: .9; }

    /* V2: white → dark */
    html.dark-mode .cta-v2 { background: #1a1a1a !important; border-color: #2a2a2a !important; border-left-color: #EF4444 !important; }
    html.dark-mode .cta-v2:hover { box-shadow: 0 2px 12px rgba(239,68,68,.2) !important; border-color: #EF4444 !important; }
    html.dark-mode .cta-v2 .cta-title { color: #eee !important; }
    html.dark-mode .cta-v2 .cta-sub { color: #888 !important; }

    /* V3: already dark — slightly lighter border */
    html.dark-mode .cta-v3 { border-color: #333 !important; }

    /* V4: white → dark */
    html.dark-mode .cta-v4 { background: #1a1a1a !important; border-color: #2a2a2a !important; }
    html.dark-mode .cta-v4:hover { border-color: #EF4444 !important; }
    html.dark-mode .cta-v4 .cta-stat-lbl { color: #777 !important; }

    /* V5: white → dark */
    html.dark-mode .cta-v5 { background: #1a1a1a !important; border-color: #2a2a2a !important; }
    html.dark-mode .cta-v5:hover { border-color: #EF4444 !important; }
    html.dark-mode .cta-v5 .cta-title { color: #eee !important; }
    html.dark-mode .cta-v5 .cta-sub { color: #888 !important; }

    /* V6: pinkish → dark */
    html.dark-mode .cta-v6 { background: #1a0a0a !important; border-color: #3a1515 !important; }
    html.dark-mode .cta-v6:hover { border-color: #EF4444 !important; }
    html.dark-mode .cta-v6 .cta-title { color: #eee !important; }
    html.dark-mode .cta-v6 .cta-sub { color: #888 !important; }

    /* V7: white → dark */
    html.dark-mode .cta-v7 { background: #1a1a1a !important; border-color: #2a2a2a !important; }
    html.dark-mode .cta-v7:hover { border-color: #EF4444 !important; }
    html.dark-mode .cta-v7 .cta-title { color: #eee !important; }

    /* V8: already dark — no changes */

    /* V9: white borders → dark */
    html.dark-mode .cta-v9 { border-color: #2a2a2a !important; }
    html.dark-mode .cta-v9:hover { background: #1a0a0a !important; }
    html.dark-mode .cta-v9 .cta-title { color: #eee !important; }

    /* V10: white → dark */
    html.dark-mode .cta-v10 { background: #1a1a1a !important; border-color: #2a2a2a !important; }
    html.dark-mode .cta-v10:hover { border-color: #EF4444 !important; }
    html.dark-mode .cta-v10 .cta-timer-cell { background: #242424 !important; }
    html.dark-mode .cta-v10 .cta-timer-num { color: #eee !important; }
    html.dark-mode .cta-v10 .cta-timer-lbl { color: #777 !important; }
    html.dark-mode a { color: inherit !important; }
    html.dark-mode a:hover { color: #888; }
    html.dark-mode .gallery-heading h2 span { color: #EF4444 !important; }

    /* ── Force white text on red buttons in light mode ── */
    html:not(.dark-mode) .rev-cta-btn,
    html:not(.dark-mode) .rev-cta-btn:hover,
    html:not(.dark-mode) .model-more-btn,
    html:not(.dark-mode) .model-more-btn:hover,
    html:not(.dark-mode) .btn-join,
    html:not(.dark-mode) .btn-join:hover,
    html:not(.dark-mode) .btn-join-v5,
    html:not(.dark-mode) a.rev-cta-btn,
    html:not(.dark-mode) a.model-more-btn,
    html:not(.dark-mode) a.btn-join { color: #fff !important; }

    /* ── btn-join-v5 fix light mode ── */
    html:not(.dark-mode) .btn-join-v5 {
      color: #EF4444 !important;
      background: transparent !important;
      border-color: #EF4444 !important;
    }
    html:not(.dark-mode) .btn-join-v5:hover {
      background: #EF4444 !important;
      color: #fff !important;
    }
  
html.dark-mode .nav-discount,
html.dark-mode .nav-discount:hover {
  color: #fff !important;
}
html.dark-mode .nav-discount svg {
  stroke: #fff !important;
  fill: none !important;
}
html.dark-mode .nav-discount svg circle[fill="currentColor"],
html.dark-mode .nav-discount svg path[fill="currentColor"] {
  fill: #fff !important;
}

/* ── 50% Discount button ── */
.nav-discount,
.nav-discount:link,
.nav-discount:visited,
.nav-discount:hover,
html.dark-mode .nav-discount,
html.dark-mode .nav-discount:hover,
html:not(.dark-mode) .nav-discount,
html:not(.dark-mode) .nav-discount:hover {
  background: var(--red) !important;
  color: #ffffff !important;
  border: none !important;
  position: relative !important;
  overflow: visible !important;
}
.nav-discount svg,
html.dark-mode .nav-discount svg,
html:not(.dark-mode) .nav-discount svg {
  opacity: 1 !important;
  stroke: #ffffff !important;
}
.nav-discount::before,
.nav-discount::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  border: 1.5px solid var(--red);
  opacity: 0;
  pointer-events: none;
  animation: ripple-out 2s ease-out infinite;
}
.nav-discount::after { animation-delay: 1s; }
@keyframes ripple-out {
  0%   { inset: 0px;  opacity: 0.75; }
  100% { inset: -9px; opacity: 0; border-radius: 12px; }
}
/* Mobile */
html.dark-mode .main-nav a.nav-discount,
html.dark-mode .mobile-nav-link.mobile-discount,
.mobile-nav-link.mobile-discount {
  color: #fff !important;
  font-weight: 700 !important;
  background: rgba(242,46,75,0.08) !important;
  border-left: 3px solid var(--red) !important;
}

/* Mobile discount - dark mode bright */
html.dark-mode .mobile-nav-link.mobile-discount {
  color: #ff2d55 !important;
  background: rgba(255,45,85,0.12) !important;
  border-left: 3px solid #ff2d55 !important;
  font-weight: 700 !important;
}
html:not(.dark-mode) .mobile-nav-link.mobile-discount {
  color: #EF4444 !important;
  background: rgba(239,68,68,0.08) !important;
  border-left: 3px solid #EF4444 !important;
  font-weight: 700 !important;
}

/* ── header-search adaptive shrink ── */
@media (max-width:1400px) { .header-search { max-width:240px; } }
@media (max-width:1280px) { .header-search { max-width:180px; } }
@media (max-width:1150px) { .header-search { max-width:180px; } }
@media (max-width:1060px) { .header-search { max-width:180px; } }