/*!
 * style.css - http://kodester.com/
 * Version - 2.5.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2026 Kasanova
 */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
--bg:#080808;
--s1:#0c0c0c;
--s2:#111;
--s3:#161616;
--s4:#1c1c1c;
--s5:#232323;
--bd:#1a1a1a;
--bd2:#252525;
--bd3:#333;
--tx:#e8e8e8;
--tx2:#808080;
--tx3:#444;
--tx4:#333;
--grn:#088755;
--grn2:#0aa464;
--grn3:#066f46;
--grng:rgba(8,135,85,.1);
--grng2:rgba(8,135,85,.06);
--rd:#e74c3c;
--blu:#3b82f6;
--ylw:#eab308;
--pur:#a855f7;
--r:8px;
--r1:50%;
--r2:12px;
--r3:16px;
--r4:12px 12px 0 0;
--r5:0 0 12px 12px;
--r6:12px 12px 0 0}

[data-theme="light"]{
--bg:#f0f0f0;
--s1:#f7f7f7;
--s2:#fff;
--s3:#fafafa;
--s4:#f0f0f0;
--s5:#e8e8e8;
--bd:#ddd;
--bd2:#ccc;
--bd3:#bbb;
--tx:#111;
--tx2:#666;
--tx3:#aaa;
--tx4:#ccc;
--grng:rgba(8,135,85,.07);
--grng2:rgba(8,135,85,.04)}

html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.5;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{font-family:inherit}input,select{font-family:inherit}

::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:10px}

