/*
Theme Name: Indian Muslims Courses
Theme URI: https://indianmuslims.in
Author: Indian Muslims
Description: Modern mobile-first dark theme matching Indian Muslims App
Version: 2.1.0
Text Domain: indian-muslims-courses
*/

:root {
  --bg-primary: #0A0A0A;
  --bg-secondary: #1A1A1A;
  --bg-tertiary: #2A2A2A;
  --primary: #4CAF50;
  --primary-dark: #388E3C;
  --primary-light: #66BB6A;
  --text-primary: #FFFFFF;
  --text-secondary: #B0B0B0;
  --text-tertiary: #808080;
  --border-color: #333333;
  --success: #4CAF50;
  --error: #F44336;
  --warning: #FF9800;
  --header-height: 56px;
  --bottom-nav-height: 60px;
  --sticky-bar-height: 70px;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 8px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 16px rgba(0,0,0,0.5);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { font-size:16px; -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg-primary); color:var(--text-primary);
  line-height:1.6; overflow-x:hidden;
  padding-top:var(--header-height);
  padding-bottom:var(--bottom-nav-height);
}
a { color:var(--primary); text-decoration:none; }
a:hover { color:var(--primary-light); }
img { max-width:100%; height:auto; display:block; }
button { font-family:inherit; cursor:pointer; border:none; outline:none; }
input,textarea { font-family:inherit; outline:none; }

/* ── Header ── */
.site-header {
  position:fixed; top:0; left:0; right:0;
  height:var(--header-height);
  background:var(--bg-secondary);
  border-bottom:1px solid var(--border-color);
  z-index:1000; display:flex; align-items:center;
  justify-content:space-between; padding:0 16px;
  box-shadow:var(--shadow-sm);
}
.site-logo { display:flex; align-items:center; gap:8px; font-size:18px; font-weight:700; color:var(--text-primary); }
.site-logo svg { flex-shrink:0; }
.header-actions { display:flex; align-items:center; gap:8px; }
.header-icon {
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; color:var(--text-primary); transition:background 0.2s;
}
.header-icon:hover,.header-icon:active { background:var(--bg-tertiary); }

/* ── Bottom Nav ── */
.bottom-nav {
  position:fixed; bottom:0; left:0; right:0;
  height:var(--bottom-nav-height);
  background:rgba(26,26,26,0.97);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--border-color);
  z-index:1000; display:flex; justify-content:space-around; align-items:center;
  box-shadow:0 -2px 8px rgba(0,0,0,0.3);
}
.nav-item {
  flex:1; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:3px; padding:8px 4px;
  color:var(--text-secondary); font-size:11px; font-weight:500;
  transition:color 0.2s; position:relative;
}
.nav-item:hover,.nav-item.active { color:#4CAF50 !important; }
.nav-item.active::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:24px; height:3px; background:#4CAF50 !important; border-radius:0 0 3px 3px;
}
.nav-item-icon { font-size:22px; line-height:1; }

/* ── Toast ── */
.toast-container {
  position:fixed; top:calc(var(--header-height) + 12px);
  left:12px; right:12px; z-index:9999; pointer-events:none;
}
.toast {
  background:var(--bg-secondary); color:var(--text-primary);
  padding:14px 16px; border-radius:var(--radius-sm);
  margin-bottom:10px; box-shadow:var(--shadow-lg);
  display:flex; align-items:center; gap:10px;
  pointer-events:all; border-left:4px solid var(--primary);
  animation:slideInDown 0.3s ease;
}
.toast.success { border-left-color:var(--success); }
.toast.error { border-left-color:var(--error); }
.toast.warning { border-left-color:var(--warning); }
.toast-icon { font-size:20px; flex-shrink:0; }
.toast-message { flex:1; font-size:14px; line-height:1.4; }
@keyframes slideInDown { from { transform:translateY(-20px); opacity:0; } to { transform:translateY(0); opacity:1; } }

/* ── Content ── */
.content-wrapper { min-height:calc(100vh - var(--header-height) - var(--bottom-nav-height)); padding-top:8px; }

