/* =====================================================
   NAMODAJ PRO v4
   Design: Royal Blue + Gold + White
   Inspired by professional Arabic software UI
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800;900&display=swap');

/* ── CSS Variables (قابلة للتعديل من Customizer) ── */
:root {
  /* Primary = Blue Royal */
  --c1:        #1a3a8f;
  --c1-dark:   #0f2460;
  --c1-deeper: #081640;
  --c1-light:  #e8eeff;
  --c1-mid:    #c5d0f5;

  /* Accent = Gold */
  --c2:        #f5a623;
  --c2-dark:   #d4880a;
  --c2-light:  #fff8eb;
  --c2-mid:    #fde68a;

  /* Neutral */
  --bg:        #f4f6fb;
  --surface:   #ffffff;
  --surface2:  #f0f3fb;
  --border:    #d0d9f0;
  --border2:   #e4eaf8;
  --text:      #0d1b4b;
  --text2:     #4a5a8a;
  --text3:     #8a9abf;

  /* Status */
  --green:     #059669;
  --red:       #dc2626;

  /* Shadows */
  --sh1: 0 1px 4px rgba(26,58,143,.10);
  --sh2: 0 4px 16px rgba(26,58,143,.13);
  --sh3: 0 8px 28px rgba(26,58,143,.17);
  --sh4: 0 16px 48px rgba(26,58,143,.22);

  /* Radii */
  --r1:8px; --r2:10px; --r3:12px; --r4:16px;

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --t1:.14s var(--ease); --t2:.24s var(--ease);

  --font:'Cairo',sans-serif;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{direction:rtl;font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh}
a{color:var(--c1);text-decoration:none;transition:color var(--t1)}
a:hover{color:var(--c1-dark)}
img{max-width:100%;height:auto}
button,input,select,textarea{font-family:var(--font)}

.container{max-width:1260px;margin:0 auto;padding:0 18px}
.container-sm{max-width:840px;margin:0 auto;padding:0 18px}

/* ══════════════════════════════════════
   HEADER
══════════════════════════════════════ */
#site-header{
  background:var(--c1-deeper);
  position:sticky;top:0;z-index:999;
  box-shadow:0 2px 20px rgba(8,22,64,.35);
}
.header-inner{
  display:flex;align-items:center;height:66px;gap:18px;
}

/* Logo */
.site-logo{
  display:flex;align-items:center;gap:9px;
  font-weight:900;font-size:1.35rem;color:#fff;
  flex-shrink:0;letter-spacing:-.3px;
}
.logo-icon{
  width:40px;height:40px;border-radius:10px;
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  color:var(--c1-deeper);display:grid;place-items:center;
  font-size:1.2rem;box-shadow:0 3px 10px rgba(245,166,35,.4);
  flex-shrink:0;
}

/* Search bar */
.header-search{flex:1;max-width:520px;position:relative}
.header-search-inner{
  display:flex;align-items:center;
  background:rgba(255,255,255,.1);
  border:1.5px solid rgba(255,255,255,.2);
  border-radius:50px;padding:3px 4px 3px 16px;
  transition:all var(--t1);
}
.header-search-inner:focus-within{
  background:rgba(255,255,255,.15);
  border-color:var(--c2);
  box-shadow:0 0 0 3px rgba(245,166,35,.2);
}
.header-search-inner input{
  flex:1;border:none;background:none;outline:none;
  font-family:var(--font);font-size:.9rem;color:#fff;padding:8px 10px;
}
.header-search-inner input::placeholder{color:rgba(255,255,255,.5)}
.header-search-inner button{
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  border:none;border-radius:7px;padding:7px 16px;
  font-family:var(--font);font-size:.83rem;font-weight:700;
  color:var(--c1-deeper);cursor:pointer;transition:all var(--t1);
  display:flex;align-items:center;gap:5px;white-space:nowrap;
}
.header-search-inner button:hover{transform:scale(1.04);box-shadow:0 3px 10px rgba(245,166,35,.4)}

/* Autocomplete */
.search-suggestions{
  position:absolute;top:calc(100% + 8px);right:0;left:0;
  background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r3);box-shadow:var(--sh4);
  z-index:9999;display:none;overflow:hidden;
  animation:dropIn .16s var(--ease);
}
.search-suggestions.active{display:block}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.suggestion-item{
  display:flex;align-items:center;gap:11px;
  padding:10px 15px;cursor:pointer;
  border-bottom:1px solid var(--border2);transition:background var(--t1);
}
.suggestion-item:last-of-type{border-bottom:none}
.suggestion-item:hover,.suggestion-item.focused{background:var(--c1-light)}
.suggestion-icon{
  width:34px;height:34px;border-radius:9px;
  background:var(--surface2);display:grid;place-items:center;
  font-size:1rem;flex-shrink:0;border:1px solid var(--border2);
}
.suggestion-info{flex:1;min-width:0}
.suggestion-title{font-size:.86rem;font-weight:700;color:var(--text)}
.suggestion-title mark{background:var(--c2-mid);color:var(--c1-dark);border-radius:2px;padding:0 2px;font-style:normal}
.suggestion-meta{font-size:.7rem;color:var(--text3);margin-top:2px}
.suggestion-ext{
  font-size:.67rem;font-weight:800;padding:2px 7px;
  border-radius:4px;background:var(--c1-light);color:var(--c1);flex-shrink:0;
}
.suggestion-loading{padding:14px;text-align:center;font-size:.83rem;color:var(--text3);display:flex;align-items:center;justify-content:center;gap:7px}
.search-no-results{padding:16px;text-align:center;font-size:.83rem;color:var(--text3)}
.search-no-results span{font-size:1.6rem;display:block;margin-bottom:5px}
.suggestion-view-all{
  padding:9px 15px;text-align:center;background:var(--surface2);
  font-size:.8rem;font-weight:700;color:var(--c1);
  cursor:pointer;border-top:1px solid var(--border2);transition:background var(--t1);
}
.suggestion-view-all:hover{background:var(--c1-light)}

.header-nav{display:flex;align-items:center;gap:7px;flex-shrink:0}

/* ══════════════════════════════════════
   BUTTONS
══════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:8px;
  font-family:var(--font);font-weight:700;font-size:.88rem;
  cursor:pointer;border:none;transition:all var(--t1);white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  color:var(--c1-deeper);box-shadow:0 2px 10px rgba(245,166,35,.35);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(245,166,35,.45);color:var(--c1-deeper)}
.btn-outline{
  background:rgba(255,255,255,.1);color:#fff;
  border:1.5px solid rgba(255,255,255,.3);
}
.btn-outline:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5)}
.btn-outline-dark{background:none;color:var(--c1);border:2px solid var(--c1)}
.btn-outline-dark:hover{background:var(--c1-light)}
.btn-accent{background:linear-gradient(135deg,var(--c1),var(--c1-dark));color:#fff;box-shadow:0 2px 8px rgba(26,58,143,.3)}
.btn-accent:hover{transform:translateY(-1px);color:#fff}
.btn-sm{padding:5px 13px;font-size:.8rem}
.btn-lg{padding:12px 28px;font-size:.97rem}
.w-full{width:100%}

/* ══════════════════════════════════════
   HERO BANNER
══════════════════════════════════════ */
.hero-banner{
  background:linear-gradient(150deg,var(--c1-deeper) 0%,var(--c1-dark) 45%,var(--c1) 80%,#2952c4 100%);
  color:#fff;padding:36px 0 16px;position:relative;overflow:hidden;
}
/* Geometric pattern */
.hero-banner::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(245,166,35,.12) 0%,transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.05) 0%,transparent 40%);
}
/* Wave bottom */
.hero-banner::after{
  content:'';position:absolute;bottom:-2px;left:-5%;right:-5%;
  height:28px;background:var(--bg);border-radius:50% 50% 0 0;
  z-index:1;
}
.hero-content{position:relative;text-align:center}