/* ===== HEADER ===== */
.hdr{background:var(--s1);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:999;overflow:visible}
.hdr-top{display:grid;grid-template-columns:260px 1fr 260px;align-items:center;height:48px;border-bottom:1px solid var(--bd);max-width:1440px;margin:0 auto;width:100%;padding:0 16px;overflow:visible}
.hdr-top .left{display:flex;align-items:center;gap:12px}
.hdr-top .center{display:flex;align-items:center;gap:8px;padding-left:24px}
.hdr-top .right{display:flex;align-items:center;gap:12px;justify-content:flex-end;overflow:visible;flex-wrap:nowrap;position:relative}
@media(max-width:768px){.hdr-top{display:flex;justify-content:space-between;padding:0 16px;overflow:visible}.hdr-top .left{gap:6px;padding-right:16px}.hdr-top .center{display:none}.hdr-top .right{overflow:visible;position:relative;flex-shrink:0;min-width:0;gap:8px}}
@media(min-width:769px){.hdr-top .mob-hdr{display:none}.hdr-top .right>#hdrSearchMob{display:none}}
.hdr-top .logo img{height:20px}
.hdr-top .logo .dk{display:block}.hdr-top .logo .lt{display:none}
.hdr-top .logo .mob-logo{display:none}
[data-theme="light"] .hdr-top .logo .dk{display:none}[data-theme="light"] .hdr-top .logo .lt{display:block}
.hdr-search-btn{flex-shrink:0}
/* Desktop inline search */
.hdr-search-inline{display:flex;align-items:center;gap:0;flex-shrink:0}
/* Wrapper for input + Ctrl K badge */
.hdr-search-inline .s-input-wrap{position:relative;display:flex;align-items:center;flex:1}
.hdr-search-inline .s-input-wrap input{width:0;height:32px;background:var(--s3);border:1px solid var(--bd);border-radius:var(--r);padding:0;font-size:.8rem;color:var(--tx);outline:none;transition:border-color .2s,opacity .2s;opacity:0;pointer-events:none;display:block;min-width:0}
.hdr-search-inline .s-icon{color:var(--tx3);font-size:.85rem;z-index:2;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--bd);background:none;transition:color .2s,border-color .2s;flex-shrink:0}
.hdr-search-inline .s-icon:hover{color:var(--grn);border-color:var(--grn)}
/* Ctrl+K badge — lives inside .s-input-wrap, hidden until search is open */
.hdr-search-inline .s-kbd{display:flex;align-items:center;gap:3px;position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;z-index:3;visibility:hidden;opacity:0;transition:opacity .2s}
.hdr-search-inline .s-kbd-hint{font-size:.6rem;font-weight:600;color:var(--tx3);background:var(--s4);border:1px solid var(--bd2);border-radius:4px;padding:1px 5px;line-height:1.4;white-space:nowrap}
.hdr-search-inline .s-kbd-icon{font-size:.72rem;color:var(--tx3)}
.hdr-search-inline.on .s-kbd{visibility:visible;opacity:1}
.hdr-search-inline .s-close{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:.82rem;z-index:2;display:none;padding:0;width:26px;height:26px;align-items:center;justify-content:center;transition:color .15s;flex-shrink:0;margin-left:4px}
.hdr-search-inline .s-close:hover{color:var(--rd)}
/* When open: expand the input wrapper, input fills it with padding for badge */
.hdr-search-inline.on .s-input-wrap{margin-left:6px}
.hdr-search-inline.on .s-input-wrap input{width:200px;padding:0 68px 0 10px;border-color:var(--grn);opacity:1;pointer-events:auto}
.hdr-search-inline.on .s-close{display:flex}
/* Mobile search: input wraps full width when open */
.hdr-search-inline.mob-search.on .s-input-wrap{flex:1}
.hdr-search-inline.mob-search.on .s-input-wrap input{width:100%}
/* mob-search: hidden on desktop, shown on mobile inside .left */
.hdr-search-inline.mob-search{display:none}
@media(max-width:768px){
  .hdr-search-inline.mob-search{display:flex;margin-left:6px}
  .hdr-search-inline.mob-search.on{flex:1;margin-left:0;gap:0}
  .hdr-search-inline.mob-search.on .s-input-wrap{flex:1;margin-left:6px}
  .hdr-search-inline.mob-search.on .s-input-wrap input{width:100%}
  /* hide logo & hamburger inside .left when mobile search is open */
  .hdr-top .left.search-open .logo,
  .hdr-top .left.search-open .mob-hdr{display:none}
  /* hide right-side items when mob search is open */
  .hdr-top .right.search-open .sell-btn,
  .hdr-top .right.search-open .hdr-icon-wrap,
  .hdr-top .right.search-open .hdr-avatar-btn,
  .hdr-top .right.search-open .hdr-btn{display:none}
}
@media(min-width:769px){.hdr-search-inline.mob-search{display:none!important}}
/* .right flex set in hdr-top rules above */
.hdr-menu{display:flex;align-items:center;gap:4px;margin-left:16px;flex-shrink:0;opacity:1;pointer-events:auto}
.hdr-menu a{padding:4px 10px;font-size:.82rem;font-weight:600;color:var(--grn);border-radius:var(--r);transition:.15s;white-space:nowrap}
.hdr-menu a:hover{background:var(--grng);color:var(--grn2)}
/* Hide hdr-menu when search is open */
.hdr-top .center.search-open .hdr-menu{display:none}
/* Sell button aligned to rightbar boundary */
.sell-btn{margin-right:0}
.hdr-btn{height:32px;box-sizing:border-box;display:inline-flex;align-items:center;gap:5px;padding:0 14px;font-size:.75rem;font-weight:600;border:none;border-radius:var(--r);cursor:pointer;transition:.2s;white-space:nowrap}
.hdr-btn.fill{background:var(--grn);color:#fff}.hdr-btn.fill:hover{background:var(--grn2)}
.hdr-btn.out{background:#fff;color:var(--grn3);border:1px solid var(--bd)}.hdr-btn.out:hover{background:var(--grng);border-color:var(--grn);color:var(--grn)}
/* Sell button pill — declared AFTER .hdr-btn to win cascade */
.hdr-btn.sell-btn{height:32px;box-sizing:border-box;padding:0 10px;border-radius:50%;font-size:.75rem}
[data-theme="light"] .hdr-btn.out{background:#fff;color:var(--grn3);border:1px solid var(--bd2)}
.hdr-icon{width:32px;height:32px;border-radius:50%;border:2px solid var(--bd);background:none;color:var(--tx2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:.85rem}
.hdr-icon:hover{border-color:var(--grn);color:var(--grn)}
[data-theme="dark"] .hdr-icon .bi-sun-fill{display:none}
[data-theme="light"] .hdr-icon .bi-moon-fill{display:none}
.hdr-bot{display:flex;align-items:center;padding:0 16px;height:38px;gap:0;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.hdr-bot::-webkit-scrollbar{display:none}
.hdr-bot a{flex-shrink:0;padding:0 14px;font-size:.76rem;font-weight:500;color:var(--tx2);height:38px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:.15s;white-space:nowrap}
.hdr-bot a:hover,.hdr-bot a.on{color:var(--tx);border-color:var(--grn)}
.hdr-bot a.on{font-weight:700}

/* ===== APP LAYOUT ===== */
.app{display:grid;grid-template-columns:260px 1fr 260px;max-width:1440px;margin:0 auto;min-height:calc(100vh - 48px);column-gap:0;padding:0 16px}

/* ===== LEFT SIDEBAR ===== */
.lsb{background:var(--s1);padding:20px 14px;align-self:start;position:sticky;top:48px;max-height:calc(100vh - 48px);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}
.lsb::-webkit-scrollbar{display:none}
.lsb-profile{position:relative;border-radius:var(--r3);margin-bottom:20px;text-align:center;overflow:hidden;background:var(--s2)}
.lsb-profile .cover{width:100%;height:80px;background:url('/assets/users/default-cover.jpg') center/cover no-repeat;position:relative}
.lsb-profile .cover::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,var(--s2))}
.lsb-profile .cover-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.lsb-profile .cover-canvas i{position:absolute;color:var(--tx);pointer-events:none}
[data-theme="light"] .lsb-profile .cover-canvas i{color:var(--grn)}
.lsb-profile .p-body{padding:0 12px 14px;margin-top:-18px;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}
.lsb-profile .p-body img{width:46px;height:46px;border-radius:50%;border:3px solid var(--s2)}
.lsb-profile .info{width:100%;min-width:0;overflow:hidden}.lsb-profile .info .name{font-size:.84rem;font-weight:700;word-break:normal;overflow-wrap:break-word;line-height:1.35;color:var(--tx)}.lsb-profile .info .role{font-size:.68rem;color:var(--tx3);line-height:1.3;margin-top:1px}
.lsb-profile .badges{display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}
.lsb-profile .badge{font-size:.58rem;font-weight:700;padding:2px 7px;border-radius:10px;white-space:nowrap}
.lsb-profile .badge.pro{background:var(--grng);color:var(--grn)}
.lsb-profile .badge.seller{background:rgba(234,179,8,.1);color:var(--ylw)}
.lsb-profile .desc{font-size:.7rem;color:var(--tx2);line-height:1.4;margin-top:2px;word-break:normal;overflow-wrap:break-word}
.lsb-profile .soc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:2px;max-width:186px;margin-left:auto;margin-right:auto}
.lsb-profile .soc a{width:26px;height:26px;border-radius:50%;background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--tx3);font-size:.72rem;transition:.2s}
.lsb-profile .soc a:hover{background:var(--grng);color:var(--grn)}

/* ===== HERO BANNER ===== */
.hero-slider{position:relative;border-radius:var(--r3);margin-bottom:16px;overflow:hidden;height:220px}
.hero-banner{position:relative;border-radius:var(--r3);padding:40px 24px 36px;text-align:center;overflow:hidden;height:100%}
.hero-bg{position:absolute;inset:0;z-index:0;border-radius:var(--r3);overflow:hidden}
.hero-bg-layer{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;will-change:opacity,transform;opacity:0}
.hero-bg-layer.active{opacity:1}
.hero-banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.75);z-index:1;border-radius:var(--r3)}
.hero-banner::after{content:'';position:absolute;bottom:-50px;left:20%;width:120px;height:120px;background:rgba(255,255,255,.03);border-radius:50%}
.hero-banner h1{font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:8px;position:relative;z-index:2;line-height:1.35;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.hero-banner p{font-size:.85rem;color:rgba(255,255,255,.75);position:relative;z-index:2;line-height:1.5;max-width:500px;margin:0 auto;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.hero-text.hide h1,.hero-text.hide p{opacity:0;transform:translateY(8px)}
.hero-text.show h1,.hero-text.show p{opacity:1;transform:translateY(0)}
.hero-banner .hero-acts{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;position:relative;z-index:2}
.hero-banner .hero-btn{height:36px;padding:0 20px;font-size:.78rem;font-weight:700;border:none;border-radius:var(--r);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.2s}
.hero-banner .hero-btn.primary{background:#fff;color:var(--grn3)}.hero-banner .hero-btn.primary:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.hero-banner .hero-btn.green{background:var(--grn);color:#fff}.hero-banner .hero-btn.green:hover{background:var(--grn2);transform:translateY(-1px)}
.hero-banner .hero-pattern{position:absolute;inset:0;opacity:.04;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
@media(max-width:768px){.hero-slider{height:200px}.hero-banner{padding:28px 16px 24px}.hero-banner h1{font-size:1.1rem}.hero-banner p{font-size:.8rem}}
@media(max-width:480px){.hero-slider{height:190px}.hero-banner{padding:20px 14px 16px}.hero-banner h1{font-size:.95rem}.hero-banner p{font-size:.72rem}.hero-banner .hero-btn{height:36px;padding:0 14px;font-size:.72rem}.hero-banner .hero-acts{gap:6px;margin-top:10px}}

.lsb-nav{margin-bottom:24px}
.lsb-nav .title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--tx4);padding:0 10px;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.lsb-nav .title .t-badge{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0}
.lsb-nav .title .t-badge.browse{background:var(--grng);color:var(--grn)}
.lsb-nav .title .t-badge.library{background:rgba(59,130,246,.1);color:var(--blu)}
.lsb-nav a{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;color:var(--tx2);border-radius:var(--r);transition:.15s;margin-bottom:1px}
.lsb-nav a i{font-size:.88rem;width:18px;text-align:center;color:var(--tx3)}
.lsb-nav a:hover{background:var(--s3);color:var(--tx)}
.lsb-nav a:hover i{color:var(--tx2)}
.lsb-nav a.on{background:var(--grng);color:var(--grn);font-weight:600}
.lsb-nav a.on i{color:var(--grn)}
.lsb-nav a .cnt{margin-left:auto;font-size:.7rem;font-weight:700;background:var(--s4);padding:2px 10px;border-radius:10px;color:var(--tx)}
.lsb-divider{height:1px;background:var(--bd);margin:16px 0}
.lsb-filter{margin-bottom:18px}
.lsb-filter .ft{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--tx4);padding:0 10px;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.lsb-filter .ft .f-badge{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0}
.lsb-filter .ft .f-badge.cat{background:rgba(168,85,247,.1);color:var(--pur)}
.lsb-filter .ft .f-badge.price{background:rgba(234,179,8,.1);color:var(--ylw)}
.lsb-filter .ft .f-badge.rate{background:rgba(255,152,0,.1);color:#ff9800}
.lsb-filter .ft .f-badge.tags{background:rgba(8,135,85,.1);color:var(--grn)}
.lsb-filter .ft button{background:none;border:none;color:var(--grn);font-size:.62rem;font-weight:600;cursor:pointer;margin-left:auto}
.lsb-opt{display:flex;align-items:center;gap:7px;padding:5px 10px;font-size:.78rem;color:var(--tx2);cursor:pointer;border-radius:var(--r);transition:.15s}
.lsb-opt:hover{background:var(--s3);color:var(--tx)}
.lsb-opt input[type="checkbox"],.lsb-opt input[type="radio"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--bd2);border-radius:4px;background:var(--s3);cursor:pointer;flex-shrink:0;transition:.15s;position:relative}
.lsb-opt input[type="radio"]{border-radius:50%}
.lsb-opt input[type="checkbox"]:checked,.lsb-opt input[type="radio"]:checked{background:var(--grn);border-color:var(--grn)}
.lsb-opt input[type="checkbox"]:checked::after{content:'';position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.lsb-opt input[type="radio"]:checked::after{content:'';position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:#fff}
.lsb-opt:has(input:checked){color:var(--tx);background:var(--grng)}
.lsb-range{padding:0 10px;margin-top:4px}
.lsb-range input{width:100%;height:30px;background:var(--s3);border:none;border-radius:var(--r);padding:0 10px;font-size:.75rem;color:var(--tx);outline:none;margin-bottom:4px}
.lsb-range input:focus{box-shadow:0 0 0 1px var(--grn)}
.lsb-range .go{width:100%;height:28px;font-size:.7rem}
.lsb-tags{padding:4px 10px;display:flex;flex-wrap:wrap;gap:5px}
.lsb-tag{padding:4px 10px;background:var(--s3);border:none;border-radius:20px;font-size:.65rem;color:var(--tx2);cursor:pointer;transition:.15s}
.lsb-tag:hover,.lsb-tag.on{background:var(--grng);color:var(--grn)}
.lsb-ad{background:linear-gradient(135deg,var(--grng),var(--grng2));border-radius:var(--r3);padding:20px 16px;text-align:center;margin-top:16px}
.lsb-ad h4{font-size:.85rem;font-weight:700;margin-bottom:4px;color:var(--tx)}
.lsb-ad p{font-size:.7rem;color:var(--tx2);margin-bottom:12px;line-height:1.4}
.lsb-ad .btn{background:var(--grn);color:#fff;font-size:.72rem;font-weight:700;height:30px;border:none;border-radius:var(--r);cursor:pointer;padding:0 16px;transition:.2s}
.lsb-ad .btn:hover{background:var(--grn2)}

/* ===== MAIN CONTENT ===== */
.main{padding:20px 24px;min-width:0}

/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--tx3);margin-bottom:12px}
.breadcrumb a{color:var(--tx3);transition:.15s}
.breadcrumb a:hover{color:var(--grn)}
.breadcrumb .sep{font-size:.6rem}
.breadcrumb .current{color:var(--tx);font-weight:600}

/* Flash Sale Banner */
.flash-banner{background:linear-gradient(135deg,var(--grn3) 0%,var(--grn) 50%,var(--grn2) 100%);border-radius:var(--r4);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;position:relative;overflow:hidden;flex-wrap:wrap;min-height:auto}
.flash-banner::before{content:'';position:absolute;top:-20px;right:-20px;width:120px;height:120px;background:rgba(255,255,255,.06);border-radius:50%}
.flash-banner::after{content:'';position:absolute;bottom:-30px;right:60px;width:80px;height:80px;background:rgba(255,255,255,.04);border-radius:50%}
.flash-l{display:flex;align-items:center;gap:12px;flex:1;position:relative;z-index:1;min-width:0}
.flash-icon{width:38px;height:38px;background:rgba(255,255,255,.15);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;flex-shrink:0}
.flash-txt h3{font-size:.85rem;font-weight:800;color:#fff;margin-bottom:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.flash-txt h3 span{font-size:.58rem;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.flash-txt p{font-size:.7rem;color:rgba(255,255,255,.8)}
.flash-txt code{background:rgba(255,255,255,.18);padding:1px 6px;border-radius:3px;font-weight:700;font-size:.76rem;letter-spacing:.5px}
.flash-r{display:flex;align-items:center;gap:8px;position:relative;z-index:1;flex-shrink:1;flex-wrap:wrap;min-width:0}
.flash-timer{display:flex;align-items:center;gap:3px}
.flash-timer .t{background:rgba(0,0,0,.25);color:#fff;font-size:.72rem;font-weight:700;padding:3px 6px;border-radius:4px;min-width:28px;text-align:center}
.flash-timer .sep{color:rgba(255,255,255,.6);font-weight:700;font-size:.7rem}
.flash-copy{height:30px;padding:0 12px;background:#fff;color:var(--grn3);border:none;border-radius:var(--r);font-size:.72rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:.2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;flex-shrink:1}
.flash-copy:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}

/* SECTION HEAD */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
.sec-head h2{font-size:1.05rem;font-weight:700}
.sec-head .sec-right{display:flex;align-items:center;gap:6px}
.sec-head a{font-size:.74rem;font-weight:600;color:var(--grn);transition:.15s}
.sec-head a:hover{color:var(--grn2)}
.sec-head .sep-v{width:1px;height:14px;background:var(--bd2)}
.vbtn{width:28px;height:28px;border-radius:var(--r);border:1px solid var(--bd);background:var(--s2);color:var(--tx3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;font-size:.78rem}
.vbtn:hover{border-color:var(--grn);color:var(--grn)}
.vbtn.on{background:var(--grn);color:#fff;border-color:var(--grn)}
.sec-foot{text-align:center;margin-top:12px}
.sec-foot a{font-size:.76rem;font-weight:600;color:var(--grn);display:inline-flex;align-items:center;gap:4px;transition:.15s}
.sec-foot a:hover{color:var(--grn2);gap:6px}

/* PRODUCT GRID */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}
.pgrid.list{grid-template-columns:1fr;gap:8px}
.pgrid.list .pc{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto;align-items:center}
.pgrid.list .pc-img{aspect-ratio:1/1;height:auto;min-height:auto;border-radius:var(--r3) 0 0 var(--r3);overflow:hidden}
.pgrid.list .pc-body{display:flex;flex-direction:column;justify-content:center;padding:6px 10px}
.pgrid.list .pc-body .cat{margin-bottom:2px}
.pgrid.list .pc-body h3{font-size:.75rem;line-height:1.3;margin-bottom:3px;-webkit-line-clamp:1}
.pgrid.list .pc-body .auth{margin-bottom:4px;font-size:.65rem}
.pgrid.list .pc-foot{padding-top:6px;border-top:1px solid var(--bd)}
.pgrid.list .pc-foot .dl-btn{height:24px;font-size:.65rem;padding:0 10px}

/* PRODUCT CARD */
.pc{background:var(--s2);border-radius:var(--r3);overflow:hidden;transition:.25s;cursor:pointer}
.pc:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.pc-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--s3)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pc:hover .pc-img img{transform:scale(1.05)}
.pc-img .badge{position:absolute;bottom:0;left:0;padding:2px 7px;border-radius:0 3px 3px 0;font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pc-img .badge.featured{background:var(--ylw);color:#000}
.pc-img .badge.popular{background:var(--pur);color:#fff}
.pc-img .badge.sale{background:var(--rd);color:#fff}
.pc-img .badge.new{background:var(--grn);color:#fff}
.pc-img .badge.free{background:var(--blu);color:#fff}
.pc-img .acts{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:.25s}
.pc:hover .pc-img .acts{opacity:1}
.pc-img .acts button{width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.72rem;transition:.15s}
.pc-img .acts button:hover{background:var(--grn);transform:scale(1.1)}
.pc-img .acts button.liked{color:var(--rd)}
.pc-body{padding:12px 14px 14px}
.pc-body .cat{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--grn);margin-bottom:4px}
.pc-body h3{font-size:.8rem;font-weight:700;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-body .auth{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--tx3);margin-bottom:10px}
.pc-body .auth img{width:16px;height:16px;border-radius:50%}
.pc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--bd)}
.pc-foot .pr{font-size:.9rem;font-weight:800}
.pc-foot .pr .old{font-size:.68rem;color:var(--tx3);text-decoration:line-through;font-weight:400;margin-left:3px}
.pc-foot .rt{display:flex;align-items:center;gap:1px;font-size:.65rem;color:var(--tx3)}
.pc-foot .rt i{color:#ff9800;font-size:.58rem}
.pc-foot .rt .star-empty{color:var(--tx4)!important;font-size:.58rem}
.pc-foot .rt .no-rate{color:var(--tx4);font-style:italic;font-size:.6rem;font-weight:400}
.pc-foot .rt b{color:var(--tx2);font-weight:600;margin-left:3px}
.pc-foot .rt .bi-arrow-down-circle{margin-right:4px}
.pc-foot .auth .seller-badge{font-size:.62rem;color:var(--blu);margin-left:2px}

/* DOWNLOAD BUTTON (Free Files) */
.dl-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 12px;background:var(--grn);color:#fff;border:none;border-radius:var(--r);font-size:.68rem;font-weight:700;cursor:pointer;transition:.2s;font-family:inherit;white-space:nowrap}
.dl-btn:hover{background:var(--grn2);transform:translateY(-1px)}
.dl-btn i{font-size:.72rem}

/* PAGINATION */
.pagi{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:20px}
.pagi button{min-width:34px;height:34px;border-radius:var(--r);border:1px solid var(--bd);background:var(--s2);color:var(--tx2);font-size:.78rem;font-weight:500;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;padding:0 6px}
.pagi button:hover{border-color:var(--grn);color:var(--grn)}.pagi button.on{background:var(--grn);color:#fff;border-color:var(--grn)}
.pagi .dots{font-size:.75rem;color:var(--tx3);display:flex;align-items:center}

/* ===== RIGHT SIDEBAR ===== */
.rsb{background:var(--s1);padding:20px 14px;align-self:start;position:sticky;top:48px;max-height:calc(100vh - 48px);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}
.rsb::-webkit-scrollbar{display:none}
.rsb-box{margin-bottom:20px}
.rsb-box .ht{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--tx4);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.rsb-box .ht .r-badge{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0}
.rsb-box .ht .r-badge.cart{background:var(--grng);color:var(--grn)}
.rsb-box .ht .r-badge.trend{background:rgba(231,76,60,.1);color:var(--rd)}
.rsb-box .ht .r-badge.creator{background:rgba(59,130,246,.1);color:var(--blu)}
.rsb-box .ht .r-badge.stats{background:rgba(234,179,8,.1);color:var(--ylw)}
.rsb-box .ht .r-badge.news{background:rgba(168,85,247,.1);color:var(--pur)}
.rsb-box .ht a{font-size:.68rem;color:var(--grn);text-transform:none;letter-spacing:0;font-weight:600;margin-left:auto}
.rsb-divider{height:1px;background:var(--bd);margin:14px 0}
/* Cart summary */
.rsb-cart .item{display:flex;gap:10px;padding:8px 0}
.item .num{width:18px;font-size:.68rem;font-weight:800;color:var(--tx4);flex-shrink:0;padding-top:7px}
.rsb-cart .item img{width:44px;height:32px;border-radius:6px;object-fit:cover}
.rsb-cart .item .info{flex:1;min-width:0}.rsb-cart .item .info .n{font-size:.74rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsb-cart .item .info .p{font-size:.72rem;color:var(--grn);font-weight:700}
.rsb-cart .item .rm{background:none;border:none;color:var(--tx4);cursor:pointer;font-size:.7rem;padding:2px;transition:.15s}
.rsb-cart .item .rm:hover{color:var(--rd)}
.rsb-cart .total{display:flex;justify-content:space-between;padding-top:12px;margin-top:4px}
.rsb-cart .total .l{font-size:.78rem;color:var(--tx2)}.rsb-cart .total .r{font-size:.92rem;font-weight:800}
.rsb-cart .checkout{width:100%;height:34px;background:var(--grn);color:#fff;border:none;border-radius:var(--r);font-size:.78rem;font-weight:600;cursor:pointer;margin-top:10px;transition:.2s;display:flex;align-items:center;justify-content:center;gap:6px}
.rsb-cart .checkout:hover{background:var(--grn2);transform:translateY(-1px)}
/* Trending */
.trend-item{display:flex;gap:10px;padding:7px 0;cursor:pointer}
.trend-item .num{width:18px;font-size:.68rem;font-weight:800;color:var(--tx4);flex-shrink:0;padding-top:10px}
.trend-item img{width:38px;height:38px;border-radius:var(--r);object-fit:cover;flex-shrink:0}
.trend-item .info{flex:1;min-width:0}
.trend-item .info .n{font-size:.76rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s}
.trend-item .info .n:hover{color:var(--grn)}
.trend-item .info .m{font-size:.65rem;color:var(--tx3)}
.trend-item .info .m span{color:var(--grn);font-weight:600}
/* Creators */
.creator-item{display:flex;align-items:center;gap:10px;padding:7px 0}
.creator-item img{width:30px;height:30px;border-radius:50%;flex-shrink:0}
.creator-item .info{flex:1;min-width:0}
.creator-item .info .n{font-size:.76rem;font-weight:600;word-break:normal;overflow-wrap:break-word;line-height:1.3;display:flex;align-items:center;gap:4px}
.creator-item .info .m{font-size:.65rem;color:var(--tx3)}
.creator-item .follow{font-size:.64rem;color:var(--grn);font-weight:600;cursor:pointer;padding:4px 12px;border-radius:20px;background:var(--grng);transition:.15s;border:none}
.creator-item .follow:hover{background:var(--grn);color:#fff}
.creator-item .follow.following{background:var(--grng)}
/* Stats mini */
.stat-mini{display:flex;justify-content:space-between;gap:8px}
.stat-mini .sm{text-align:center;flex:1}
.stat-mini .sm .n{font-size:1rem;font-weight:800;color:var(--grn)}
.stat-mini .sm .l{font-size:.6rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px}
/* Newsletter */
.rsb-newsletter{text-align:center;padding:20px 14px;background:linear-gradient(135deg,var(--grng),var(--grng2));border-radius:var(--r3)}
.rsb-newsletter .nl-icon{width:36px;height:36px;border-radius:50%;background:var(--grn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;margin:0 auto 10px}
.rsb-newsletter .ht{justify-content:center;color:var(--tx);font-size:.68rem;letter-spacing:1.2px;margin-bottom:6px}
.rsb-newsletter .nl-desc{font-size:.72rem;color:var(--tx3);line-height:1.5;margin-bottom:12px}
.rsb-newsletter .nl-form{display:flex;gap:6px}
.rsb-newsletter .nl-form input{flex:1;min-width:0;height:32px;background:var(--s2);border:none;border-radius:var(--r);padding:0 10px;font-size:.74rem;color:var(--tx);outline:none}
.rsb-newsletter .nl-form input:focus{box-shadow:0 0 0 1px var(--grn)}
.rsb-newsletter .nl-form input::placeholder{color:var(--tx4)}
.rsb-newsletter .nl-btn{width:32px;height:32px;border-radius:var(--r);background:var(--grn);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:.2s;flex-shrink:0}
.rsb-newsletter .nl-btn:hover{background:var(--grn2);transform:scale(1.05)}

/* ===== CATEGORY NAV (center only) ===== */
.cat-nav{display:flex;align-items:center;gap:0;padding:10px 0;border-bottom:1px solid var(--bd);margin-bottom:14px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.cat-nav::-webkit-scrollbar{display:none}
.cat-nav a{flex-shrink:0;padding:8px 14px;font-size:.78rem;font-weight:500;color:var(--tx2);border-radius:var(--r);transition:.15s;white-space:nowrap;display:flex;align-items:center;gap:5px}
.cat-nav a:hover{background:var(--s3);color:var(--tx)}
.cat-nav a.on{background:var(--grng);color:var(--grn);font-weight:700}
.cat-nav a i{font-size:.85rem}

/* ===== FOOTER (inside main content) ===== */
.ftr{border-top:1px solid var(--bd);margin-top:24px;padding:28px 0 0}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;margin-bottom:20px}
.ftr-brand{display:flex;flex-direction:column;gap:10px}
.ftr-brand .ftr-logo img{height:14px}
.ftr-brand .ftr-logo .dk{display:block}.ftr-brand .ftr-logo .lt{display:none}
[data-theme="light"] .ftr-brand .ftr-logo .dk{display:none}[data-theme="light"] .ftr-brand .ftr-logo .lt{display:block}
.ftr-brand .ftr-desc{font-size:.78rem;color:var(--tx2);line-height:1.65}
.ftr-soc{display:flex;gap:6px}
.ftr-soc a{width:30px;height:30px;border-radius:50%;background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--tx3);font-size:.8rem;transition:.2s}
.ftr-soc a:hover{background:var(--grng);color:var(--grn)}
.ftr-cols-row{display:contents}
.ftr-col h5{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--tx);margin-bottom:10px}
.ftr-col ul{list-style:none}
.ftr-col ul li{margin-bottom:6px}
.ftr-col ul li a{font-size:.76rem;color:var(--tx3);transition:.15s;display:flex;align-items:center;gap:4px}
.ftr-col ul li a:hover{color:var(--grn)}
.ftr-col ul li a i{font-size:.6rem;opacity:.5}
.ftr-bot{border-top:1px solid var(--bd);padding:14px 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ftr-bot .ftr-soc{order:0}
.ftr-bot .ftr-copy{font-size:.78rem;color:var(--tx3);order:1;text-align:center;line-height:2}
.ftr-links{order:2;flex-wrap:wrap;justify-content:center;display:flex;gap:16px}
.ftr-links a{font-size:.75rem;color:var(--tx3);transition:.15s}
.ftr-links a:hover{color:var(--grn)}
@media(max-width:1024px){.ftr-grid{grid-template-columns:1fr;gap:18px}.ftr-brand{grid-column:1;text-align:center}.ftr-brand .ftr-logo img{margin:0 auto}.ftr-brand .ftr-desc{margin:0 auto}.ftr-cols-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}}
@media(max-width:600px){.ftr-brand .ftr-logo img{height:24px}.ftr-cols-row{grid-template-columns:1fr 1fr 1fr;gap:10px}.ftr-cols-row .ftr-col{text-align:center}.ftr-cols-row .ftr-col h5{font-size:.78rem;margin-bottom:8px}.ftr-cols-row .ftr-col ul{list-style:none;padding:0!important;margin:0!important}.ftr-cols-row .ftr-col ul li{display:flex!important;justify-content:center!important;margin-bottom:4px;padding:0!important}.ftr-cols-row .ftr-col ul li a{font-size:.68rem;display:inline!important;text-align:center;padding:0!important;margin:0!important;gap:0!important}.ftr-cols-row .ftr-col ul li a i{display:none!important;width:0!important;height:0!important;overflow:hidden;font-size:0!important}.ftr-links{gap:10px}}

/* ===== MOBILE ===== */
.mob-drawer{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.5)}
.mob-drawer.on{display:block}
.mob-panel{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--s1);z-index:1001;padding:16px;transform:translateX(-100%);transition:.3s;overflow-y:auto}
.mob-drawer.on .mob-panel{transform:translateX(0)}
.mob-close{background:none;border:none;color:var(--tx);font-size:1.2rem;cursor:pointer;margin-bottom:12px}
.mob-panel .dk{display:block}.mob-panel .lt{display:none}
[data-theme="light"] .mob-panel .dk{display:none}[data-theme="light"] .mob-panel .lt{display:block}
.mob-panel .mob-search{margin-bottom:16px}
.mob-panel .mob-search input{width:100%;height:34px;background:var(--s3);border:1px solid var(--bd);border-radius:var(--r);padding:0 12px;font-size:.82rem;color:var(--tx);outline:none}
.mob-panel .mob-nav a{display:flex;align-items:center;gap:8px;padding:9px 8px;font-size:.85rem;color:var(--tx2);border-radius:var(--r)}
.mob-panel .mob-nav a i{width:20px;text-align:center}
.mob-panel .mob-nav a.on{color:var(--grn);font-weight:600;background:var(--grng)}

/* ===== HEADER DROPDOWN ===== */
.hdr-icon-wrap{flex-shrink:0}
.hdr-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;width:260px;max-width:calc(100vw - 24px);background:var(--s2);border:1px solid var(--bd);border-radius:var(--r2);box-shadow:0 12px 40px rgba(0,0,0,.3);z-index:99999;overflow:hidden}
.hdr-dropdown.on{display:block;animation:ddFade .15s ease}
@keyframes ddFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.hdr-dd-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--bd)}
.hdr-dd-head h4{font-size:.78rem;font-weight:700}
.hdr-dd-head a{font-size:.68rem;color:var(--grn);font-weight:600;cursor:pointer}
.hdr-dd-head a:hover{color:var(--grn2)}
.hdr-dd-list{max-height:280px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}
.hdr-dd-list::-webkit-scrollbar{display:none}
.hdr-dd-item{display:flex;gap:10px;padding:10px 14px;cursor:pointer;transition:.15s;border-bottom:1px solid var(--bd)}
.hdr-dd-item:last-child{border-bottom:none}
.hdr-dd-item:hover{background:var(--s3)}
.hdr-dd-item.unread{background:var(--grng)}
.hdr-dd-item.unread:hover{background:var(--grng)}
.hdr-dd-item .avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;object-fit:cover}
.hdr-dd-item .avatar.icon{background:var(--s4);display:flex;align-items:center;justify-content:center;color:var(--grn);font-size:.9rem}
.hdr-dd-item .body{flex:1;min-width:0}
.hdr-dd-item .body .name{font-size:.76rem;font-weight:700;color:var(--tx);margin-bottom:1px;word-break:normal;overflow-wrap:break-word;line-height:1.3;display:flex;align-items:center;gap:4px}
.hdr-dd-item .body .msg{font-size:.7rem;color:var(--tx2);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-dd-item .body .meta{font-size:.62rem;color:var(--tx3);margin-top:2px}
.hdr-dd-item .unread-dot{width:7px;height:7px;background:var(--grn);border-radius:50%;flex-shrink:0;margin-top:6px}
.hdr-dd-item .notif-icon{width:34px;height:34px;border-radius:var(--r);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.hdr-dd-item .notif-icon.green{background:var(--grng);color:var(--grn)}
.hdr-dd-item .notif-icon.blue{background:rgba(59,130,246,.1);color:var(--blu)}
.hdr-dd-item .notif-icon.yellow{background:rgba(234,179,8,.1);color:var(--ylw)}
.hdr-dd-item .notif-icon.red{background:rgba(231,76,60,.1);color:var(--rd)}
.hdr-dd-foot{text-align:center;padding:8px;border-top:1px solid var(--bd)}
.hdr-dd-foot a{font-size:.72rem;color:var(--grn);font-weight:600;cursor:pointer}
.hdr-dd-foot a:hover{color:var(--grn2)}
.hdr-dd-empty{text-align:center;padding:30px 14px;color:var(--tx3)}
.hdr-dd-empty i{font-size:1.5rem;margin-bottom:6px;display:block}
.hdr-dd-empty p{font-size:.74rem}

/* ===== DROPDOWN LOADING ===== */
.hdr-dd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 14px;color:var(--tx3)}
.hdr-dd-loading .spinner{width:28px;height:28px;border:3px solid var(--bd);border-top-color:var(--grn);border-radius:50%;animation:ddSpin .6s linear infinite;margin-bottom:10px}
@keyframes ddSpin{to{transform:rotate(360deg)}}
.hdr-dd-loading p{font-size:.72rem;color:var(--tx3)}

/* ===== SELLER BADGE ===== */
.seller-badge{display:inline-flex;align-items:center;color:var(--ylw);flex-shrink:0;margin-left:2px}
.seller-badge .bi-patch-check-fill{font-size:.78rem}

/* ===== USER AVATAR BUTTON (TOPBAR) ===== */
.hdr-avatar-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--bd);background:none;padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;transition:.2s;display:flex;align-items:center;justify-content:center}
.hdr-avatar-btn:hover{border-color:var(--grn)}
.hdr-avatar-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ===== USER DROPDOWN ===== */
.hdr-user-profile{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--bd);background:var(--s3)}
.hdr-user-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--bd);flex-shrink:0}
.hdr-user-info{flex:1;min-width:0}
.hdr-user-name{font-size:.82rem;font-weight:700;color:var(--tx);display:flex;align-items:center;gap:4px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-user-meta{font-size:.68rem;color:var(--tx2);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.hdr-user-badge{font-size:.55rem;font-weight:700;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px}
.hdr-user-badge.pro{background:var(--grng);color:var(--grn)}
.hdr-user-badge.seller{background:rgba(234,179,8,.12);color:var(--ylw)}
.hdr-user-menu{padding:6px 0}
.hdr-user-item{display:flex;align-items:center;gap:9px;padding:8px 14px;font-size:.78rem;color:var(--tx2);transition:.15s;cursor:pointer}
.hdr-user-item i{font-size:.88rem;width:16px;text-align:center;color:var(--tx3);transition:.15s}
.hdr-user-item:hover{background:var(--s3);color:var(--tx)}
.hdr-user-item:hover i{color:var(--grn)}
.hdr-user-divider{height:1px;background:var(--bd);margin:5px 0}
.hdr-user-logout{color:var(--rd)}
.hdr-user-logout i{color:var(--rd)}
.hdr-user-logout:hover{background:rgba(231,76,60,.08);color:var(--rd)}
.hdr-user-logout:hover i{color:var(--rd)}
/* ===== DROPDOWN BACKDROP (MOBILE) ===== */
body.dd-open::after{content:'';position:fixed;inset:0;z-index:998;background:rgba(0,0,0,.3);display:none;-webkit-tap-highlight-color:transparent}
@media(max-width:768px){body.dd-open::after{display:block}}

/* ===== BLOG GRID ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:0}
.blog-card{background:var(--s2);border-radius:var(--r3);overflow:hidden;transition:.25s;cursor:pointer}
.blog-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.blog-card .blog-img{aspect-ratio:16/9;overflow:hidden;background:var(--s3)}
.blog-card .blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-card .blog-body{padding:14px 16px 16px}
.blog-card .blog-meta{display:flex;align-items:center;gap:8px;font-size:.62rem;color:var(--tx3);margin-bottom:8px}
.blog-card .blog-meta span{display:flex;align-items:center;gap:3px}
.blog-card .blog-meta .blog-tag{background:var(--grng);color:var(--grn);font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;font-size:.58rem}
.blog-card .blog-body h3{font-size:.84rem;font-weight:700;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .blog-body p{font-size:.74rem;color:var(--tx2);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .blog-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:10px;border-top:1px solid var(--bd)}
.blog-card .blog-foot .blog-author{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--tx3)}
.blog-card .blog-foot .blog-author img{width:20px;height:20px;border-radius:50%}
.blog-card .blog-foot .blog-read{font-size:.64rem;font-weight:600;color:var(--grn);transition:.15s}
.blog-card .blog-foot .blog-read:hover{color:var(--grn2)}
@media(max-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:480px){.blog-grid{grid-template-columns:1fr;gap:10px}}

/* ===== FORUM POSTS ===== */
.forum-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:0}
.forum-card{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r2);padding:14px 16px;display:flex;gap:14px;align-items:flex-start;transition:.2s;cursor:pointer}
.forum-card:hover{border-color:var(--bd2);background:var(--s3)}
.forum-avatar{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;width:52px}
.forum-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.forum-avatar .u-name{font-size:.62rem;font-weight:600;color:var(--tx);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}
.forum-body{flex:1;min-width:0}
.forum-body h3{font-size:.8rem;font-weight:700;line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--tx);transition:.15s}
.forum-card:hover .forum-body h3{color:var(--grn)}
.forum-body p{font-size:.72rem;color:var(--tx2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
.forum-meta{display:flex;align-items:center;gap:8px;font-size:.6rem;color:var(--tx3);flex-wrap:wrap}
.forum-meta span{display:inline-flex;align-items:center;gap:3px}
.forum-meta .f-tag{background:var(--grng);color:var(--grn);font-weight:700;padding:2px 8px;border-radius:10px;font-size:.56rem;text-transform:uppercase;letter-spacing:.5px}
.forum-meta .f-tag.help{background:rgba(234,179,8,.1);color:var(--ylw)}
.forum-meta .f-tag.discuss{background:rgba(168,85,247,.1);color:var(--pur)}
.forum-meta .f-tag.showcase{background:rgba(59,130,246,.1);color:var(--blu)}
.forum-meta .f-tag.feedback{background:rgba(231,76,60,.1);color:var(--rd)}
.forum-stats{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}
.forum-stat{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px}
.forum-stat .num{font-size:.82rem;font-weight:800;color:var(--tx)}
.forum-stat .label{font-size:.52rem;color:var(--tx4);text-transform:uppercase;letter-spacing:.5px}
.forum-stat .num.has-reply{color:var(--grn)}

/* RESPONSIVE */
@media(max-width:1200px){
  .app{grid-template-columns:240px 1fr 240px;padding:0 12px}
  .hdr-top{grid-template-columns:240px 1fr auto;padding:0 12px}
  .hdr-top .center{padding-left:18px}
  .main{padding:16px 18px}
  .flash-banner{flex-direction:column;align-items:stretch;flex-wrap:wrap}.flash-r{width:100%;justify-content:space-between}
}
@media(max-width:1024px){
  .lsb{display:none}.rsb{display:none}.app{grid-template-columns:1fr;padding:0}
  .pgrid{grid-template-columns:repeat(4,1fr);gap:12px}
  .hdr-top{grid-template-columns:auto 1fr auto}
  .hdr-top .left{min-width:0}.hdr-top .left .logo{flex-shrink:0}
  .hdr-top .center{padding-left:14px;min-width:0;overflow:hidden}
  .hdr-top .center .hdr-menu{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
  .hdr-top .center .hdr-menu::-webkit-scrollbar{display:none}
  .hdr-top .right{flex-shrink:0}
  .main{padding:16px 14px}
}
@media(max-width:768px){
  .lsb{display:none}.app{grid-template-columns:1fr;padding:0}
  .hdr-top .left .logo{display:block}
  .hdr-top .logo .dk,.hdr-top .logo .lt{display:none!important}
  .hdr-top .logo .mob-logo{display:block!important}
  .hdr-top .right{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-shrink:1;min-width:0}
  .hdr-top .right .hdr-btn{flex-shrink:0}
  .hdr-top .right .hdr-icon-wrap{flex-shrink:0}
  .hdr-top .right .hdr-icon{flex-shrink:0}
  .hdr-top .right #hdrSearchMob{flex-shrink:0}
  .hdr-top .right #hdrSearchMob .s-icon{border:none;border-radius:0;background:none}
  .hdr-dropdown{top:calc(100% + 8px);right:0;left:auto;width:calc(100vw - 16px);max-width:none}
  .hdr-dd-list{max-height:55vh;overflow-y:auto}
  .hdr-dd-item .body .msg{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}
  .pc-foot{border-top:none;padding-top:6px}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .pgrid.list .pc{grid-template-columns:80px 1fr}
  .pgrid.list .pc-body{padding:4px 8px}
  .pgrid.list .pc-body .auth{margin-bottom:2px}
  .pgrid.list .pc-foot{padding-top:4px}
  .pgrid.list .pc-foot .dl-btn{height:22px;font-size:.6rem;padding:0 8px}
  .flash-banner{padding:14px 16px;gap:12px;flex-direction:column;align-items:stretch}
  .flash-l{gap:10px}
  .flash-icon{width:34px;height:34px;font-size:.9rem}
  .flash-txt h3{font-size:.78rem}
  .flash-txt p{font-size:.65rem}
  .flash-r{width:100%;justify-content:space-between;gap:10px}
  .flash-copy{height:34px;min-height:34px;font-size:.68rem;padding:0 14px}
  .flash-timer .t{min-width:26px;padding:3px 5px;font-size:.68rem}
  .flash-timer .sep{font-size:.66rem}
  .main{padding:16px}
  .breadcrumb{font-size:.72rem;margin-bottom:14px}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .forum-card{gap:10px;padding:10px 12px}
  .forum-avatar{width:46px}
  .forum-avatar img{width:36px;height:36px}
  .forum-avatar .u-name{font-size:.58rem}
  .forum-stats{flex-direction:row;justify-content:flex-end;padding-top:0;min-width:auto;border:none}
  .forum-stat .num{font-size:.76rem}
  .forum-body h3{font-size:.76rem;-webkit-line-clamp:1}
  .forum-body p{font-size:.68rem;-webkit-line-clamp:1;margin-bottom:4px}
  .ftr{margin-top:24px;padding:20px 0 16px}
  .ftr-desc{font-size:.78rem;max-width:100%}
  .ftr-bot{flex-direction:column;text-align:center;gap:8px}
  .ftr-links{justify-content:center;flex-wrap:wrap;gap:8px 14px}
}
@media(max-width:480px){
  .hdr-dropdown{position:fixed;top:48px;left:0;right:0;width:100%;max-width:none;border-radius:0 0 var(--r2) var(--r2)}
  .hdr-dd-list{max-height:60vh;overflow-y:auto}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pgrid.list .pc{grid-template-columns:70px 1fr}
  .pgrid.list .pc-body{padding:3px 6px}
  .pgrid.list .pc-body .auth{margin-bottom:1px}
  .pgrid.list .pc-foot{padding-top:3px}
  .pgrid.list .pc-foot .dl-btn{height:20px;font-size:.58rem;padding:0 6px}
  .flash-banner{padding:12px 14px;gap:10px;flex-direction:column;align-items:stretch}
  .flash-l{gap:8px}
  .flash-icon{width:32px;height:32px;font-size:.85rem}
  .flash-txt h3{font-size:.76rem}
  .flash-txt p{font-size:.62rem}
  .flash-r{width:100%;justify-content:space-between;gap:8px}
  .flash-copy{font-size:.65rem;padding:0 12px;height:34px;min-height:34px}
  .flash-timer .t{font-size:.65rem;padding:2px 5px;min-width:24px}
  .flash-timer .sep{font-size:.62rem}
  .pc-body h3{font-size:.78rem}
  .pc-body{padding:10px 12px 12px}
  .pagi button{min-width:28px;height:28px;font-size:.68rem;padding:0 3px}
  .pagi .dots{font-size:.65rem}
  .pc-foot .pr{font-size:.86rem}
  .main{padding:14px}
}
/* ===== MOBILE-FRIENDLY ENHANCEMENTS ===== */
/* Samsung Galaxy, iPad, iPhone, iOS/Apple universal fixes */

/* --- BASE MOBILE RESETS --- */
@supports (-webkit-touch-callout: none) {
  html { height: -webkit-fill-available }
  body { min-height: 100vh; min-height: -webkit-fill-available }
  .lsb { max-height: calc(-webkit-fill-available - 48px) }
  .rsb { max-height: calc(-webkit-fill-available - 48px) }
}

a, button, input, select, textarea, .pc, .trend-item, .forum-card, .blog-card, .lsb-opt, .lsb-tag {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

body { overscroll-behavior-y: contain }
.lsb, .rsb, .hdr-dd-list, .mob-panel { overscroll-behavior: contain; -webkit-overflow-scrolling: touch }
body { -moz-osx-font-smoothing: grayscale; text-size-adjust: 100%; -ms-text-size-adjust: 100% }

.pc, .blog-card, .forum-card, .trend-item, .lsb-opt, .lsb-tag, .hdr-bot a, .hdr-menu a, .vbtn, .hdr-icon {
  touch-action: manipulation;
}

/* --- iOS SAFE AREA SUPPORT (iPhone X+ notch & Dynamic Island) --- */
@supports (padding: max(0px)) {
  .hdr { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right) }
  .hdr-top { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)) }
  .hdr-bot { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)) }
  .mob-panel { padding-left: max(16px, env(safe-area-inset-left)); padding-bottom: max(16px, env(safe-area-inset-bottom)) }
}
/* iOS safe area: mob-panel only */
@supports (padding: max(0px)) {
  @media (max-width: 480px) {
    .mob-panel { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); padding-bottom: max(16px, env(safe-area-inset-bottom)) }
  }
}

