/* =====================================================
   PixelDrop — Public Stylesheet
   ===================================================== */
:root {
  --brand:#1a1a2e; --brand-mid:#16213e; --accent:#e94560; --accent-hover:#c73652;
  --green:#2ec4b6; --purple:#805ad5;
  --surface:#fff; --surface-2:#f7f8fc; --surface-3:#eef0f7;
  --border:#e2e6ef; --text:#1a1a2e; --text-2:#4a5568; --text-3:#8896b3;
  --radius:12px; --radius-sm:8px;
  --shadow:0 2px 12px rgba(26,26,46,.08); --shadow-hover:0 6px 24px rgba(26,26,46,.14);
  --max-w:1280px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--surface-2);line-height:1.6;font-size:15px}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}

/* ===== TOP AD BAR ===== */
.ad-top-bar{background:var(--surface-3);border-bottom:1px solid var(--border);padding:8px 0;text-align:center;min-height:50px}
.ad-label{display:block;font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}

/* ===== HEADER ===== */
header{background:var(--brand);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(0,0,0,.25)}
.nav-wrap{max-width:var(--max-w);margin:0 auto;padding:0 20px;display:flex;align-items:center;height:62px;gap:20px}
.logo{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;color:#fff;flex-shrink:0;display:flex;align-items:center;gap:8px}
.logo em{color:var(--accent);font-style:normal}
.logo-dot{width:10px;height:10px;background:var(--accent);border-radius:50%;display:inline-block;flex-shrink:0}
.nav-search{flex:1;max-width:460px;display:flex;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:40px;overflow:hidden}
.nav-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;padding:9px 16px}
.nav-search input::placeholder{color:rgba(255,255,255,.5)}
.nav-search button{background:var(--accent);border:none;color:#fff;padding:0 18px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}
.nav-search button:hover{background:var(--accent-hover)}
nav{margin-left:auto;display:flex;align-items:center;gap:6px}
nav a{color:rgba(255,255,255,.8);font-size:13.5px;font-weight:500;padding:7px 13px;border-radius:8px;transition:all .2s}
nav a:hover{color:#fff;background:rgba(255,255,255,.1)}
.nav-btn{background:var(--accent)!important;color:#fff!important;border-radius:8px}
.nav-btn:hover{background:var(--accent-hover)!important}
.hamburger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:6px;flex-direction:column;gap:5px}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s}

/* ===== CATEGORY BAR ===== */
.cat-bar{background:var(--brand-mid);border-bottom:1px solid rgba(255,255,255,.07);overflow-x:auto;scrollbar-width:none}
.cat-bar::-webkit-scrollbar{display:none}
.cat-bar-inner{max-width:var(--max-w);margin:0 auto;padding:0 20px;display:flex;gap:2px}
.cat-bar a{color:rgba(255,255,255,.65);font-size:13px;font-weight:500;padding:10px 14px;white-space:nowrap;border-bottom:2px solid transparent;transition:all .2s}
.cat-bar a:hover,.cat-bar a.active{color:#fff;border-bottom-color:var(--accent)}

/* ===== HERO ===== */
.hero{background:linear-gradient(135deg,var(--brand) 0%,#0f3460 100%);color:#fff;text-align:center;padding:72px 20px 60px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(233,69,96,.18),transparent)}
.hero-content{position:relative;z-index:1;max-width:640px;margin:0 auto}
.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,5vw,48px);font-weight:700;line-height:1.15;margin-bottom:14px}
.hero h1 em{color:var(--accent);font-style:normal}
.hero p{font-size:16px;color:rgba(255,255,255,.75);margin-bottom:28px}
.hero-search{display:flex;max-width:480px;margin:0 auto 24px;gap:0;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);border-radius:40px;overflow:hidden}
.hero-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px;padding:12px 20px}
.hero-search input::placeholder{color:rgba(255,255,255,.55)}
.hero-search button{background:var(--accent);border:none;color:#fff;padding:0 24px;cursor:pointer;font-size:14px;font-weight:700;transition:background .2s}
.hero-search button:hover{background:var(--accent-hover)}
.hero-tags{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.hero-tags a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.85);font-size:13px;padding:6px 14px;border-radius:30px;transition:all .2s}
.hero-tags a:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* ===== STATS ===== */
.stats-bar{background:var(--surface);border-bottom:1px solid var(--border)}
.stats-inner{max-width:var(--max-w);margin:0 auto;padding:16px 20px;display:flex;gap:32px;align-items:center;justify-content:center;flex-wrap:wrap}
.stat{text-align:center}
.stat .num{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;color:var(--accent)}
.stat .lbl{font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}