.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(245,166,35,.15);backdrop-filter:blur(8px);
  border:1px solid rgba(245,166,35,.4);
  border-radius:50px;padding:5px 18px;
  font-size:.8rem;font-weight:700;color:var(--c2);
  margin-bottom:16px;letter-spacing:.3px;
}
.hero-badge svg{color:var(--c2)}

.hero-title{
  font-size:clamp(1.6rem,3.8vw,2.7rem);
  font-weight:900;line-height:1.2;margin-bottom:10px;
  text-shadow:0 2px 12px rgba(0,0,0,.2);
}
.hero-title span{color:var(--c2)}

.hero-subtitle{font-size:.93rem;opacity:.82;margin-bottom:18px;max-width:540px;margin-inline:auto}

/* Hero search */
.hero-search-wrap{max-width:560px;margin:0 auto 12px;position:relative}
.hero-search-box{
  display:flex;align-items:center;
  background:rgba(255,255,255,.12);backdrop-filter:blur(12px);
  border:2px solid rgba(255,255,255,.25);
  border-radius:50px;padding:4px 4px 4px 20px;transition:all var(--t1);
}
.hero-search-box:focus-within{
  background:rgba(255,255,255,.18);
  border-color:var(--c2);box-shadow:0 0 0 4px rgba(245,166,35,.2);
}
.hero-search-box input{
  flex:1;border:none;background:none;outline:none;
  font-family:var(--font);font-size:.97rem;color:#fff;padding:9px 10px;
}
.hero-search-box input::placeholder{color:rgba(255,255,255,.58)}
.hero-search-box button{
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  border:none;border-radius:8px;padding:10px 24px;
  font-family:var(--font);font-weight:800;font-size:.9rem;
  color:var(--c1-deeper);cursor:pointer;transition:all var(--t1);
  display:flex;align-items:center;gap:6px;
}
.hero-search-box button:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(245,166,35,.5)}

.hero-suggestions{
  position:absolute;top:calc(100% + 9px);right:0;left:0;
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--r3);box-shadow:var(--sh4);
  z-index:9999;display:none;overflow:hidden;animation:dropIn .16s var(--ease);
}
.hero-suggestions.active{display:block}

/* Stats row - one line */
.hero-stats-row{
  display:inline-flex;align-items:center;flex-wrap:wrap;
  margin-top:22px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);border-radius:50px;
  padding:5px 5px;gap:0;
  position:relative;z-index:2;
}
.hero-stat-mini{display:flex;align-items:center;gap:5px;padding:4px 16px}
.hero-stat-mini .num{font-size:.97rem;font-weight:900;color:var(--c2)}
.hero-stat-mini .lbl{font-size:.72rem;color:rgba(255,255,255,.7)}
.hero-stat-sep{color:rgba(255,255,255,.2);font-size:1.1rem}

/* ══════════════════════════════════════
   CATEGORY BAR
══════════════════════════════════════ */
.category-bar{
  background:var(--surface);
  border-bottom:3px solid var(--c1-light);
  position:sticky;top:66px;z-index:99;
  box-shadow:0 2px 12px rgba(26,58,143,.08);
}
.category-bar-inner{
  display:flex;align-items:center;overflow-x:auto;
  scrollbar-width:none;padding:0 2px;
}
.category-bar-inner::-webkit-scrollbar{display:none}
.cat-tab,a.cat-tab{
  display:flex;align-items:center;gap:6px;padding:12px 16px;
  white-space:nowrap;color:var(--text2);font-weight:600;font-size:.84rem;
  border-bottom:3px solid transparent;cursor:pointer;
  background:none;border-left:none;border-right:none;border-top:none;
  font-family:var(--font);transition:all var(--t1);margin-bottom:-3px;
}
.cat-tab:hover{color:var(--c1);background:var(--c1-light)}
.cat-tab.active{color:var(--c1);border-bottom-color:var(--c2);background:var(--c1-light);font-weight:800}
.cat-tab .cat-count{
  background:var(--border2);color:var(--text3);
  border-radius:5px;padding:1px 7px;font-size:.69rem;transition:all var(--t1);
}
.cat-tab.active .cat-count{background:var(--c2);color:var(--c1-deeper)}

/* ══════════════════════════════════════
   MAIN LAYOUT
══════════════════════════════════════ */
.main-layout{
  display:grid;grid-template-columns:255px 1fr;
  gap:22px;padding:24px 0;align-items:start;
}
@media(max-width:900px){.main-layout{grid-template-columns:1fr}}

/* ══════════════════════════════════════
   SIDEBAR
══════════════════════════════════════ */
.sidebar{display:flex;flex-direction:column;gap:16px}
.sidebar-card{
  background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r3);overflow:hidden;box-shadow:var(--sh1);
}
.sidebar-card-header{
  padding:11px 15px;
  background:linear-gradient(90deg,var(--c1) 0%,var(--c1-dark) 100%);
  font-weight:800;font-size:.87rem;color:#fff;
  display:flex;align-items:center;gap:7px;
}
.sidebar-card-body{padding:13px}

.cat-tree{list-style:none}
.cat-tree li{border-bottom:1px solid var(--border2)}
.cat-tree li:last-child{border-bottom:none}
.cat-tree-link,a.cat-tree-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 4px;color:var(--text);font-size:.85rem;
  cursor:pointer;transition:color var(--t1);
}
.cat-tree-link:hover{color:var(--c1)}
.cat-tree-link.active{color:var(--c1);font-weight:800}
.cat-tree-link .cat-meta{display:flex;align-items:center;gap:7px}
.cat-badge{
  background:var(--c1-light);color:var(--c1);
  border-radius:50px;padding:1px 8px;font-size:.7rem;font-weight:700;
}

.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stat-box{
  background:var(--surface2);border-radius:var(--r1);
  padding:10px;text-align:center;border:1px solid var(--border2);
}
.stat-box .s-num{font-size:1.25rem;font-weight:900;color:var(--c1);display:block}
.stat-box .s-lbl{font-size:.68rem;color:var(--text3);margin-top:2px}

.upload-cta{
  background:linear-gradient(145deg,var(--c1-deeper),var(--c1-dark));
  color:#fff;border-radius:var(--r3);padding:18px;text-align:center;
  border:1px solid rgba(245,166,35,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.upload-cta h4{font-size:.92rem;font-weight:800;margin-bottom:5px}
.upload-cta p{font-size:.78rem;opacity:.8;margin-bottom:13px}

/* ══════════════════════════════════════
   FILES SECTION
══════════════════════════════════════ */
.files-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;flex-wrap:wrap;gap:10px;
}
.files-title{font-size:1rem;font-weight:800;color:var(--text)}
.files-count{
  background:var(--c1-light);color:var(--c1);
  border-radius:50px;padding:2px 10px;font-size:.76rem;font-weight:700;
}
.files-controls{display:flex;align-items:center;gap:7px}
.sort-select{
  border:1.5px solid var(--border);border-radius:var(--r1);
  padding:6px 11px;font-family:var(--font);font-size:.8rem;
  color:var(--text);background:#fff;cursor:pointer;outline:none;
  transition:border-color var(--t1);
}
.sort-select:focus{border-color:var(--c1)}
.view-toggle{display:flex;gap:3px}
.view-btn{
  width:30px;height:30px;border-radius:var(--r1);
  border:1.5px solid var(--border);background:#fff;
  display:grid;place-items:center;cursor:pointer;
  color:var(--text3);transition:all var(--t1);
}
.view-btn.active,.view-btn:hover{
  background:var(--c1-light);border-color:var(--c1);color:var(--c1);
}

/* ══════════════════════════════════════
   FILE CARDS
══════════════════════════════════════ */
.files-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:14px;
}
.files-list{display:flex;flex-direction:column;gap:10px}