/* --- iOS INPUT ZOOM FIX (font-size >= 16px prevents auto-zoom) --- */
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important }
  .mob-panel .mob-search input { font-size: 16px !important }
  .lsb-range input { font-size: 16px !important }
  .rsb-newsletter .nl-form input { font-size: 16px !important }
}

/* --- TOUCH TARGET SIZE (44px min per Apple HIG) --- */
@media (max-width: 768px) {
  .hdr-bot a { height: 28px; min-height: 28px }
  .hdr-icon { width: 36px; height: 36px; min-width: 36px; min-height: 36px }
  .hdr-avatar-btn { width: 36px; height: 36px; min-width: 36px; min-height: 36px }
  .vbtn { width: 36px; height: 36px; min-width: 36px; min-height: 36px }
  .dl-btn { height: 36px; min-height: 36px }
  .pagi button { min-width: 40px; height: 40px }
  .hdr-btn { height: 36px; min-height: 36px; padding: 0 12px; font-size: .72rem }
  .creator-item .follow { padding: 8px 16px; min-height: 36px }
  .lsb-opt { padding: 10px }
  .lsb-tag { padding: 8px 14px }
  .lsb-nav a { padding: 10px 12px }
  .mob-panel .mob-nav a { padding: 12px 10px }
  .mob-close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem }
  .flash-copy { height: 36px; min-height: 36px }
  .flash-icon { width: 44px; height: 44px }
  /* Dropdown menu items: larger tap area */
  .hdr-user-item { padding: 12px 16px; font-size: .82rem }
  .hdr-user-item i { font-size: .92rem }
  .hdr-dd-item { padding: 12px 14px }
  /* User profile in dropdown */
  .hdr-user-profile { padding: 16px }
  .hdr-user-avatar { width: 44px; height: 44px }
}