/* ===== PAGE WRAP ===== */
.page-wrap{max-width:var(--max-w);margin:0 auto;padding:32px 20px;display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}

/* ===== SECTION HEADERS ===== */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.section-title{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700}
.section-title span{width:4px;height:20px;background:var(--accent);border-radius:2px;display:inline-block;margin-right:10px;vertical-align:middle}
.see-all{font-size:13px;color:var(--accent);font-weight:600}
.see-all:hover{text-decoration:underline}

/* ===== FILTER / SORT BARS ===== */
.filter-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.filter-tab{font-size:13px;font-weight:500;padding:6px 16px;border-radius:30px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all .2s}
.filter-tab:hover{border-color:var(--accent);color:var(--accent)}
.filter-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.sort-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:12px}
.sort-bar a{font-size:13px;font-weight:500;padding:5px 14px;border-radius:6px;color:var(--text-2);transition:all .2s}
.sort-bar a:hover,.sort-bar a.active{background:var(--accent);color:#fff}

/* ===== CARDS ===== */
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.grid-5{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .25s;border:1px solid var(--border);position:relative}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(233,69,96,.3)}
.card-img{width:100%;aspect-ratio:1;background:var(--surface-3);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .card-img img{transform:scale(1.04)}
.card-placeholder{font-size:48px;line-height:1}
.card-badge{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:20px;background:var(--green);color:#fff}
.card-badge.premium{background:var(--accent)}
.card-badge.new{background:var(--purple)}
.card-overlay{position:absolute;inset:0;background:rgba(26,26,46,.6);display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .2s}
.card:hover .card-overlay{opacity:1}
.overlay-btn{background:#fff;border:none;border-radius:8px;color:var(--text);font-size:12px;font-weight:700;padding:8px 14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px;text-decoration:none}
.overlay-btn.dl{background:var(--accent);color:#fff}
.overlay-btn:hover{transform:scale(1.05)}
.card-body{padding:12px 14px}
.card-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-meta{display:flex;align-items:center;justify-content:space-between}
.card-cat,.card-downloads{font-size:11px;color:var(--text-3)}
.ad-grid-inline{background:var(--surface-3);border:1.5px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:8px}

/* ===== FEATURED BANNER ===== */
.featured-banner{background:linear-gradient(135deg,var(--brand) 0%,#0f3460 100%);border-radius:var(--radius);padding:28px 32px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;position:relative;overflow:hidden}
.featured-banner::after{content:'🎨';position:absolute;right:120px;top:50%;transform:translateY(-50%);font-size:80px;opacity:.12}
.featured-banner h2{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;margin-bottom:6px}
.featured-banner p{font-size:14px;color:rgba(255,255,255,.7);max-width:360px}
.featured-btn{background:var(--accent);color:#fff;font-size:14px;font-weight:700;padding:12px 24px;border-radius:10px;border:none;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0}
.featured-btn:hover{background:var(--accent-hover)}

/* ===== INLINE ADS ===== */
.ad-inline{margin:24px 0;background:var(--surface-3);border:1.5px dashed var(--border);border-radius:var(--radius);min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;text-align:center}
.ad-box{background:var(--surface-3);border:1.5px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:250px;padding:16px}

/* ===== AFFILIATE ===== */
.affiliate-strip{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#805ad5,#553c9a);border-radius:var(--radius);padding:18px 24px;margin:28px 0;color:#fff;text-decoration:none}
.affiliate-strip .strip-icon{font-size:32px;flex-shrink:0}
.affiliate-strip .strip-text h3{font-size:15px;font-weight:700;margin-bottom:2px}
.affiliate-strip .strip-text p{font-size:13px;color:rgba(255,255,255,.75)}
.affiliate-strip .strip-btn{margin-left:auto;background:#fff;color:#553c9a;font-size:13px;font-weight:700;padding:9px 20px;border-radius:8px;white-space:nowrap;flex-shrink:0}
.affiliate-strip .strip-btn:hover{opacity:.9}
.affiliate-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:32px}
.aff-tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.aff-tool-icon{font-size:28px;margin-bottom:10px}
.aff-tool-name{font-weight:700;font-size:15px;margin-bottom:4px}
.aff-tool-desc{font-size:13px;color:var(--text-2);margin-bottom:12px}
.aff-tool-btn{display:inline-block;background:var(--accent);color:#fff;font-size:13px;font-weight:700;padding:8px 18px;border-radius:8px;transition:background .2s}
.aff-tool-btn:hover{background:var(--accent-hover)}
.aff-tool-btn.purple{background:var(--purple)}
.aff-tool-btn.teal{background:var(--green)}
.aff-note{font-size:10px;color:var(--text-3);margin-top:8px}

/* ===== SIDEBAR ===== */
.sidebar{display:flex;flex-direction:column;gap:24px}
.widget{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}
.widget-head{background:var(--brand);color:#fff;padding:12px 16px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.widget-body{padding:14px 16px}
.cat-list li a{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:13.5px;color:var(--text-2);border-bottom:1px solid var(--surface-3);transition:color .15s}
.cat-list li:last-child a{border-bottom:none}
.cat-list li a:hover{color:var(--accent)}
.cat-list .count{background:var(--surface-3);color:var(--text-3);font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:7px}
.tag-cloud a{font-size:12px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);padding:4px 12px;border-radius:30px;transition:all .15s}
.tag-cloud a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.affiliate-widget{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;border-radius:var(--radius);overflow:hidden}
.affiliate-card{padding:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.affiliate-card:last-child{border-bottom:none}
.aff-logo{background:rgba(255,255,255,.12);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block;margin-bottom:8px}
.aff-title{font-size:14px;font-weight:600;margin-bottom:4px}
.aff-desc{font-size:12px;color:rgba(255,255,255,.65);margin-bottom:10px;line-height:1.5}
.aff-cta{display:inline-block;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:7px 16px;border-radius:8px;transition:background .2s}
.aff-cta:hover{background:var(--accent-hover)}
.aff-disclosure{font-size:10px;color:rgba(255,255,255,.4);padding:8px 18px 12px;line-height:1.4}

/* ===== DESIGN PAGE ===== */
.design-page{}
.breadcrumb{font-size:13px;color:var(--text-3);margin-bottom:20px}
.breadcrumb a{color:var(--text-2)}
.breadcrumb a:hover{color:var(--accent)}
.design-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}
.design-preview{display:flex;flex-direction:column;gap:12px}
.preview-bg{width:100%;border-radius:var(--radius);overflow:hidden;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border)}
.preview-bg img{max-width:90%;max-height:90%;object-fit:contain}
.preview-controls{display:flex;gap:8px}
.bg-btn{padding:6px 14px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;cursor:pointer;transition:all .2s}
.bg-btn.active{border-color:var(--accent);color:var(--accent)}
.design-badge-row{display:flex;gap:8px;margin-bottom:10px}
.badge-free{background:#e6f4ea;color:#137333;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px}
.badge-license{background:#e8f0fe;color:#1a73e8;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px}
.design-title{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:700;margin-bottom:10px}
.design-meta-row{display:flex;gap:16px;font-size:13px;color:var(--text-3);margin-bottom:14px;flex-wrap:wrap}
.design-desc{font-size:14px;color:var(--text-2);margin-bottom:20px;line-height:1.7}
.download-panel{background:var(--surface-2);border-radius:var(--radius);padding:20px;margin-bottom:16px;border:1px solid var(--border)}
.download-panel h3{font-size:14px;font-weight:700;margin-bottom:12px}
.dl-buttons{display:flex;gap:10px;flex-wrap:wrap}
.dl-btn-main{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:14px;font-weight:700;padding:14px 24px;border-radius:10px;text-align:center;transition:background .2s;flex:2}
.dl-btn-main:hover{background:var(--accent-hover)}
.dl-btn-main small{font-size:11px;font-weight:400;opacity:.8;margin-top:2px}
.dl-btn-secondary{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);border:1.5px solid var(--border);color:var(--text);font-size:13px;font-weight:600;padding:12px 16px;border-radius:10px;text-align:center;transition:all .2s;flex:1}
.dl-btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.dl-btn-secondary small{font-size:11px;font-weight:400;color:var(--text-3);margin-top:2px}
.file-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.file-detail{background:var(--surface-2);border-radius:8px;padding:10px 14px;font-size:13px}
.file-detail span{display:block;color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.design-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.design-tags .tag{font-size:12px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);padding:4px 12px;border-radius:30px;transition:all .15s}
.design-tags .tag:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.design-aff-box{background:linear-gradient(135deg,#f3e8fd,#e8f0fe);border-radius:var(--radius-sm);padding:14px;font-size:13px;border:1px solid rgba(128,90,213,.15)}
.design-aff-box a{color:var(--purple);font-weight:700}

/* ===== NEWSLETTER ===== */
.newsletter-section{background:var(--brand);border-radius:var(--radius);padding:32px;color:#fff;text-align:center;margin:28px 0}
.newsletter-section h2{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;margin-bottom:8px}
.newsletter-section p{font-size:14px;color:rgba(255,255,255,.7);margin-bottom:20px}
.nl-form{display:flex;max-width:400px;margin:0 auto;gap:8px}
.nl-form input{flex:1;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;padding:10px 16px;outline:none}
.nl-form input::placeholder{color:rgba(255,255,255,.45)}
.nl-form button{background:var(--accent);border:none;color:#fff;font-size:14px;font-weight:700;padding:10px 20px;border-radius:8px;cursor:pointer;transition:background .2s}
.nl-form button:hover{background:var(--accent-hover)}
.nl-disclosure{font-size:11px;color:rgba(255,255,255,.4);margin-top:10px}
.nl-disclosure a{color:rgba(255,255,255,.6)}

/* ===== SEARCH PAGE ===== */
.search-header{margin-bottom:16px}
.search-header h1{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:700;margin-bottom:4px}
.search-header h1 em{color:var(--accent);font-style:normal}
.result-count{font-size:14px;color:var(--text-3)}
.empty-state{text-align:center;padding:60px 20px}
.empty-state h2{font-size:20px;font-weight:700;margin:12px 0 8px}
.empty-state p{color:var(--text-2)}

/* ===== PAGINATION ===== */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.pagination a{padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;transition:all .2s}
.pagination a:hover,.pagination a.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* ===== MODAL ===== */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.open{display:flex}
.modal{background:var(--surface);border-radius:16px;width:100%;max-width:480px;overflow:hidden;animation:slideUp .25s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-header{background:var(--brand);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.modal-header h3{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700}
.modal-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.modal-body{padding:22px}
.modal-preview{width:100%;height:200px;background:var(--surface-2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:18px;border:1px solid var(--border);overflow:hidden}
.modal-preview img{max-width:90%;max-height:90%;object-fit:contain}
.modal-title{font-size:16px;font-weight:700;margin-bottom:6px}
.modal-info{font-size:13px;color:var(--text-2);margin-bottom:18px}
.modal-info span{margin-right:16px}
.download-options{display:flex;gap:10px;margin-bottom:14px}
.dl-btn{flex:1;padding:12px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;color:var(--text)}
.dl-btn:hover{border-color:var(--accent);color:var(--accent)}
.dl-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-size:15px;flex:2}
.dl-btn.primary:hover{background:var(--accent-hover)}
.modal-ad{margin-top:14px;text-align:center}
.modal-aff{margin-top:12px;padding:12px;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:12px}
.modal-aff a{color:var(--accent);font-weight:700}
.aff-note{color:var(--text-3);font-size:10px}

/* ===== MOBILE NAV ===== */
.mobile-nav{position:fixed;top:0;right:-280px;width:280px;height:100vh;background:var(--brand);z-index:300;transition:right .3s;padding:20px;overflow-y:auto}
.mobile-nav.open{right:0}
.mobile-nav-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;margin-bottom:20px}
.mobile-nav nav{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}
.mobile-nav nav a{color:rgba(255,255,255,.8);padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500}
.mobile-nav nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.mobile-cats{display:flex;flex-wrap:wrap;gap:8px}
.mobile-cats a{font-size:12px;padding:6px 12px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border-radius:20px}
.overlay-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:299;display:none}
.overlay-bg.open{display:block}

/* ===== FOOTER ===== */
footer{background:var(--brand);color:rgba(255,255,255,.7);padding:48px 20px 24px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.footer-brand p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.55);max-width:260px;margin-top:10px}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer-social a{width:34px;height:34px;background:rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .2s}
.footer-social a:hover{background:var(--accent)}
.footer-col h4{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.footer-col ul li a{display:block;font-size:13px;color:rgba(255,255,255,.55);padding:4px 0;transition:color .15s}
.footer-col ul li a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:rgba(255,255,255,.35)}
.footer-bottom a{color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:var(--accent)}
.affiliate-disclosure-footer{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px 16px;font-size:11.5px;color:rgba(255,255,255,.35);line-height:1.6;margin-bottom:20px}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){.page-wrap{grid-template-columns:1fr}.sidebar{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.design-layout{grid-template-columns:1fr}}
@media(max-width:640px){nav{display:none}.hamburger{display:flex}.footer-grid{grid-template-columns:1fr}.nl-form{flex-direction:column}.featured-banner{flex-direction:column;text-align:center}.featured-banner::after{display:none}.hero{padding:48px 20px 40px}.dl-buttons{flex-direction:column}.affiliate-strip{flex-wrap:wrap}.affiliate-strip .strip-btn{width:100%;text-align:center}.file-details{grid-template-columns:1fr}}
