/**
 * Download Manager WP — Frontend Styles
 * Kompakt, modern tasarım. Eğitim kurumu için profesyonel görünüm.
 */

:root {
	--dmw-primary: #1e3a5f;
	--dmw-primary-light: #2563eb;
	--dmw-bg: #ffffff;
	--dmw-surface: #f8fafc;
	--dmw-border: #e2e8f0;
	--dmw-text: #1e293b;
	--dmw-text-light: #64748b;
	--dmw-radius: 8px;
	--dmw-shadow: 0 1px 2px rgba(0,0,0,.05);
	--dmw-gap: 14px;
	--dmw-transition: 0.15s ease;
}

/* ==========================================================================
   Grid Layout
   ========================================================================== */
.dmw-downloads { margin: 12px 0; }
.dmw-downloads-grid { display: grid; gap: var(--dmw-gap); }
.dmw-cols-1 { grid-template-columns: 1fr; }
.dmw-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dmw-cols-3 { grid-template-columns: repeat(3, 1fr); }
.dmw-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 768px) { .dmw-downloads-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .dmw-downloads-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Card (Grid)
   ========================================================================== */
.dmw-item {
	background: var(--dmw-bg);
	border: 1px solid var(--dmw-border);
	border-radius: var(--dmw-radius);
	overflow: hidden;
	transition: box-shadow var(--dmw-transition);
	display: flex;
	flex-direction: column;
}
.dmw-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,.07); }
.dmw-item::before { content:''; display:block; height:3px; background:var(--dmw-primary-light); }
.type-pdf::before      { background: #dc2626; }
.type-archive::before  { background: #ca8a04; }
.type-doc::before      { background: #2563eb; }
.type-xls::before      { background: #16a34a; }
.type-ppt::before      { background: #d97706; }
.type-img::before      { background: #7c3aed; }
.type-audio::before    { background: #e11d48; }
.type-video::before    { background: #0891b2; }

.dmw-item-head { background: var(--dmw-surface); padding: 16px 14px 10px; text-align: center; }
.dmw-item-body { padding: 10px 14px 14px; flex:1; display:flex; flex-direction:column; gap:6px; }
.dmw-item-title { margin:0; font-size:14px; font-weight:600; line-height:1.3; }
.dmw-item-title a { color:var(--dmw-text); text-decoration:none; }
.dmw-item-title a:hover { color:var(--dmw-primary-light); }
.dmw-item-body .dmw-meta { font-size:11px; margin-right:3px; }

/* ==========================================================================
   File Type Badge
   ========================================================================== */
.dmw-file-icon {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #fff;
	background: var(--dmw-primary-light);
	padding: 3px 10px;
	border-radius: 4px;
	text-transform: uppercase;
}
.type-pdf .dmw-file-icon     { background: #dc2626; }
.type-archive .dmw-file-icon { background: #ca8a04; }
.type-doc .dmw-file-icon     { background: #2563eb; }
.type-xls .dmw-file-icon     { background: #16a34a; }
.type-ppt .dmw-file-icon     { background: #d97706; }
.type-img .dmw-file-icon     { background: #7c3aed; }
.type-audio .dmw-file-icon   { background: #e11d48; }
.type-video .dmw-file-icon   { background: #0891b2; }

/* ==========================================================================
   Button
   ========================================================================== */
.dmw-btn {
	display: inline-flex; align-items:center; gap:4px;
	padding: 6px 14px; background:var(--dmw-primary); color:#fff;
	border-radius:5px; text-decoration:none; font-size:12px; font-weight:600;
	transition: all var(--dmw-transition); border:none; cursor:pointer;
}
.dmw-btn:hover { background:var(--dmw-primary-light); color:#fff; text-decoration:none; }
.dmw-btn-sm { padding: 4px 10px; font-size:11px; }

/* ==========================================================================
   Meta & Utility
   ========================================================================== */
.dmw-meta {
	display: inline-flex; align-items:center; gap:3px;
	font-size:11px; color:var(--dmw-text-light);
	background:var(--dmw-surface); padding:2px 7px; border-radius:3px;
}
.dmw-size { font-size:11px; color:var(--dmw-text-light); }

/* ==========================================================================
   Single Download — Card (varsayılan)
   ========================================================================== */
.dmw-single {
	background: var(--dmw-bg);
	border: 1px solid var(--dmw-border);
	border-radius: var(--dmw-radius);
	overflow: hidden;
	max-width: 380px;
	margin: 12px 0;
}
.dmw-single-card .dmw-item-head { padding: 20px 16px 12px; }
.dmw-single-card .dmw-item-body { padding: 12px 16px 16px; }
.dmw-single-card .dmw-item-title { font-size: 16px; }
.dmw-single-card .dmw-btn { margin-top: 4px; padding: 8px 18px; font-size: 13px; }

/* ==========================================================================
   Single Download — Inline (kompakt yatay)
   ========================================================================== */
.dmw-single-inline {
	display: flex; align-items:center; gap:8px; flex-wrap:wrap;
	padding: 8px 12px;
	background: var(--dmw-bg);
	border: 1px solid var(--dmw-border);
	border-radius: var(--dmw-radius);
	font-size: 13px;
}

/* ==========================================================================
   Single Download — Button (sadece)
   ========================================================================== */
.dmw-single-button {
	display: inline-flex; align-items:center; gap:8px;
}

/* ==========================================================================
   Download Button Wrap
   ========================================================================== */
.dmw-btn-wrap { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dmw-count-badge {
	display:inline-flex; align-items:center;
	background:var(--dmw-surface); color:var(--dmw-text-light);
	font-size:11px; font-weight:500; padding:3px 8px;
	border-radius:10px; border:1px solid var(--dmw-border);
}

/* ==========================================================================
   Table Layout
   ========================================================================== */
.dmw-table {
	width:100%; border-collapse:collapse; font-size:13px;
	background:var(--dmw-bg); border:1px solid var(--dmw-border);
	border-radius:var(--dmw-radius); overflow:hidden;
}
.dmw-table th {
	text-align:left; padding:8px 12px;
	font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
	color:var(--dmw-text-light); background:var(--dmw-surface);
	border-bottom:2px solid var(--dmw-border);
}
.dmw-table td { padding:7px 12px; border-bottom:1px solid var(--dmw-border); vertical-align:middle; }
.dmw-table tr:last-child td { border-bottom:none; }
.dmw-table tr:hover td { background:var(--dmw-surface); }
.dmw-table small { color:var(--dmw-text-light); }

/* ==========================================================================
   List Layout
   ========================================================================== */
.dmw-list { border:1px solid var(--dmw-border); border-radius:var(--dmw-radius); overflow:hidden; }
.dmw-list-item {
	display:flex; align-items:center; gap:12px;
	padding:9px 14px; background:var(--dmw-bg);
	border-bottom:1px solid var(--dmw-border);
	transition:background var(--dmw-transition);
}
.dmw-list-item:last-child { border-bottom:none; }
.dmw-list-item:hover { background:var(--dmw-surface); }
.dmw-list-icon { flex-shrink:0; width: 44px; text-align: center; }
.dmw-list-body { flex:1; min-width:0; }
.dmw-list-body .dmw-item-title { font-size:13px; margin-bottom:2px; }
.dmw-list-action { flex-shrink:0; }

/* ==========================================================================
   Categories
   ========================================================================== */
.dmw-categories { display:grid; gap:var(--dmw-gap); margin:12px 0; }
.dmw-cols-2 .dmw-categories,
.dmw-categories.dmw-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dmw-categories.dmw-cols-3 { grid-template-columns: repeat(3, 1fr); }
.dmw-categories.dmw-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width:768px) { .dmw-categories { grid-template-columns: repeat(2, 1fr); } }
@media (max-width:480px) { .dmw-categories { grid-template-columns: 1fr; } }

.dmw-cat-item {
	background: var(--dmw-bg); border: 1px solid var(--dmw-border);
	border-radius: var(--dmw-radius); padding: 16px; text-align: center;
	transition: border-color var(--dmw-transition);
}
.dmw-cat-item:hover { border-color: var(--dmw-primary-light); }
.dmw-cat-icon { font-size: 28px; display: block; margin-bottom: 6px; }
.dmw-cat-name { margin: 0 0 2px; font-size: 13px; font-weight: 600; color: var(--dmw-text); }
.dmw-cat-count { font-size: 11px; color: var(--dmw-text-light); }

/* ==========================================================================
   Search
   ========================================================================== */
.dmw-search { display:flex; gap:6px; margin-bottom:10px; }
.dmw-search-input {
	flex:1; padding:7px 10px; border:1px solid var(--dmw-border);
	border-radius:6px; font-size:13px; background:var(--dmw-bg); outline:none;
	transition: border-color var(--dmw-transition);
}
.dmw-search-input:focus { border-color:var(--dmw-primary-light); box-shadow:0 0 0 2px rgba(37,99,235,.08); }
.dmw-search-cat { padding:7px 10px; border:1px solid var(--dmw-border); border-radius:6px; font-size:13px; background:var(--dmw-bg); max-width:160px; }
.dmw-search-results ul { list-style:none; margin:0; padding:0; border:1px solid var(--dmw-border); border-radius:var(--dmw-radius); background:var(--dmw-bg); overflow:hidden; }
.dmw-search-item { display:flex; align-items:center; padding:8px 12px; border-bottom:1px solid var(--dmw-border); gap:8px; }
.dmw-search-item:last-child { border-bottom:none; }
.dmw-search-item:hover { background:var(--dmw-surface); }
.dmw-search-item-link { flex:1; display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--dmw-text); }
.dmw-search-item-title { font-weight:500; font-size:13px; }
.dmw-search-item-meta { font-size:11px; color:var(--dmw-text-light); }
.dmw-search-item-download { font-size:16px; text-decoration:none; color:var(--dmw-primary-light); padding:2px 6px; }

/* ==========================================================================
   Count Display
   ========================================================================== */
.dmw-count-display { font-weight:600; color:var(--dmw-primary); }

/* ==========================================================================
   Pagination
   ========================================================================== */
.dmw-pagination { margin-top:var(--dmw-gap); text-align:center; display:flex; justify-content:center; gap:3px; }
.dmw-pagination .page-numbers {
	display:inline-flex; align-items:center; justify-content:center;
	min-width:32px; height:32px; padding:0 8px;
	border:1px solid var(--dmw-border); border-radius:6px;
	color:var(--dmw-text); text-decoration:none; font-size:13px; font-weight:500;
	transition: all var(--dmw-transition);
}
.dmw-pagination .page-numbers.current { background:var(--dmw-primary); color:#fff; border-color:var(--dmw-primary); }
.dmw-pagination .page-numbers:hover:not(.current) { background:var(--dmw-surface); border-color:var(--dmw-primary-light); }

/* ==========================================================================
   Empty
   ========================================================================== */
.dmw-empty { text-align:center; padding:28px 16px; color:var(--dmw-text-light); font-size:13px; background:var(--dmw-surface); border-radius:var(--dmw-radius); border:1px dashed var(--dmw-border); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.dmw-item, .dmw-btn, .dmw-cat-item, .dmw-list-item, .dmw-search-item, .dmw-pagination .page-numbers { transition: none; }
}