/* Sell button: mobile compact padding */
@media(max-width:768px){.hdr-btn.sell-btn{padding:0 11px;font-size:.72rem}}

/* --- TOUCH DEVICE: DISABLE HOVER EFFECTS --- */
@media (hover: none) and (pointer: coarse) {
  .pc:hover { transform: none; box-shadow: none }
  .pc:hover .pc-img img { transform: none }
  .pc:hover .pc-img .acts { opacity: 1 }
  .pc-img .acts { opacity: 1 }
  .blog-card:hover { transform: none; box-shadow: none }
  .blog-card:hover .blog-img img { transform: none }
  .forum-card:hover { border-color: var(--bd); background: var(--s2) }
  .forum-card:hover .forum-body h3 { color: var(--tx) }
  .hero-banner .hero-btn.primary:hover { background: #fff; transform: none }
  .hero-banner .hero-btn.green:hover { background: var(--grn); transform: none }
  .dl-btn:hover { background: var(--grn); transform: none }
  .pc-img .acts button:hover { background: rgba(0,0,0,.45); transform: none }
  .flash-copy:hover { transform: none; box-shadow: none }
  .rsb-cart .checkout:hover { background: var(--grn); transform: none }
  .creator-item .follow:hover { background: var(--grng); color: var(--grn) }
  .rsb-newsletter .nl-btn:hover { background: var(--grn); transform: none }
  .sec-foot a:hover { color: var(--grn); gap: 4px }
  .vbtn:hover { border-color: var(--bd); color: var(--tx3) }
}

/* --- SAMSUNG GALAXY (360px - 412px screens) --- */
@media (max-width: 412px) {
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 8px }
  .pc-body { padding: 8px 10px 10px }
  .pc-body h3 { font-size: .72rem }
  .pc-body .cat { font-size: .54rem }
  .pc-body .auth { font-size: .62rem; margin-bottom: 6px }
  .pc-foot { padding-top: 6px }
  .pc-foot .pr { font-size: .82rem }
  .pc-foot .rt { font-size: .6rem }
  .flash-banner { padding: 10px 12px; gap: 8px; flex-direction: column; align-items: stretch }
  .flash-l { gap: 8px }
  .flash-icon { width: 36px; height: 36px; font-size: .9rem }
  .flash-txt h3 { font-size: .72rem; flex-wrap: wrap }
  .flash-txt p { font-size: .62rem }
  .flash-r { flex-wrap: wrap; justify-content: flex-start }
  .flash-copy { font-size: .62rem; padding: 0 8px; height: 32px }
  .flash-timer .t { font-size: .6rem; padding: 2px 4px; min-width: 22px }
  .sec-head h2 { font-size: .92rem }
  .sec-head a { font-size: .68rem }
  .main { padding: 12px }
  .breadcrumb { font-size: .68rem; gap: 4px }
  .hero-slider { height: 170px }
  .hero-banner { padding: 16px 12px 14px }
  .hero-banner h1 { font-size: .88rem }
  .hero-banner p { font-size: .68rem }
  .hero-banner .hero-btn { height: 36px; padding: 0 12px; font-size: .68rem }
  .hero-banner .hero-acts { gap: 5px; margin-top: 8px }
  .hdr-bot a { padding: 0 10px; font-size: .7rem }
  .pagi button { min-width: 34px; height: 34px; font-size: .64rem; padding: 0 2px }
  .pagi { gap: 3px }
  .ftr-bot .ftr-copy { font-size: .7rem }
  .ftr-links a { font-size: .68rem }
  .stat-mini .sm .n { font-size: .88rem }
}