/* ── Hero ── */
.hero-banner {
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);
  padding:28px 16px 32px; margin-bottom:8px;
}
.hero-content h1 { font-size:26px; font-weight:800; margin-bottom:8px; line-height:1.3; }
.hero-content p { font-size:15px; color:rgba(255,255,255,0.85); margin-bottom:20px; }
.hero-cta {
  display:inline-block; background:var(--text-primary); color:var(--primary);
  padding:12px 24px; border-radius:var(--radius-sm); font-weight:700; font-size:14px;
}

/* ── Sections ── */
.section { margin-bottom:8px; }
.section-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 16px 12px;
}
.section-title { font-size:18px; font-weight:700; }
.section-link { font-size:14px; color:var(--primary); font-weight:500; }

/* ── Course Cards ── */
.courses-horizontal {
  display:flex; gap:14px; overflow-x:auto;
  padding:0 16px 16px; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.courses-horizontal::-webkit-scrollbar { display:none; }
.course-card-horizontal { flex:0 0 260px; scroll-snap-align:start; }

.courses-vertical { display:flex; flex-direction:column; gap:14px; padding:0 16px; }

.course-card {
  background:var(--bg-secondary); border-radius:var(--radius);
  overflow:hidden; border:1px solid var(--border-color);
  transition:transform 0.2s,border-color 0.2s;
}
.course-card:active { transform:scale(0.98); }
.course-card:hover { border-color:var(--primary); }

.course-thumbnail {
  position:relative; width:100%; padding-top:56.25%;
  background:var(--bg-tertiary); overflow:hidden;
}
.course-thumbnail img {
  position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;
}
.course-thumbnail-placeholder {
  position:absolute; top:0; left:0; width:100%; height:100%;
  background:linear-gradient(135deg,#3700B3,#6200EE);
  display:flex; align-items:center; justify-content:center;
}

.course-badge {
  position:absolute; top:10px; left:10px;
  background:var(--primary); color:#fff;
  padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700;
}
.course-badge.free { background:var(--success); }
.course-badge.premium,.course-badge.bestseller { background:#E65100; }
.course-badge.new { background:#1565C0; }

.course-card a { color:inherit; text-decoration:none; }
.course-card a:hover { color:inherit; }
.course-content { padding:14px; }
.course-category,
.course-card .course-category,
.course-card a .course-category,
.course-card a span.course-category { font-size:11px; color:#FF6B00 !important; font-weight:700; text-transform:uppercase; margin-bottom:6px; display:block; }
.course-title,
.course-card .course-title,
.course-card a .course-title,
.course-card a h3.course-title {
  font-size:16px; font-weight:700; margin-bottom:6px; line-height:1.4; color:#FFFFFF !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.course-instructor { font-size:13px; color:var(--text-secondary); margin-bottom:10px; display:flex; align-items:center; gap:5px; }
.course-meta { display:flex; justify-content:space-between; align-items:center; padding-top:10px; border-top:1px solid var(--border-color); }
.course-stats { display:flex; gap:12px; font-size:12px; color:var(--text-secondary); }
.course-stat { display:flex; align-items:center; gap:4px; }
.course-price,
.course-card .course-price,
.course-card a .course-price { font-size:18px; font-weight:800; color:#B0B0B0 !important; }
.course-price.free,
.course-card .course-price.free,
.course-card a .course-price.free { color:#4CAF50 !important; }

/* ── Course Detail ── */
.course-detail-hero {
  position:relative; width:100%; padding-top:56.25%;
  background:var(--bg-tertiary); margin-bottom:0;
}
.course-detail-hero img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }

.course-detail-content { padding:16px 16px 120px; }
.course-detail-header { margin-bottom:16px; }
.course-detail-title { font-size:22px; font-weight:800; margin-bottom:10px; line-height:1.3; }
.course-detail-instructor { font-size:15px; color:var(--text-secondary); display:flex; align-items:center; gap:6px; }

.course-stats-row {
  display:flex; background:var(--bg-secondary); border-radius:var(--radius-sm);
  margin-bottom:16px; overflow:hidden; border:1px solid var(--border-color);
}
.stat-item { flex:1; padding:14px 8px; text-align:center; border-right:1px solid var(--border-color); }
.stat-item:last-child { border-right:none; }
.stat-value { font-size:20px; font-weight:800; color:var(--primary); display:block; margin-bottom:2px; }
.stat-label { font-size:11px; color:var(--text-secondary); text-transform:uppercase; }

.course-description { margin-bottom:20px; }
.course-description h2 { font-size:17px; font-weight:700; margin-bottom:10px; }
.course-description p,.course-description-text { color:var(--text-secondary); line-height:1.8; font-size:14px; }

/* ── Coupon ── */
.coupon-section { background:var(--bg-secondary); padding:16px; border-radius:var(--radius); margin-bottom:20px; border:1px solid var(--border-color); }
.coupon-section h3 { font-size:15px; font-weight:700; margin-bottom:12px; }
.coupon-input-group { display:flex; gap:8px; }
.coupon-input {
  flex:1; padding:12px 14px; background:var(--bg-tertiary);
  border:1px solid var(--border-color); border-radius:var(--radius-sm);
  color:var(--text-primary); font-size:14px; text-transform:uppercase;
}
.coupon-input:focus { border-color:var(--primary); }
.coupon-apply-btn {
  padding:12px 20px; background:var(--primary); color:#fff;
  border-radius:var(--radius-sm); font-weight:700; font-size:14px;
}
.coupon-apply-btn:active { background:var(--primary-dark); }
.coupon-apply-btn:disabled { opacity:0.5; cursor:not-allowed; }

/* ── Lessons ── */
.lessons-section { margin-bottom:20px; }
.lessons-section h2 { font-size:17px; font-weight:700; margin-bottom:14px; }
.lessons-list { background:var(--bg-secondary); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-color); }
.lesson-item { padding:14px 16px; border-bottom:1px solid var(--border-color); display:flex; align-items:center; gap:12px; }
.lesson-item:last-child { border-bottom:none; }
.lesson-number {
  width:30px; height:30px; background:var(--bg-tertiary); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:13px; color:var(--primary); flex-shrink:0;
}
.lesson-info { flex:1; }
.lesson-title { font-size:14px; font-weight:500; margin-bottom:2px; }
.lesson-duration { font-size:12px; color:var(--text-secondary); }

/* ── Sticky Buy Bar ── */
.sticky-buy-bar {
  position:fixed; bottom:var(--bottom-nav-height); left:0; right:0;
  height:var(--sticky-bar-height); background:var(--bg-secondary);
  border-top:1px solid var(--border-color); z-index:999;
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px; box-shadow:0 -4px 12px rgba(0,0,0,0.4);
}
.buy-bar-price { display:flex; flex-direction:column; }
.buy-bar-label { font-size:11px; color:var(--text-secondary); margin-bottom:1px; }
.buy-bar-amount { font-size:22px; font-weight:800; color:var(--primary); }
.buy-bar-amount.free { color:var(--success); }
.buy-bar-button {
  padding:13px 28px; background:var(--primary); color:#fff;
  border-radius:var(--radius-sm); font-weight:700; font-size:15px;
  box-shadow:var(--shadow-md); transition:background 0.2s,transform 0.1s;
}
.buy-bar-button:active { background:var(--primary-dark); transform:scale(0.97); }
.buy-bar-button:disabled { opacity:0.5; cursor:not-allowed; }

/* ── Shimmer ── */
.shimmer-wrapper { display:flex; flex-direction:column; gap:12px; }
.shimmer-card { background:var(--bg-secondary); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-color); }
.shimmer-thumbnail { width:100%; padding-top:56.25%; background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; }
.shimmer-content { padding:14px; }
.shimmer-line { height:14px; background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%); background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:4px; margin-bottom:10px; }
.shimmer-line.short { width:55%; }
.shimmer-line.medium { width:75%; }
@keyframes shimmer { 0% { background-position:200% 0; } 100% { background-position:-200% 0; } }

/* ── Footer ── */
.site-footer { background:var(--bg-secondary); padding:20px 16px; border-top:1px solid var(--border-color); }
.footer-links { display:flex; justify-content:center; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.footer-link { font-size:13px; color:var(--text-secondary); }
.footer-link:hover { color:var(--primary); }
.footer-copyright { font-size:12px; color:var(--text-tertiary); text-align:center; }

/* ── Filter tabs ── */
.filter-tabs { display:flex; gap:8px; overflow-x:auto; padding:16px 16px 12px; scrollbar-width:none; }
.filter-tabs::-webkit-scrollbar { display:none; }
.filter-tab {
  flex-shrink:0; padding:8px 18px; border-radius:20px; font-size:13px; font-weight:600;
  background:var(--bg-secondary); color:var(--text-secondary); border:1px solid var(--border-color);
  transition:all 0.2s;
}
.filter-tab.active,.filter-tab:active { background:var(--primary); color:#fff; border-color:var(--primary); }

/* ── Pagination ── */
.pagination { padding:24px 16px; text-align:center; }
.pagination .page-numbers {
  display:inline-block; padding:8px 14px; margin:0 3px;
  background:var(--bg-secondary); border:1px solid var(--border-color);
  border-radius:var(--radius-sm); color:var(--text-secondary); font-size:14px;
}
.pagination .page-numbers.current { background:var(--primary); color:#fff; border-color:var(--primary); }

/* ── Responsive ── */
@media (min-width:576px) { .course-card-horizontal { flex:0 0 300px; } }
@media (min-width:768px) {
  .courses-vertical { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  .sticky-buy-bar,.bottom-nav { max-width:768px; left:50%; transform:translateX(-50%); }
  .toast-container { max-width:744px; left:50%; transform:translateX(-50%); }
}
@media (min-width:992px) { .courses-vertical { grid-template-columns:repeat(3,1fr); } }
@media (min-width:1200px) { .courses-vertical { grid-template-columns:repeat(4,1fr); } }
@media (hover:none) and (pointer:coarse) { .course-card:hover { transform:none; border-color:var(--border-color); } }
@media screen and (max-width:767px) { input[type="text"],input[type="email"],input[type="tel"],textarea { font-size:16px; } }
@media print { .site-header,.bottom-nav,.sticky-buy-bar { display:none; } body { padding:0; background:#fff; color:#000; } }

/* ── WooCommerce Styles ── */
.woocommerce-wrapper { padding:16px; }
.wc-container { max-width:100%; }

/* Cart icon */
.wc-cart-icon { position:relative; }
.wc-cart-count {
  position:absolute; top:-4px; right:-4px;
  background:#4CAF50; color:#fff;
  font-size:10px; font-weight:700;
  width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* Products grid */
.woocommerce ul.products {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:14px; padding:0; margin:0; list-style:none;
}
.woocommerce ul.products li.product {
  background:var(--bg-secondary); border-radius:var(--radius);
  border:1px solid var(--border-color); overflow:hidden;
}
.woocommerce ul.products li.product a img {
  width:100%; height:auto; display:block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size:14px; font-weight:700; color:#FFFFFF!important;
  padding:10px 12px 4px;
}
.woocommerce ul.products li.product .price {
  padding:0 12px 10px; font-size:16px; font-weight:800; color:#B0B0B0!important;
}
.woocommerce ul.products li.product .price ins { color:#4CAF50!important; text-decoration:none; }
.woocommerce ul.products li.product .button {
  display:block; margin:0 12px 12px;
  background:#4CAF50; color:#fff!important;
  padding:10px; border-radius:var(--radius-sm);
  font-weight:700; font-size:13px; text-align:center;
}

/* Single product */
.woocommerce div.product .product_title {
  font-size:22px; font-weight:800; color:#FFFFFF; margin-bottom:10px;
}
.woocommerce div.product .price {
  font-size:24px; font-weight:800; color:#B0B0B0!important; margin-bottom:16px;
}
.woocommerce div.product .price ins { color:#4CAF50!important; text-decoration:none; }
.woocommerce div.product .woocommerce-product-details__short-description {
  color:var(--text-secondary); font-size:14px; line-height:1.8; margin-bottom:16px;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  background:#4CAF50!important; color:#fff!important;
  border-radius:var(--radius-sm)!important; font-weight:700!important;
  padding:14px 28px!important; font-size:15px!important;
  border:none!important; width:100%;
}

/* Cart page */
.woocommerce table.cart { width:100%; border-collapse:collapse; }
.woocommerce table.cart td, .woocommerce table.cart th {
  padding:12px 8px; border-bottom:1px solid var(--border-color);
  color:var(--text-primary); font-size:14px;
}
.woocommerce .cart-collaterals .cart_totals {
  background:var(--bg-secondary); padding:16px;
  border-radius:var(--radius); border:1px solid var(--border-color);
}
.woocommerce .cart_totals h2 { font-size:16px; font-weight:700; margin-bottom:12px; }
.woocommerce .cart_totals table { width:100%; }
.woocommerce .cart_totals table td, .woocommerce .cart_totals table th {
  padding:8px 0; border-bottom:1px solid var(--border-color); color:var(--text-primary);
}
.woocommerce .wc-proceed-to-checkout .checkout-button {
  background:#4CAF50!important; color:#fff!important;
  border-radius:var(--radius-sm)!important; font-weight:700!important;
  padding:14px!important; font-size:15px!important; width:100%;
  display:block; text-align:center;
}

/* Checkout */
.woocommerce form .form-row label { color:var(--text-secondary); font-size:13px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  background:var(--bg-tertiary)!important; color:var(--text-primary)!important;
  border:1px solid var(--border-color)!important;
  border-radius:var(--radius-sm)!important; padding:12px!important;
  font-size:14px!important; width:100%;
}
.woocommerce #payment { background:var(--bg-secondary)!important; border-radius:var(--radius)!important; }
.woocommerce #payment ul.payment_methods { border-bottom:1px solid var(--border-color)!important; }
.woocommerce #payment ul.payment_methods li { color:var(--text-primary)!important; }
.woocommerce #payment div.payment_box { background:var(--bg-tertiary)!important; color:var(--text-secondary)!important; }
.woocommerce #payment #place_order {
  background:#4CAF50!important; color:#fff!important;
  border-radius:var(--radius-sm)!important; font-weight:700!important;
  padding:14px 28px!important; font-size:15px!important; width:100%;
}

/* Order received / Thank you */
.woocommerce .woocommerce-order { padding:16px; }
.woocommerce-order-details, .woocommerce-customer-details {
  background:var(--bg-secondary); border-radius:var(--radius);
  border:1px solid var(--border-color); padding:16px; margin-bottom:16px;
}
.woocommerce-order-details h2, .woocommerce-customer-details h2 {
  font-size:16px; font-weight:700; margin-bottom:12px; color:#FFFFFF;
}

/* Notices */
.woocommerce-message, .woocommerce-info {
  background:var(--bg-secondary)!important; color:var(--text-primary)!important;
  border-top-color:#4CAF50!important; border-radius:var(--radius-sm)!important;
}
.woocommerce-error {
  background:var(--bg-secondary)!important; color:var(--error)!important;
  border-top-color:var(--error)!important;
}

@media (min-width:576px) {
  .woocommerce ul.products { grid-template-columns:repeat(3,1fr); }
}

/* ── Search Page ── */
.search-page { padding-top:0 !important; }

/* Topbar */
.search-topbar {
  position:sticky; top:var(--header-height); z-index:100;
  background:var(--bg-primary); padding:10px 12px;
  border-bottom:1px solid var(--border-color);
  display:flex; align-items:center; gap:8px;
}
.search-back-btn {
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  color:var(--text-primary); flex-shrink:0; border-radius:50%;
}
.search-back-btn:hover { background:var(--bg-tertiary); }
.search-form { flex:1; }
.search-input-wrap {
  display:flex; align-items:center; gap:8px;
  background:var(--bg-secondary); border:1.5px solid var(--border-color);
  border-radius:var(--radius); padding:9px 12px;
  transition:border-color 0.2s;
}
.search-input-wrap:focus-within { border-color:#4CAF50; }
.search-icon-svg { color:var(--text-tertiary); flex-shrink:0; }
.search-input {
  flex:1; background:transparent; border:none; outline:none;
  color:var(--text-primary); font-size:15px; min-width:0;
}
.search-input::placeholder { color:var(--text-tertiary); }
.search-clear-btn {
  width:20px; height:20px; display:flex; align-items:center; justify-content:center;
  color:var(--text-tertiary); background:var(--bg-tertiary); border-radius:50%;
  border:none; cursor:pointer; flex-shrink:0;
}

/* Landing */
.search-landing { padding:8px 0 24px; }
.search-section { padding:16px 16px 0; }
.search-section-title {
  display:flex; align-items:center; gap:6px;
  font-size:15px; font-weight:700; color:var(--text-primary); margin-bottom:12px;
}
.search-section-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;
}
.clear-history-btn {
  font-size:13px; color:#4CAF50; background:none; border:none; cursor:pointer; padding:0;
}

/* Trending chips */
.trending-chips { display:flex; flex-wrap:wrap; gap:8px; }
.trending-chip {
  padding:8px 16px; background:var(--bg-secondary);
  border:1px solid var(--border-color); border-radius:20px;
  color:var(--text-primary); font-size:13px; font-weight:500;
  cursor:pointer; transition:all 0.15s;
}
.trending-chip:active { background:var(--bg-tertiary); border-color:#4CAF50; color:#4CAF50; }

/* Recent searches */
.recent-list { display:flex; flex-direction:column; }
.recent-item {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0; border-bottom:1px solid var(--border-color);
}
.recent-item:last-child { border-bottom:none; }
.recent-item-left {
  display:flex; align-items:center; gap:12px;
  color:var(--text-primary); font-size:14px; flex:1; cursor:pointer;
}
.recent-item-left svg { color:var(--text-tertiary); flex-shrink:0; }
.recent-delete-btn {
  background:none; border:none; cursor:pointer;
  color:var(--text-tertiary); padding:4px; display:flex; align-items:center;
}

/* Results */
.search-results-wrap { padding:12px 16px; }
.search-results-header {
  display:flex; align-items:center; gap:6px;
  margin-bottom:14px; font-size:13px;
}
.results-count { font-weight:700; color:#4CAF50; }
.results-for { color:var(--text-secondary); }

/* No results */
.search-no-results {
  text-align:center; padding:60px 16px;
}
.no-results-icon { font-size:52px; margin-bottom:12px; }
.no-results-title { font-size:16px; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.no-results-sub { font-size:14px; color:var(--text-secondary); }

/* ── Search Overlay ── */
.search-overlay {
  position:fixed; top:0; left:0; right:0; bottom:0;
  z-index:99999;
  background:var(--bg-primary);
  display:flex; flex-direction:column;
  pointer-events:none;
  opacity:0;
  transition:opacity 0.2s ease;
  overflow:hidden;
}
.search-overlay.active {
  pointer-events:all;
  opacity:1;
}
body.search-open { overflow:hidden; }

/* Bar */
.search-overlay-bar {
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; flex-shrink:0;
  background:var(--bg-primary);
}
.search-overlay-input-wrap {
  flex:1; display:flex; align-items:center; gap:10px;
  background:var(--bg-secondary);
  border:1.5px solid var(--border-color);
  border-radius:var(--radius); padding:11px 14px;
  transition:border-color 0.2s;
}
.search-overlay-input-wrap:focus-within { border-color:#4CAF50; }
.search-overlay-icon { color:var(--text-tertiary); flex-shrink:0; }
.search-overlay-input {
  flex:1; background:transparent; border:none; outline:none;
  color:var(--text-primary); font-size:16px; min-width:0;
}
.search-overlay-input::placeholder { color:var(--text-tertiary); }
.search-overlay-clear {
  width:20px; height:20px; display:flex; align-items:center; justify-content:center;
  color:var(--text-tertiary); background:var(--bg-tertiary);
  border-radius:50%; border:none; cursor:pointer; flex-shrink:0;
}
.search-overlay-cancel {
  background:none; border:none; cursor:pointer;
  color:#4CAF50; font-size:14px; font-weight:600;
  padding:0 2px; white-space:nowrap; flex-shrink:0;
}
.search-overlay-divider { height:1px; background:var(--border-color); flex-shrink:0; }

/* Body */
.search-overlay-body { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; }

/* Empty */
.search-empty-prompt {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:80px 16px 0;
  color:var(--text-tertiary); gap:12px; text-align:center;
}
.search-empty-prompt p { font-size:14px; }

/* Loading */
.search-loading { display:flex; justify-content:center; padding:48px 0; }
.search-spinner {
  width:28px; height:28px;
  border:2.5px solid var(--border-color);
  border-top-color:#4CAF50;
  border-radius:50%;
  animation:spin 0.7s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

/* Results */
.search-results-header {
  padding:12px 16px 6px; font-size:13px;
  display:flex; align-items:center; gap:4px;
}
.results-count { font-weight:700; color:#4CAF50; }
.results-for { color:var(--text-secondary); }
.search-results-list { padding:0 16px 24px; }

/* No results */
.search-no-results { text-align:center; padding:60px 16px; }
.no-results-icon { font-size:48px; margin-bottom:12px; }
.no-results-title { font-size:16px; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.no-results-sub { font-size:14px; color:var(--text-secondary); }