.file-card{
  position:relative;z-index:1;
  background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r3);overflow:hidden;
  transition:all var(--t2);box-shadow:var(--sh1);position:relative;
}
.file-card:hover{
  border-color:var(--c2);transform:translateY(-4px);
  box-shadow:var(--sh3);
}

/* Folder tab at top */
.file-card-thumb-link{display:block;text-decoration:none}
.file-card-thumb{
  height:105px;display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;position:relative;overflow:hidden;
  transition:opacity var(--t1);
}
.file-card-thumb-link:hover .file-card-thumb{opacity:.9}
.file-card-thumb::before{
  content:'';position:absolute;top:0;right:12px;
  width:36px;height:6px;background:var(--c2);
  border-radius:0 0 4px 4px;opacity:.8;
}
.type-pdf   .file-card-thumb{background:linear-gradient(145deg,#fff5f2,#ffe8e2)}
.type-doc   .file-card-thumb{background:linear-gradient(145deg,#f2f5ff,#dce6ff)}
.type-xls   .file-card-thumb{background:linear-gradient(145deg,#f2fff8,#d6f5e8)}
.type-ppt   .file-card-thumb{background:linear-gradient(145deg,#fff8f2,#ffe8cc)}
.type-img   .file-card-thumb{background:linear-gradient(145deg,#f8f2ff,#eddaff)}
.type-zip   .file-card-thumb{background:linear-gradient(145deg,var(--c1-light),#d8e4ff)}
.type-other .file-card-thumb{background:linear-gradient(145deg,var(--surface2),#e4eaf8)}

.file-type-badge{
  position:absolute;top:8px;left:8px;
  background:rgba(255,255,255,.93);border-radius:5px;
  padding:2px 7px;font-size:.67rem;font-weight:800;
  letter-spacing:.4px;text-transform:uppercase;
  border:1px solid var(--border2);
}
.type-pdf  .file-type-badge{color:#dc2626}
.type-doc  .file-type-badge{color:#2563eb}
.type-xls  .file-type-badge{color:#059669}
.type-ppt  .file-type-badge{color:#d97706}
.type-img  .file-type-badge{color:#7c3aed}
.type-zip  .file-type-badge{color:var(--c1)}

.file-card-body{padding:12px 13px 8px}
.file-card-cat{
  font-size:.67rem;font-weight:800;color:var(--c1);
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;
  display:flex;align-items:center;gap:4px;
}
.file-card-title{
  font-size:.88rem;font-weight:700;color:var(--text);
  margin-bottom:7px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.file-card-meta{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  font-size:.7rem;color:var(--text3);
}
.file-meta-item{display:flex;align-items:center;gap:2px}

.file-card-footer{
  padding:9px 10px 11px;
  background:var(--surface);
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:7px;
}

/* ── أزرار البطاقة ── */
.fc-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:1;
  padding:9px 6px;
  font-family:var(--font);
  font-size:.8rem;
  font-weight:800;
  cursor:pointer;
  transition:all var(--t1);
  border-radius:8px;
}

/* تحميل — ذهبي */
.fc-btn-dl{
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  color:var(--c1-deeper);
  border:none;
  box-shadow:0 2px 8px rgba(245,166,35,.3);
}
.fc-btn-dl:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(245,166,35,.45)}
.fc-btn-dl:active{transform:translateY(0)}

/* معاينة — outline أزرق */
.fc-btn-preview{
  background:none;
  color:var(--c1);
  border:2px solid var(--c1);
}
.fc-btn-preview:hover{background:var(--c1-light)}

.download-count{font-size:.7rem;color:var(--text3);display:flex;align-items:center;gap:2px}

/* ══════════════════════════════════════
   PAGINATION
══════════════════════════════════════ */
.pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:28px;flex-wrap:wrap}
.page-btn{
  width:34px;height:34px;border-radius:var(--r1);
  border:1.5px solid var(--border);background:#fff;
  display:grid;place-items:center;
  font-family:var(--font);font-size:.86rem;font-weight:700;
  cursor:pointer;color:var(--text3);transition:all var(--t1);
}
.page-btn:hover{border-color:var(--c1);color:var(--c1);background:var(--c1-light)}
.page-btn.active{
  background:linear-gradient(135deg,var(--c1),var(--c1-dark));
  border-color:var(--c1);color:#fff;
}

/* ══════════════════════════════════════
   MODALS
══════════════════════════════════════ */
.modal-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(8,22,64,.72);backdrop-filter:blur(5px);
  display:flex;align-items:center;justify-content:center;
  padding:18px;opacity:0;pointer-events:none;transition:opacity var(--t2);
}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{
  background:#fff;border-radius:var(--r4);
  width:100%;max-width:820px;max-height:90vh;
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:var(--sh4);
  transform:translateY(18px);transition:transform var(--t2);
  border-top:4px solid var(--c2);
}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-header{
  padding:16px 22px;
  background:linear-gradient(90deg,var(--c1-deeper),var(--c1-dark));
  display:flex;align-items:center;justify-content:space-between;
}
.modal-title{font-size:1rem;font-weight:800;color:#fff}
.modal-close{
  width:30px;height:30px;border-radius:50%;border:none;
  background:rgba(255,255,255,.12);cursor:pointer;
  display:grid;place-items:center;font-size:.95rem;color:#fff;
  transition:all var(--t1);
}
.modal-close:hover{background:var(--red)}
.modal-body{padding:22px;overflow-y:auto;flex:1}
.modal-footer{
  padding:13px 22px;border-top:1.5px solid var(--border2);
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  background:var(--surface2);
}

/* Upload Dropzone */
.upload-dropzone{
  border:2.5px dashed var(--border);border-radius:var(--r3);
  padding:34px;text-align:center;background:var(--bg);
  cursor:pointer;transition:all var(--t2);margin-bottom:16px;
}
.upload-dropzone:hover,.upload-dropzone.drag-over{
  border-color:var(--c1);background:var(--c1-light);
}
.upload-dropzone-icon{font-size:2.6rem;margin-bottom:9px}
.upload-dropzone h4{font-size:.97rem;font-weight:700;color:var(--text)}
.upload-dropzone p{font-size:.8rem;color:var(--text3);margin-top:4px}

/* Forms */
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:5px}
.form-input{
  width:100%;padding:9px 13px;
  border:1.5px solid var(--border);border-radius:var(--r1);
  font-family:var(--font);font-size:.87rem;color:var(--text);
  background:#fff;outline:none;direction:rtl;
  transition:border-color var(--t1),box-shadow var(--t1);
}
.form-input:focus{border-color:var(--c1);box-shadow:0 0 0 3px rgba(26,58,143,.12)}
textarea.form-input{min-height:78px;resize:vertical}
.form-select{
  width:100%;padding:9px 13px;
  border:1.5px solid var(--border);border-radius:var(--r1);
  font-family:var(--font);font-size:.87rem;color:var(--text);
  background:#fff;cursor:pointer;outline:none;
  transition:border-color var(--t1);
}
.form-select:focus{border-color:var(--c1)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════
   SINGLE FILE PAGE
══════════════════════════════════════ */
.file-hero-compact{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--r4);border-top:4px solid var(--c2);
  box-shadow:var(--sh2);overflow:hidden;margin-bottom:18px;
}
.file-hero-top{
  display:flex;align-items:flex-start;gap:16px;padding:20px;
  background:linear-gradient(135deg,var(--c1-light),#edf2ff);
}
.file-hero-icon{
  width:70px;height:70px;border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;flex-shrink:0;box-shadow:var(--sh2);
}
.file-hero-icon.type-pdf{background:linear-gradient(135deg,#fff5f2,#ffe0d8)}
.file-hero-icon.type-doc{background:linear-gradient(135deg,#f2f5ff,#dce6ff)}
.file-hero-icon.type-xls{background:linear-gradient(135deg,#f2fff8,#d6f5e8)}
.file-hero-icon.type-img{background:linear-gradient(135deg,#f8f2ff,#eddaff)}
.file-hero-icon.type-zip{background:linear-gradient(135deg,var(--c1-light),#d8e4ff)}
.file-hero-icon.type-other{background:linear-gradient(135deg,var(--surface2),#e4eaf8)}

.file-hero-info{flex:1;min-width:0}
.file-hero-cat{
  font-size:.7rem;font-weight:800;color:var(--c1);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;
}
.file-hero-title{
  font-size:1.12rem;font-weight:900;color:var(--text);
  line-height:1.3;margin-bottom:8px;
}
.file-hero-meta{
  display:flex;gap:10px;flex-wrap:wrap;
  font-size:.73rem;color:var(--text3);
}
.file-hero-meta-item{display:flex;align-items:center;gap:3px}

.file-hero-actions{
  padding:14px 20px;border-top:1px solid var(--border2);
  display:flex;gap:10px;flex-wrap:wrap;background:#fff;
}
.btn-dl-main{
  flex:1;min-width:150px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  color:var(--c1-deeper);border:none;border-radius:8px;padding:13px 22px;
  font-family:var(--font);font-size:.97rem;font-weight:900;
  cursor:pointer;transition:all var(--t1);
  box-shadow:0 4px 16px rgba(245,166,35,.38);
}
.btn-dl-main:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(245,166,35,.48)}
.btn-dl-main .dl-size{font-size:.78rem;font-weight:500;opacity:.85}
.btn-preview-main{
  display:flex;align-items:center;gap:6px;
  background:none;color:var(--c1);
  border:2px solid var(--c1);border-radius:8px;padding:12px 20px;
  font-family:var(--font);font-size:.88rem;font-weight:700;
  cursor:pointer;transition:all var(--t1);
}
.btn-preview-main:hover{background:var(--c1-light)}

.file-stats-bar{
  display:flex;border-top:1px solid var(--border2);background:var(--surface2);
}
.file-stat-item{
  flex:1;text-align:center;padding:9px 6px;
  border-left:1px solid var(--border2);
}
.file-stat-item:last-child{border-left:none}
.file-stat-item .sv{font-size:.95rem;font-weight:900;color:var(--c1);display:block}
.file-stat-item .sl{font-size:.62rem;color:var(--text3);margin-top:1px}

.stars-row{display:flex;gap:1px;justify-content:center;margin-bottom:2px}
.stars-row .s{color:var(--border);font-size:.88rem}
.stars-row .s.on{color:var(--c2)}

.preview-frame{width:100%;height:460px;border:none;border-radius:var(--r2);background:var(--bg)}

/* ══════════════════════════════════════
   COMMENTS
══════════════════════════════════════ */
.comments-section{margin-top:24px}
.comments-title{
  font-size:1rem;font-weight:800;margin-bottom:16px;
  display:flex;align-items:center;gap:8px;color:var(--text);
}
.comment-card{
  background:#fff;border:1.5px solid var(--border2);
  border-radius:var(--r2);padding:14px;margin-bottom:10px;
  border-right:3px solid var(--c1-mid);
}
.comment-header{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.comment-avatar{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--c1),var(--c1-dark));
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem;flex-shrink:0;
}
.comment-name{font-weight:700;font-size:.86rem;color:var(--text)}
.comment-date{font-size:.7rem;color:var(--text3)}
.comment-text{font-size:.86rem;color:var(--text);line-height:1.65}
.comment-form{
  background:var(--surface2);border-radius:var(--r3);
  padding:16px;border:1.5px solid var(--border2);
}
.comment-form-title{font-size:.88rem;font-weight:700;margin-bottom:11px;color:var(--c1)}

/* Related */
.related-files{margin-top:22px}
.related-title{
  font-size:.97rem;font-weight:800;margin-bottom:13px;
  display:flex;align-items:center;gap:7px;color:var(--text);
}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}

/* ══════════════════════════════════════
   RATING WIDGET
══════════════════════════════════════ */
.rating-widget{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--r3);padding:18px;text-align:center;
  border-top:3px solid var(--c2);box-shadow:var(--sh1);
}
.rating-title{font-weight:800;margin-bottom:9px;color:var(--c1);font-size:.9rem}
.rating-big{font-size:2.6rem;font-weight:900;color:var(--c1)}
.rating-count{font-size:.74rem;color:var(--text3)}
.rate-stars{display:flex;justify-content:center;gap:6px;margin:12px 0}
.rate-star{font-size:1.7rem;cursor:pointer;color:var(--border2);transition:color var(--t1)}
.rate-star:hover,.rate-star.hover,.rate-star.active{color:var(--c2)}

/* ══════════════════════════════════════
   SHARE BAR
══════════════════════════════════════ */
.share-bar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:11px 16px;background:#fff;
  border:1.5px solid var(--border2);border-radius:var(--r2);
}
.share-label{font-weight:700;font-size:.8rem;color:var(--text3);margin-left:3px}
.share-btn{
  width:34px;height:34px;border-radius:50%;border:none;
  display:grid;place-items:center;cursor:pointer;
  font-size:.83rem;transition:all var(--t1);color:#fff;font-weight:700;
}
.share-btn.fb{background:#1877f2}
.share-btn.tw{background:#000}
.share-btn.wa{background:#25d366}
.share-btn.tg{background:#0088cc}
.share-btn.cp{background:var(--c1)}
.share-btn:hover{transform:scale(1.15)}

/* ══════════════════════════════════════
   NOTICES / TAGS
══════════════════════════════════════ */
.admin-notice{
  background:var(--c2-light);border-right:4px solid var(--c2);
  border-radius:var(--r1);padding:10px 14px;
  font-size:.82rem;font-weight:600;color:var(--c1-dark);
  display:flex;align-items:center;gap:7px;margin-bottom:14px;
}
.tag{
  background:var(--c1-light);color:var(--c1);
  border-radius:50px;padding:3px 10px;
  font-size:.72rem;font-weight:700;border:1px solid var(--c1-mid);
}

/* ══════════════════════════════════════
   SEARCH PAGE
══════════════════════════════════════ */
.search-results-header{
  padding:16px 0;border-bottom:2px solid var(--border);margin-bottom:20px;
}
.search-query{font-size:1.1rem;font-weight:900}
.search-query span{color:var(--c1)}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
#site-footer{
  background:linear-gradient(150deg,var(--c1-deeper) 0%,var(--c1-dark) 60%,var(--c1) 100%);
  color:rgba(255,255,255,.8);margin-top:52px;padding:36px 0 18px;
  border-top:4px solid var(--c2);
}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:26px;margin-bottom:26px}
.footer-logo{
  font-size:1.25rem;font-weight:900;color:#fff;margin-bottom:8px;
  display:flex;align-items:center;gap:8px;
}
.footer-logo .logo-icon{width:32px;height:32px;border-radius:8px;font-size:.95rem}
.footer-desc{font-size:.8rem;opacity:.68;line-height:1.7}
.footer-title{
  font-size:.8rem;font-weight:800;color:var(--c2);
  margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;
}
.footer-links{list-style:none}
.footer-links li{margin-bottom:7px}
.footer-links a{color:rgba(255,255,255,.58);font-size:.8rem;transition:color var(--t1)}
.footer-links a:hover{color:var(--c2)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);padding-top:15px;
  text-align:center;font-size:.76rem;opacity:.45;
}

/* ══════════════════════════════════════
   TOAST
══════════════════════════════════════ */
.toast{
  position:fixed;bottom:20px;left:20px;z-index:99999;
  background:var(--c1-deeper);color:#fff;
  border-radius:var(--r2);padding:12px 18px;
  font-size:.84rem;font-weight:700;
  box-shadow:var(--sh4);
  transform:translateY(70px);opacity:0;
  transition:all var(--t2);pointer-events:none;max-width:300px;
  border-right:4px solid var(--c2);
}
.toast.show{transform:translateY(0);opacity:1}
.toast.success{background:var(--green);border-right-color:#a7f3d0}
.toast.error{background:var(--red);border-right-color:#fca5a5}

/* Spinner */
.spin{
  display:inline-block;width:13px;height:13px;
  border:2px solid rgba(26,58,143,.2);border-top-color:var(--c1);
  border-radius:50%;animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:768px){
  .hero-banner{padding:28px 0 24px}
  .hero-stats-row{padding:3px}
  .hero-stat-mini{padding:3px 10px}
  .header-search{display:none}
  .main-layout{grid-template-columns:1fr}
  .sidebar{order:2}
  .files-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .footer-grid{grid-template-columns:1fr}
  .btn-lg{padding:10px 22px;font-size:.9rem}
}
@media(max-width:480px){
  .files-grid{grid-template-columns:1fr 1fr;gap:9px}
  .hero-title{font-size:1.4rem}
  .container{padding:0 12px}
  .file-card-thumb{height:90px}
  .file-hero-top{padding:14px;gap:12px}
  .file-hero-title{font-size:.97rem}
  .btn-dl-main{font-size:.9rem;padding:11px 16px}
}

/* Admin bar */
.admin-bar #site-header{top:32px}
.admin-bar .category-bar{top:98px}
@media(max-width:782px){
  .admin-bar #site-header{top:46px}
  .admin-bar .category-bar{top:112px}
}

/* Utilities */
.hidden{display:none!important}
.mt-2{margin-top:8px}.mt-3{margin-top:14px}.mt-4{margin-top:20px}
.mb-2{margin-bottom:8px}.mb-3{margin-bottom:14px}.mb-4{margin-bottom:20px}
.text-muted{color:var(--text3)}
.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}

/* ══════════════════════════════════════
   SINGLE FILE PAGE v3
══════════════════════════════════════ */
.single-file-main{padding:18px 0 48px}
.sf-breadcrumb{
  font-size:.78rem;color:var(--text3);margin-bottom:18px;
  display:flex;align-items:center;flex-wrap:wrap;
}
.sf-breadcrumb a{color:var(--c1);font-weight:600}
.sf-breadcrumb a:hover{color:var(--c1-dark)}

/* Layout grid */
.sf-layout{
  display:grid;grid-template-columns:1fr 290px;gap:22px;align-items:start;
}
@media(max-width:900px){.sf-layout{grid-template-columns:1fr}}

/* ── Main Card ── */
.sf-card{
  background:var(--surface);border-radius:var(--r4);
  border:1.5px solid var(--border);box-shadow:var(--sh2);
  overflow:hidden;margin-bottom:16px;
}

/* Card header - gradient bg */
.sf-card-header{
  position:relative;overflow:hidden;
  padding:22px 22px 0;
  background:linear-gradient(145deg,var(--c1-deeper),var(--c1-dark));
  min-height:130px;
}
.sf-card-header-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 85% 30%, rgba(245,166,35,.2) 0%,transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.05) 0%,transparent 40%);
}
.sf-card-header-content{
  position:relative;z-index:1;
  display:flex;gap:16px;align-items:flex-start;
  padding-bottom:22px;
}
.sf-icon{
  width:72px;height:72px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
}
.sf-icon.type-pdf{background:linear-gradient(135deg,#fff5f2,#ffe8e0)}
.sf-icon.type-doc{background:linear-gradient(135deg,#f0f5ff,#d8e4ff)}
.sf-icon.type-xls{background:linear-gradient(135deg,#f0fff8,#d0f5e8)}
.sf-icon.type-img{background:linear-gradient(135deg,#f8f0ff,#eadaff)}
.sf-icon.type-zip{background:linear-gradient(135deg,#fff8e6,#fde68a)}
.sf-icon.type-ppt{background:linear-gradient(135deg,#fff8f0,#ffe4c0)}
.sf-icon.type-other{background:linear-gradient(135deg,#f0f4ff,#dce8ff)}

.sf-info{flex:1;min-width:0}
.sf-cat-link{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(245,166,35,.2);border:1px solid rgba(245,166,35,.4);
  color:var(--c2);border-radius:50px;padding:3px 12px;
  font-size:.72rem;font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;margin-bottom:7px;
  transition:all var(--t1);
}
.sf-cat-link:hover{background:rgba(245,166,35,.3);color:var(--c2)}
.sf-title{
  font-size:1.2rem;font-weight:900;color:#fff;
  line-height:1.28;margin-bottom:10px;
}
.sf-chips{display:flex;flex-wrap:wrap;gap:6px}
.sf-chip{
  background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.18);border-radius:50px;
  padding:3px 10px;font-size:.72rem;font-weight:600;
  display:flex;align-items:center;gap:4px;
}
.sf-chip-type{
  background:rgba(245,166,35,.25);color:var(--c2);
  border-color:rgba(245,166,35,.4);font-weight:800;letter-spacing:.4px;
}
.sf-chip-rating{color:#fde68a;background:rgba(245,166,35,.15)}

/* Action buttons */
.sf-actions{
  padding:16px 20px;display:flex;gap:10px;flex-wrap:wrap;
  background:#fff;border-bottom:1px solid var(--border2);
}
.sf-btn-dl{
  flex:1;min-width:160px;
  display:flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(135deg,var(--c2),var(--c2-dark));
  color:var(--c1-deeper);border:none;border-radius:var(--r2);
  padding:14px 24px;font-family:var(--font);font-size:1rem;font-weight:900;
  cursor:pointer;transition:all var(--t1);
  box-shadow:0 4px 16px rgba(245,166,35,.4);
}
.sf-btn-dl:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,166,35,.5)}
.sf-btn-dl svg{flex-shrink:0}
.sf-btn-size{
  font-size:.78rem;font-weight:500;opacity:.8;
  background:rgba(0,0,0,.1);border-radius:50px;padding:1px 8px;
}
.sf-btn-preview{
  display:flex;align-items:center;gap:7px;
  background:none;color:var(--c1);
  border:2px solid var(--c1);border-radius:var(--r2);padding:13px 20px;
  font-family:var(--font);font-size:.9rem;font-weight:700;
  cursor:pointer;transition:all var(--t1);
}
.sf-btn-preview:hover{background:var(--c1-light)}

/* Stats strip */
.sf-stats-strip{
  display:flex;background:var(--surface2);
}
.sf-stat{
  flex:1;text-align:center;padding:11px 6px;
  border-left:1px solid var(--border2);
}
.sf-stat:last-child{border-left:none}
.sf-stat-v{
  font-size:1rem;font-weight:900;color:var(--c1);
  display:block;margin-bottom:2px;
}
.sf-stat-l{font-size:.62rem;color:var(--text3);display:block}

/* Tags */
.sf-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}

/* Description */
.sf-desc{
  background:var(--surface);border:1.5px solid var(--border2);
  border-radius:var(--r3);padding:18px;margin-bottom:16px;
  font-size:.9rem;line-height:1.8;color:var(--text2);
  border-right:4px solid var(--c1-mid);
}

/* Share */
.sf-share{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:13px 16px;background:var(--surface);
  border:1.5px solid var(--border2);border-radius:var(--r2);
  margin-bottom:20px;
}
.sf-share-label{font-weight:700;font-size:.8rem;color:var(--text3);margin-left:4px}
.sf-share-btn{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;font-size:.82rem;font-weight:700;
  transition:all var(--t1);color:#fff;text-decoration:none;
}
.sf-share-fb{background:#1877f2}
.sf-share-tw{background:#000}
.sf-share-wa{background:#25d366}
.sf-share-tg{background:#0088cc}
.sf-share-cp{background:var(--c1)}
.sf-share-btn:hover{transform:scale(1.15);color:#fff}

/* Section title */
.sf-section-title{
  font-size:.97rem;font-weight:800;margin-bottom:16px;
  display:flex;align-items:center;gap:8px;color:var(--text);
  padding-bottom:10px;border-bottom:2px solid var(--border2);
}
.sf-section-title svg{color:var(--c1);flex-shrink:0}
.sf-count{
  background:var(--c1-light);color:var(--c1);
  border-radius:50px;padding:1px 9px;font-size:.75rem;
}

/* Comments */
.sf-comments{margin-bottom:24px}
.sf-comment{
  display:flex;gap:12px;padding:14px;
  background:var(--surface);border:1.5px solid var(--border2);
  border-radius:var(--r2);margin-bottom:10px;
  transition:border-color var(--t1);
}
.sf-comment:hover{border-color:var(--c1-mid)}
.sf-comment-av{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;color:#fff;
}
.sf-comment-body{flex:1;min-width:0}
.sf-comment-head{
  display:flex;align-items:center;gap:8px;margin-bottom:6px;
}
.sf-comment-name{font-weight:700;font-size:.86rem;color:var(--text)}
.sf-comment-time{font-size:.7rem;color:var(--text3)}
.sf-comment-text{font-size:.86rem;color:var(--text2);line-height:1.65}
.sf-no-comments{
  color:var(--text3);font-size:.88rem;
  padding:20px;text-align:center;
  background:var(--surface2);border-radius:var(--r2);
}
.sf-comment-form{
  background:var(--c1-light);border-radius:var(--r3);
  padding:18px;border:1.5px solid var(--c1-mid);
}
.sf-comment-form-title{
  font-size:.9rem;font-weight:800;margin-bottom:13px;color:var(--c1);
}

/* Related */
.sf-related{margin-bottom:8px}

/* ── Sidebar Widgets ── */
.sf-sidebar{display:flex;flex-direction:column;gap:16px}
.sf-widget{
  background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r3);overflow:hidden;box-shadow:var(--sh1);
}
.sf-widget-title{
  font-size:.87rem;font-weight:800;color:#fff;
  padding:12px 15px;
  background:linear-gradient(90deg,var(--c1-dark),var(--c1));
  display:flex;align-items:center;gap:6px;
}
.sf-widget-rating{border-top:3px solid var(--c2)}
.sf-widget-rating .sf-widget-title{
  background:linear-gradient(90deg,var(--c1-deeper),var(--c1-dark));
}
.sf-widget > *:not(.sf-widget-title){padding:15px}

.sf-rating-big{
  font-size:3rem;font-weight:900;color:var(--c1);
  text-align:center;line-height:1;
}
.sf-rating-stars{
  display:flex;justify-content:center;gap:3px;margin:8px 0 4px;
}
.sf-rating-count{
  text-align:center;font-size:.75rem;color:var(--text3);margin-bottom:4px;
}

/* Info table */
.sf-info-table{padding:0!important}
.sf-info-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 15px;border-bottom:1px solid var(--border2);
  font-size:.83rem;
}
.sf-info-row:last-child{border-bottom:none}
.sf-info-label{color:var(--text3);font-weight:600}
.sf-info-val{font-weight:800;color:var(--text)}

/* Cat list */
.sf-cat-list{list-style:none;padding:0!important}
.sf-cat-item{
  border-bottom:1px solid var(--border2);
}
.sf-cat-item:last-child{border-bottom:none}
.sf-cat-item a{
  display:flex;align-items:center;gap:8px;
  padding:9px 15px;color:var(--text);font-size:.85rem;
  transition:all var(--t1);justify-content:space-between;
  text-decoration:none;
}
.sf-cat-item a:hover{background:var(--c1-light);color:var(--c1)}
.sf-cat-item a > span:first-child{flex-shrink:0}
.sf-cat-item a > span:nth-child(2){flex:1;margin-right:4px}
.sf-cat-current a{background:var(--c1-light);color:var(--c1);font-weight:700}
.sf-cat-current .cat-badge{background:var(--c1);color:#fff}

/* Mobile adjustments */
@media(max-width:600px){
  .sf-card-header-content{flex-direction:column;gap:12px}
  .sf-icon{width:60px;height:60px;font-size:2.4rem}
  .sf-title{font-size:1rem}
  .sf-actions{flex-direction:column}
  .sf-btn-dl{min-width:100%}
  .sf-stats-strip{flex-wrap:wrap}
  .sf-stat{min-width:33.33%}
}

/* ══ COMMENT REPLIES ════════════════════════════════ */
.sf-reply-btn{
  background:none;border:1.5px solid var(--c1-mid);
  color:var(--c1);border-radius:50px;
  padding:3px 11px;font-family:var(--font);font-size:.72rem;font-weight:700;
  cursor:pointer;transition:all var(--t1);
  display:inline-flex;align-items:center;gap:4px;margin-top:7px;
}
.sf-reply-btn:hover{background:var(--c1-light);border-color:var(--c1)}

.sf-reply-form{
  margin-top:10px;background:var(--c1-light);
  border-radius:var(--r2);padding:12px;
  border:1px solid var(--c1-mid);
  animation:dropIn .16s var(--ease);
}
.sf-reply-submit{
  background:linear-gradient(135deg,var(--c1),var(--c1-dark));
  color:#fff;border:none;border-radius:var(--r1);
  padding:8px 16px;font-family:var(--font);font-size:.82rem;font-weight:700;
  cursor:pointer;transition:all var(--t1);flex-shrink:0;
}
.sf-reply-submit:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(26,58,143,.3)}

.sf-replies{
  margin-right:46px;
  border-right:3px solid var(--c1-mid);
  padding-right:14px;
}
.sf-reply-item{
  padding:10px;margin-bottom:6px;
  background:var(--surface2);border-color:var(--border2);
}
.sf-reply-item:hover{border-color:var(--c1-mid)}

/* ══ FLOATING ADMIN FAB ══════════════════════════── */
/* FAB styles are inline in functions.php for reliability */

/* ══════════════════════════════════════
   FILE CARD v4 — Stacked Buttons + Sharp-ish corners
══════════════════════════════════════ */

/* Override global radius for cards */
.file-card {
  border-radius: 10px !important;
  overflow: hidden;
  transition: all var(--t2);
  box-shadow: var(--sh1);
  border: 1.5px solid var(--border);
  background: var(--surface);
  position: relative;
  display: flex;
  flex-direction: column;
}
.file-card:hover {
  border-color: var(--c2);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(26,58,143,.16);
}

/* Thumb link wrapper */
.file-card-thumb-link {
  display: block;
  text-decoration: none;
}

.file-card-thumb {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border2);
}

/* Folder tab */
.file-card-thumb::before {
  content: '';
  position: absolute;
  top: 0; right: 12px;
  width: 38px; height: 6px;
  background: var(--c2);
  border-radius: 0 0 4px 4px;
  opacity: .85;
}

.fc-icon { font-size: 2.6rem; }

/* Rating badge on thumb */
.fc-rating-badge {
  position: absolute;
  bottom: 7px; left: 7px;
  background: rgba(245,166,35,.9);
  color: #0f2460;
  border-radius: 5px;
  padding: 2px 7px;
  font-size: .68rem;
  font-weight: 800;
}

/* File type backgrounds */
.type-pdf   .file-card-thumb { background: linear-gradient(145deg,#fff8f6,#ffe8e0); }
.type-doc   .file-card-thumb { background: linear-gradient(145deg,#f5f8ff,#dce8ff); }
.type-xls   .file-card-thumb { background: linear-gradient(145deg,#f2fff8,#d4f5e5); }
.type-ppt   .file-card-thumb { background: linear-gradient(145deg,#fff8f0,#ffe4c0); }
.type-img   .file-card-thumb { background: linear-gradient(145deg,#f8f3ff,#eedaff); }
.type-zip   .file-card-thumb { background: linear-gradient(145deg,var(--c1-light),#d8e4ff); }
.type-other .file-card-thumb { background: linear-gradient(145deg,var(--surface2),#e4eaf8); }

/* Type badge - top left */
.file-type-badge {
  position: absolute;
  top: 7px; left: 7px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border2);
  border-radius: 5px;
  padding: 2px 7px;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.type-pdf  .file-type-badge { color: #dc2626; }
.type-doc  .file-type-badge { color: #2563eb; }
.type-xls  .file-type-badge { color: #059669; }
.type-ppt  .file-type-badge { color: #d97706; }
.type-img  .file-type-badge { color: #7c3aed; }
.type-zip  .file-type-badge { color: var(--c1); }

/* Body */
.file-card-body {
  padding: 11px 12px 8px;
  flex: 1;
}

.file-card-cat {
  font-size: .68rem;
  font-weight: 800;
  color: var(--c1);
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  transition: color var(--t1);
}
.file-card-cat:hover { color: var(--c1-dark); }

.file-card-title {
  font-size: .88rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 7px;
  line-height: 1.38;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.file-card-title a { color: inherit; text-decoration: none; }
.file-card-title a:hover { color: var(--c1); }

.file-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: .7rem;
  color: var(--text3);
}
.file-meta-item { display: flex; align-items: center; gap: 2px; }

/* ── STACKED BUTTONS FOOTER ── */
.file-card-footer {
  padding: 0;
  border-top: 1px solid var(--border2);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.fc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 12px;
  border: none;
  font-family: var(--font);
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--t1);
  border-radius: 0;
  width: 100%;
}

.fc-btn-dl {
  background: linear-gradient(90deg, var(--c2), #e8940a);
  color: var(--c1-deeper);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.fc-btn-dl:hover {
  background: linear-gradient(90deg, #e8940a, var(--c1-dark));
  color: #fff;
}

.fc-btn-preview {
  background: var(--surface2);
  color: var(--c1);
}
.fc-btn-preview:hover {
  background: var(--c1-light);
  color: var(--c1-dark);
}

/* Bottom corners rounded */
.fc-btn-preview:last-child {
  border-radius: 0 0 9px 9px;
}

/* ── LIST VIEW overrides ── */
.files-list .file-card {
  flex-direction: row;
  align-items: stretch;
  border-radius: 8px !important;
}
.files-list .file-card-thumb-link { flex-shrink: 0; }
.files-list .file-card-thumb {
  width: 80px;
  height: 80px;
  border-bottom: none;
  border-left: 1px solid var(--border2);
}
.files-list .file-card-thumb::before { display: none; }
.files-list .file-card-body { padding: 10px 12px; }
.files-list .file-card-footer {
  flex-direction: column;
  justify-content: center;
  padding: 8px;
  border-top: none;
  border-right: 1px solid var(--border2);
  min-width: 90px;
  gap: 4px;
}
.files-list .fc-btn {
  padding: 6px 10px;
  font-size: .75rem;
  border-radius: 6px !important;
  border: none;
}
.files-list .fc-btn-preview {
  border: 1.5px solid var(--c1) !important;
}

/* ── GRID responsive ── */
.files-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
  gap: 14px;
}

@media (max-width: 480px) {
  .files-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .file-card-thumb { height: 88px; }
  .fc-btn { padding: 8px 10px; font-size: .78rem; }
}
@media (max-width: 360px) {
  .files-grid { grid-template-columns: 1fr; }
}

/* ── GENERAL DESIGN IMPROVEMENTS ── */

/* Less rounded on most elements */
.btn         { border-radius: 8px !important; }
.btn.btn-sm  { border-radius: 7px !important; }
.btn.btn-lg  { border-radius: 10px !important; }
.sort-select { border-radius: 7px !important; }
.view-btn    { border-radius: 6px !important; }
.tag         { border-radius: 6px !important; }
.cat-badge   { border-radius: 6px !important; }
.page-btn    { border-radius: 6px !important; }
.form-input  { border-radius: 7px !important; }
.form-select { border-radius: 7px !important; }
.sidebar-card{ border-radius: 10px !important; }
.upload-cta  { border-radius: 10px !important; }

/* Hero search buttons less round */
.hero-search-box button { border-radius: 7px !important; }
.hero-search-wrap .hero-search-box { border-radius: 10px !important; }
.header-search-inner { border-radius: 10px !important; }
.header-search-inner button { border-radius: 7px !important; }

/* Category bar tabs - flat bottom */
.cat-tab { border-radius: 0 !important; }

/* Modal corners */
.modal { border-radius: 14px !important; }
.modal-close { border-radius: 7px !important; }

/* Toast */
.toast { border-radius: 8px !important; }

/* ── SEARCH SUGGESTIONS improvement ── */
.search-suggestions { border-radius: 10px !important; }
.hero-suggestions   { border-radius: 10px !important; }

/* ── BETTER HEADER search ── */
.header-search-inner {
  border-radius: 10px !important;
  padding: 3px 3px 3px 14px;
}

/* ── Stats row slightly better ── */
.hero-stats-row { border-radius: 10px !important; }
.hero-stat-mini { border-radius: 0; }

/* ── Upload dropzone ── */
.upload-dropzone { border-radius: 10px !important; }

/* ── Sitemap hint for admin ── */
.ndj-sitemap-hint {
  background: linear-gradient(135deg, #e8eeff, #f0f4ff);
  border: 1.5px solid var(--c1-mid);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: .83rem;
  color: var(--c1-dark);
  margin-top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* ══ FILE CARD v5 IMPROVEMENTS ══════════════════════ */

/* Smoother card on mobile */
.file-card {
  border-radius: var(--r2) !important;
}
.file-card-thumb {
  border-radius: 0 !important;
}
.file-card-body {
  padding: 11px 12px 8px !important;
}

/* Card category link */
.file-card-cat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .68rem;
  font-weight: 800;
  color: var(--c1);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 5px;
  transition: color var(--t1);
}
.file-card-cat:hover { color: var(--c1-dark); }

/* Better grid on all screen sizes */
/* Always 2 columns on mobile */
@media (max-width: 600px) {
  .files-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .fc-btn { font-size: .74rem !important; padding: 8px 4px !important; }
  .file-card-title { font-size: .82rem !important; }
  .file-hero-title { font-size: .95rem !important; }
  .file-card-thumb { height: 90px !important; font-size: 2.2rem !important; }
  .file-card-body { padding: 9px 9px 6px !important; }
  .file-card-cat { font-size: .63rem !important; }
  .file-card-meta { font-size: .67rem !important; gap: 5px !important; }
}

/* Category bar scrollable with fade edges */
.category-bar { overflow: hidden; }
.category-bar-inner {
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px !important;
}

/* Better header on mobile */
@media (max-width: 600px) {
  .header-inner { height: 58px !important; gap: 10px !important; }
  .site-logo { font-size: 1.1rem !important; }
  .logo-icon { width: 34px !important; height: 34px !important; }
  .btn-sm { padding: 5px 11px !important; font-size: .76rem !important; }
}

/* Improve hero on very small screens */
@media (max-width: 380px) {
  .hero-banner { padding: 22px 0 20px !important; }
  .hero-title { font-size: 1.2rem !important; }
  .hero-subtitle { font-size: .82rem !important; }
  .hero-search-box button { padding: 8px 14px !important; font-size: .8rem !important; }
}

/* Sitemap XML link in footer */
.footer-sitemap-hint {
  font-size: .72rem;
  color: rgba(255,255,255,.4);
  margin-top: 6px;
}
.footer-sitemap-hint a { color: rgba(255,255,255,.55); }
.footer-sitemap-hint a:hover { color: var(--c2); }

/* Better modal on mobile */
@media (max-width: 480px) {
  .modal { border-radius: var(--r3) var(--r3) 0 0 !important; max-height: 95vh !important; }
  .modal-overlay { align-items: flex-end !important; padding: 0 !important; }
  .modal-overlay.open .modal { transform: translateY(0) !important; }
}

/* Fix FAB - make sure it doesn't block content */
#ndj-fab {
  left: 20px !important;
  bottom: 20px !important;
}
#ndj-fab-menu {
  border-radius: 12px !important;
}

/* Toast - bottom left, FAB is bottom right */
.toast {
  left: 16px !important;
  bottom: 16px !important;
  right: auto !important;
}

/* Improve single file page on mobile */
@media (max-width: 480px) {
  .sf-card-header { padding: 14px 14px 0 !important; }
  .sf-card-header-content { gap: 12px !important; }
  .sf-title { font-size: .95rem !important; }
  .sf-stats-strip { flex-wrap: wrap !important; }
  .sf-stat { min-width: 50% !important; }
  .sf-actions { padding: 12px 14px !important; gap: 8px !important; }
}

/* Smooth scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--c1-mid); border-radius: 50px; }
::-webkit-scrollbar-thumb:hover { background: var(--c1); }

/* Improve search suggestions on mobile */
@media (max-width: 480px) {
  .search-suggestions { border-radius: var(--r2) !important; }
  .suggestion-item { padding: 9px 12px !important; }
}

/* Better category tree active state */
a.cat-tree-link.active,
a.cat-tree-link.active:hover {
  color: var(--c1) !important;
  font-weight: 800;
  background: var(--c1-light);
  margin: 0 -4px;
  padding: 9px 8px !important;
  border-radius: var(--r1);
}

/* File stats bar better on mobile */
.file-stats-bar .file-stat-item .sv {
  font-size: .88rem !important;
}

/* ══ LIST VIEW — تحسين مظهر البطاقة القائمة ══ */
.files-list .file-card {
  display:flex;
  flex-direction:row;
  align-items:stretch;
  border-radius:10px;
  overflow:hidden;
  min-height:0;
}

/* الصورة/الأيقونة على اليمين — صغيرة */
.files-list .file-card .file-card-thumb-link {
  flex-shrink:0;
  width:90px;
}
.files-list .file-card .file-card-thumb {
  height:100%;
  min-height:90px;
  border-radius:0;
  font-size:2.2rem;
}

/* المحتوى في المنتصف */
.files-list .file-card .file-card-body {
  flex:1;
  min-width:0;
  padding:10px 12px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.files-list .file-card .file-card-title {
  font-size:.88rem;
  -webkit-line-clamp:2;
}
.files-list .file-card .file-card-cat {
  font-size:.68rem;
}
.files-list .file-card .file-card-meta {
  font-size:.69rem;
  gap:6px;
  margin-top:4px;
}

/* الأزرار على اليسار — عمودية */
.files-list .file-card .file-card-footer {
  flex-shrink:0;
  width:88px;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:10px 8px;
  background:var(--surface2);
  border-top:none;
  border-right:1px solid var(--border2);
}
.files-list .file-card .fc-btn {
  flex:0 0 auto;
  width:100%;
  padding:8px 4px;
  font-size:.75rem;
  border-radius:7px;
}

/* Grid view — الأزرار أفقية كما هي */
.files-grid .file-card .file-card-footer {
  flex-direction:row !important;
}

/* على الموبايل */
@media(max-width:480px){
  .files-list .file-card .file-card-thumb-link { width:76px; }
  .files-list .file-card .file-card-footer { width:76px; padding:8px 6px; }
  .files-list .file-card .file-card-title { font-size:.82rem; }
}

/* ══ PERFORMANCE OPTIMIZATIONS ══════════════════════ */

/* Reduce layout shifts */
.file-card { contain: layout style; }
.file-card-thumb { contain: strict; }
img { height: auto; }

/* Improve paint performance */
#site-header { will-change: transform; }
.modal-overlay { will-change: opacity; }
.file-card:hover { will-change: transform; }

/* Fix admin bar offset for WordPress native bar too */
.admin-bar #ndj-admin-bar { top: 32px; }
.admin-bar body.ndj-has-admin-bar #site-header { top: 70px !important; }
@media(max-width:782px){
    .admin-bar #ndj-admin-bar { top: 46px; }
    .admin-bar body.ndj-has-admin-bar #site-header { top: 84px !important; }
}

/* Smooth font rendering */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Preload critical above-fold content */
.hero-banner, #site-header { content-visibility: auto; }