/* Very small phones (Samsung Galaxy S8/S9/SE, 320px-360px) */
@media (max-width: 360px) {
  .pgrid { grid-template-columns: 1fr; gap: 10px }
  .pc-body { padding: 10px 12px }
  .pc-body h3 { font-size: .78rem }
  .pc-foot .pr { font-size: .88rem }
  .flash-txt h3 { font-size: .68rem }
  .flash-txt p { font-size: .58rem }
  .flash-copy { font-size: .58rem; height: 28px; padding: 0 6px }
  .hero-slider { height: 160px }
  .hero-banner h1 { font-size: .82rem }
  .hero-banner p { font-size: .64rem }
  .hero-banner .hero-acts { flex-direction: column; gap: 6px }
  .hero-banner .hero-btn { width: 100%; justify-content: center }
  .sec-head h2 { font-size: .88rem }
  .main { padding: 10px }
  .blog-grid { grid-template-columns: 1fr }
  .blog-card .blog-body { padding: 10px 12px }
  .hdr-bot a { padding: 0 8px; font-size: .68rem }
  .forum-card { flex-direction: column; gap: 8px }
  .forum-avatar { flex-direction: row; width: auto; gap: 8px }
  .forum-stats { width: 100%; justify-content: space-between }
}

/* --- iPHONE SE / MINI (375px - 390px) --- */
@media (min-width: 361px) and (max-width: 390px) {
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 8px }
  .pc-body { padding: 8px 10px 10px }
  .pc-body h3 { font-size: .74rem }
  .hero-slider { height: 175px }
  .hero-banner h1 { font-size: .9rem }
  .flash-banner { padding: 12px 14px; gap: 10px }
  .flash-txt h3 { font-size: .76rem }
}

/* --- iPHONE 14/15/16 PRO MAX (430px) --- */
@media (min-width: 421px) and (max-width: 430px) {
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 10px }
  .pc-body { padding: 10px 12px 12px }
  .pc-body h3 { font-size: .78rem }
  .hero-slider { height: 185px }
  .flash-banner { padding: 12px 16px; gap: 12px }
  .flash-txt h3 { font-size: .8rem }
}

/* --- iPAD MINI / iPAD PORTRAIT (769px - 820px) --- */
@media (min-width: 769px) and (max-width: 820px) {
  .app { grid-template-columns: 220px 1fr; padding: 0 12px }
  .lsb { padding: 16px 12px }
  .rsb { padding: 16px 12px }
  .lsb-profile .cover { height: 65px }
  .lsb-profile .p-body img { width: 40px; height: 40px }
  .hero-slider { height: 200px }
  .pgrid { grid-template-columns: repeat(4, 1fr); gap: 10px }
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 10px }
  .main { padding: 14px 16px }
  .pc-img .acts { opacity: 1 }
}

/* --- iPAD / iPAD PRO LANDSCAPE (1025px - 1180px) --- */
@media (min-width: 1025px) and (max-width: 1180px) {
  .app { grid-template-columns: 220px 1fr 200px; padding: 0 12px }
  .lsb { padding: 16px 12px }
  .rsb { padding: 16px 10px }
  .pgrid { grid-template-columns: repeat(4, 1fr); gap: 10px }
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 12px }
  .lsb-profile .cover { height: 70px }
  .main { padding: 16px 14px }
}

/* --- iPAD PRO (1181px - 1200px) --- */
@media (min-width: 1181px) and (max-width: 1200px) {
  .pgrid { grid-template-columns: repeat(3, 1fr); gap: 12px }
  .blog-grid { grid-template-columns: repeat(3, 1fr); gap: 12px }
  .lsb { padding: 18px 12px }
  .rsb { padding: 18px 12px }
}

/* --- LANDSCAPE ON MOBILE/TABLET --- */
@media (max-width: 768px) and (orientation: landscape) {
  .hdr-bot { height: 34px }
  .hdr-bot a { height: 34px; min-height: 34px }
  .hero-slider { height: 160px }
  .hero-banner { padding: 14px 20px 10px }
  .hero-banner h1 { font-size: .9rem }
  .hero-banner p { font-size: .72rem; display: none }
  .hero-banner .hero-acts { margin-top: 8px }
  .main { padding: 10px 16px }
  .pc-img { aspect-ratio: 16/9 }
  .flash-banner { flex-direction: column; align-items: stretch; flex-wrap: wrap; padding: 10px 16px; gap: 10px }
  .flash-r { width: 100%; justify-content: space-between }
  .flash-copy { height: 34px; min-height: 34px }
  .forum-card { padding: 8px 10px }
  .mob-panel { width: 260px }
}

@media (max-width: 480px) and (orientation: landscape) {
  .hero-slider { height: 140px }
  .hero-banner { padding: 10px 16px 8px }
  .hero-banner h1 { font-size: .82rem }
  .hero-banner .hero-btn { height: 34px; padding: 0 10px; font-size: .65rem }
  .hero-banner .hero-acts { gap: 4px; margin-top: 6px }
  .main { padding: 8px 12px }
  .pagi button { min-width: 30px; height: 30px; font-size: .64rem }
  .flash-banner { flex-direction: row; align-items: center; flex-wrap: wrap; padding: 8px 12px; gap: 8px }
  .flash-l { gap: 6px }
  .flash-icon { width: 28px; height: 28px; font-size: .8rem }
  .flash-txt h3 { font-size: .68rem }
  .flash-txt p { font-size: .58rem }
  .flash-r { gap: 6px }
  .flash-copy { height: 30px; min-height: 30px; font-size: .6rem; padding: 0 8px }
  .flash-timer .t { font-size: .58rem; padding: 2px 4px; min-width: 20px }
  .flash-timer .sep { font-size: .56rem }
}

/* --- iPAD LANDSCAPE (769px-1024px) --- */
@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
  .app { grid-template-columns: 200px 1fr; padding: 0 10px }
  .lsb { padding: 12px 10px; max-height: calc(100vh - 80px) }
  .pgrid { grid-template-columns: repeat(4, 1fr); gap: 8px }
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 8px }
  .hero-slider { height: 160px }
  .hero-banner { padding: 20px 16px 14px }
  .hero-banner h1 { font-size: 1rem }
  .main { padding: 12px }
}

/* --- SAMSUNG GALAXY Z FOLD (unfolded ~682px) --- */
@media (min-width: 600px) and (max-width: 682px) {
  .app { grid-template-columns: 1fr; padding: 0 }
  .lsb { display: none }
  .rsb { display: none }
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 10px }
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 10px }
  .main { padding: 16px }
}

/* --- VERY LARGE SCREENS (1440px+) --- */
@media (min-width: 1441px) {
  .app { grid-template-columns: 280px 1fr 280px }
  .lsb, .rsb { padding: 24px 16px }
  .pgrid { grid-template-columns: repeat(4, 1fr); gap: 16px }
  .blog-grid { grid-template-columns: repeat(3, 1fr); gap: 16px }
}

/* --- REDUCED MOTION ACCESSIBILITY --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  html { scroll-behavior: auto }
  .pc:hover { transform: none }
  .pc:hover .pc-img img { transform: none }
  .blog-card:hover { transform: none }
  .blog-card:hover .blog-img img { transform: none }
}

/* --- MOBILE HEADER DROPDOWN: cap height, keep position from .hdr-icon-wrap --- */
@media (max-width: 768px) {
  .hdr-dd-list { max-height: 50vh }
  .hdr-dd-item { padding: 12px 14px }
}

/* --- MOBILE SCROLLBAR FIX --- */
@media (max-width: 768px) {
  * { -ms-overflow-style: none; scrollbar-width: none }
  *::-webkit-scrollbar { display: none }
}

/* --- EXTRA SAFETY: FORCE HIDE SIDEBARS ON ALL NON-DESKTOP --- */
@media (max-width: 1024px) {
  .lsb { display: none !important; visibility: hidden !important; width: 0 !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; border: none !important }
  .rsb { display: none !important; visibility: hidden !important; width: 0 !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; border: none !important }
  .app { grid-template-columns: 1fr !important }
}

/* --- ENSURE MOBILE-FRIENDLY PRODUCT GRID --- */
@media (max-width: 480px) {
  .pgrid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important }
  .pc-body { padding: 10px 12px 12px !important }
  .pc-body h3 { font-size: .78rem !important }
  .pc-foot .pr { font-size: .86rem !important }
  .main { padding: 14px !important }
  .hero-slider { height: 190px !important }
  .flash-banner { padding: 12px 14px !important; gap: 10px !important }
}

/* --- SAMSUNG GALAXY SPECIFIC FIX (360-412px) --- */
@media (max-width: 412px) {
  .pgrid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important }
  .pc-body { padding: 8px 10px 10px !important }
  .pc-body h3 { font-size: .72rem !important }
  .pc-body .cat { font-size: .54rem !important }
  .pc-body .auth { font-size: .62rem !important }
  .pc-foot .pr { font-size: .82rem !important }
  .flash-banner { padding: 10px 12px !important; gap: 8px !important; flex-direction: column !important; align-items: stretch !important }
  .flash-txt h3 { font-size: .72rem !important }
  .flash-txt p { font-size: .62rem !important }
  .sec-head h2 { font-size: .92rem !important }
  .main { padding: 12px !important }
  .hero-slider { height: 170px !important }
  .hero-banner h1 { font-size: .88rem !important }
  .hero-banner p { font-size: .68rem !important }
  .breadcrumb { font-size: .68rem !important }
}

/* --- iPHONE SE / MINI (375-390px) --- */
@media (min-width: 361px) and (max-width: 390px) {
  .pgrid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important }
  .pc-body { padding: 8px 10px 10px !important }
  .pc-body h3 { font-size: .74rem !important }
  .hero-slider { height: 175px !important }
  .hero-banner h1 { font-size: .9rem !important }
}

/* --- iPHONE 14/15/16 PRO MAX (430px) --- */
@media (min-width: 421px) and (max-width: 430px) {
  .pgrid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important }
  .pc-body { padding: 10px 12px 12px !important }
  .pc-body h3 { font-size: .78rem !important }
  .hero-slider { height: 185px !important }
}

/* --- VERY SMALL PHONES (320-360px) --- */
@media (max-width: 360px) {
  .pgrid { grid-template-columns: 1fr !important; gap: 10px !important }
  .pc-body { padding: 10px 12px !important }
  .pc-body h3 { font-size: .78rem !important }
  .flash-txt h3 { font-size: .68rem !important }
  .hero-slider { height: 160px !important }
  .hero-banner h1 { font-size: .82rem !important }
  .hero-banner p { font-size: .64rem !important }
  .hero-banner .hero-acts { flex-direction: column !important; gap: 6px !important }
  .hero-banner .hero-btn { width: 100% !important; justify-content: center !important; height: 36px !important }
  .sec-head h2 { font-size: .88rem !important }
  .main { padding: 10px !important }
  .blog-grid { grid-template-columns: 1fr !important }
  .forum-card { flex-direction: column !important; gap: 8px !important }
  .forum-avatar { flex-direction: row !important; width: auto !important }
}

/* ============================================================
   FLASH-BANNER MOBILE-FRIENDLY — COMPREHENSIVE SAFETY NET
   Ensures flash-banner works perfectly on ALL devices
   ============================================================ */

/* --- FLASH-BANNER BASE MOBILE (all screens <= 1024px) --- */
@media (max-width: 1024px) {
  .flash-banner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    border-radius: var(--r4) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .flash-l {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .flash-icon {
    flex-shrink: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }
  .flash-txt {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .flash-txt h3 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1.3 !important;
    min-width: 0 !important;
  }
  .flash-txt h3 span {
    flex-shrink: 0 !important;
  }
  .flash-txt p {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .flash-txt code {
    letter-spacing: .3px !important;
  }
  .flash-r {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
  }
  .flash-timer {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  .flash-timer .t {
    min-width: 26px !important;
    padding: 3px 5px !important;
    font-size: .68rem !important;
    text-align: center !important;
  }
  .flash-timer .sep {
    font-size: .64rem !important;
  }
  .flash-copy {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    padding: 0 14px !important;
    border-radius: var(--r) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    flex-shrink: 1 !important;
    margin-left: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .flash-copy:hover {
    transform: none !important;
    box-shadow: none !important;
  }
}

/* --- FLASH-BANNER PHONES (<= 768px) --- */
@media (max-width: 768px) {
  .flash-banner {
    padding: 12px 14px !important;
    gap: 10px !important;
  }
  .flash-l { gap: 8px !important }
  .flash-icon { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; font-size: .85rem !important }
  .flash-txt h3 { font-size: .76rem !important; gap: 5px !important }
  .flash-txt p { font-size: .62rem !important }
  .flash-txt code { font-size: .7rem !important }
  .flash-r { gap: 8px !important }
  .flash-timer .t { min-width: 24px !important; padding: 2px 4px !important; font-size: .64rem !important }
  .flash-timer .sep { font-size: .6rem !important }
  .flash-copy { height: 36px !important; min-height: 36px !important; font-size: .66rem !important; padding: 0 12px !important }
}

/* --- FLASH-BANNER SMALL PHONES (<= 480px) --- */
@media (max-width: 480px) {
  .flash-banner {
    padding: 10px 12px !important;
    gap: 8px !important;
    border-radius: var(--r4) !important;
  }
  .flash-l { gap: 8px !important }
  .flash-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important; font-size: .8rem !important }
  .flash-txt h3 { font-size: .74rem !important; gap: 4px !important }
  .flash-txt p { font-size: .6rem !important }
  .flash-txt code { font-size: .66rem !important }
  .flash-txt h3 span { font-size: .54rem !important; padding: 1px 6px !important }
  .flash-r { gap: 6px !important }
  .flash-timer .t { min-width: 22px !important; padding: 2px 3px !important; font-size: .6rem !important; border-radius: 3px !important }
  .flash-timer .sep { font-size: .56rem !important }
  .flash-copy { height: 34px !important; min-height: 34px !important; font-size: .64rem !important; padding: 0 10px !important }
}

/* --- FLASH-BANNER GALAXY S8/SE (<= 360px) --- */
@media (max-width: 360px) {
  .flash-banner { padding: 8px 10px !important; gap: 6px !important }
  .flash-l { gap: 6px !important }
  .flash-icon { width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; font-size: .75rem !important }
  .flash-txt h3 { font-size: .7rem !important; gap: 4px !important }
  .flash-txt p { font-size: .58rem !important }
  .flash-txt code { font-size: .62rem !important }
  .flash-txt h3 span { font-size: .5rem !important; padding: 1px 5px !important }
  .flash-r { gap: 5px !important }
  .flash-timer .t { min-width: 20px !important; padding: 2px 3px !important; font-size: .58rem !important }
  .flash-timer .sep { font-size: .52rem !important }
  .flash-copy { height: 32px !important; min-height: 32px !important; font-size: .6rem !important; padding: 0 8px !important }
}

/* --- FLASH-BANNER iPHONE SE/MINI (361-390px) --- */
@media (min-width: 361px) and (max-width: 390px) {
  .flash-banner { padding: 10px 12px !important; gap: 8px !important }
  .flash-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important }
  .flash-txt h3 { font-size: .72rem !important }
  .flash-txt p { font-size: .6rem !important }
  .flash-copy { height: 34px !important; min-height: 34px !important; font-size: .64rem !important }
}

/* --- FLASH-BANNER iPHONE PRO MAX (421-430px) --- */
@media (min-width: 421px) and (max-width: 430px) {
  .flash-banner { padding: 12px 14px !important; gap: 10px !important }
  .flash-icon { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important }
  .flash-txt h3 { font-size: .78rem !important }
  .flash-copy { height: 36px !important; min-height: 36px !important; font-size: .68rem !important }
}

/* --- FLASH-BANNER LANDSCAPE MOBILE (all) --- */
@media (max-width: 768px) and (orientation: landscape) {
  .flash-banner {
    flex-direction: row !important;
    align-items: center !important;
    padding: 8px 12px !important;
    gap: 8px !important;
  }
  .flash-l { width: auto !important; flex: 1 1 0% !important }
  .flash-r { width: auto !important; flex: 0 0 auto !important; margin-left: auto !important }
  .flash-icon { width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; font-size: .8rem !important }
  .flash-txt h3 { font-size: .7rem !important }
  .flash-txt p { font-size: .56rem !important }
  .flash-timer .t { min-width: 22px !important; font-size: .6rem !important }
  .flash-copy { height: 30px !important; min-height: 30px !important; font-size: .62rem !important; padding: 0 10px !important }
}

/* --- FLASH-BANNER LANDSCAPE SMALL PHONE (<=480px landscape) --- */
@media (max-width: 480px) and (orientation: landscape) {
  .flash-banner { padding: 6px 10px !important; gap: 6px !important }
  .flash-l { gap: 5px !important }
  .flash-icon { width: 24px !important; height: 24px !important; min-width: 24px !important; min-height: 24px !important; font-size: .7rem !important }
  .flash-txt h3 { font-size: .64rem !important }
  .flash-txt p { font-size: .52rem !important; display: none !important }
  .flash-r { gap: 4px !important }
  .flash-timer .t { min-width: 18px !important; font-size: .56rem !important; padding: 2px 2px !important }
  .flash-copy { height: 28px !important; min-height: 28px !important; font-size: .58rem !important; padding: 0 8px !important }
}

/* --- FLASH-BANNER iPAD PORTRAIT (769-820px) --- */
@media (min-width: 769px) and (max-width: 820px) {
  .flash-banner { padding: 14px 16px !important; gap: 12px !important }
  .flash-icon { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important }
  .flash-txt h3 { font-size: .82rem !important }
  .flash-txt p { font-size: .68rem !important }
  .flash-copy { height: 36px !important; min-height: 36px !important; font-size: .7rem !important }
}

/* --- FLASH-BANNER iPAD LANDSCAPE (769-1024px landscape) --- */
@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
  .flash-banner { padding: 10px 14px !important; gap: 10px !important }
  .flash-icon { width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important }
  .flash-txt h3 { font-size: .78rem !important }
  .flash-copy { height: 34px !important; min-height: 34px !important }
}

/* --- FLASH-BANNER GALAXY Z FOLD (600-682px) --- */
@media (min-width: 600px) and (max-width: 682px) {
  .flash-banner { padding: 14px 16px !important; gap: 12px !important }
  .flash-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important }
  .flash-txt h3 { font-size: .8rem !important }
  .flash-txt p { font-size: .66rem !important }
  .flash-copy { height: 36px !important; min-height: 36px !important; font-size: .68rem !important }
  .flash-timer .t { min-width: 26px !important; font-size: .68rem !important }
}

/* --- FLASH-BANNER: DISABLE HOVER ON TOUCH --- */
@media (hover: none) and (pointer: coarse) {
  .flash-copy:hover { transform: none !important; box-shadow: none !important }
  .flash-copy:active { transform: scale(.97) !important; opacity: .9 !important }
}

/* --- FLASH-BANNER: iOS SAFARI SAFETY --- */
@supports (-webkit-touch-callout: none) {
  .flash-banner { -webkit-overflow-scrolling: touch !important }
  .flash-copy { -webkit-appearance: none !important }
  .flash-timer .t { -webkit-font-smoothing: antialiased !important }
}

/* --- FLASH-BANNER: REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
  .flash-banner, .flash-banner *, .flash-banner *::before, .flash-banner *::after {
    animation: none !important;
    transition-duration: 0s !important;
  }
}