/* ==========================================================================
   LeadToDatabase — Global Styles
   Brand: Blue/White   Primary: #0062ff
   ========================================================================== */

/* CSS Variables */
:root{
  --bg:#ffffff;
  --text:#0b1320;
  --muted:#6b7280;
  --primary:#0062ff;
  --primary-600:#0052d6;
  --primary-50:#eff4ff;
  --border:#e5e7eb;
  --radius:14px;
  --shadow:0 8px 20px rgba(2,8,23,.08);
}

/* Base reset */
*{box-sizing:border-box}
html,body{padding:0;margin:0}
body{
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--text);text-decoration:none}
a:hover{color:#111}
.container{max-width:1200px;margin:0 auto;padding:24px}

/* Utilities */
.small{font-size:12px;color:var(--muted)}
.muted{color:var(--muted)}
.hidden{display:none !important}

/* Focus ring (accessibility) */
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:sticky; top:0; z-index:40;
  background:#ffffffd9; backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Brand */
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-wrap img{
  height:36px; width:auto; max-height:36px; display:block; object-fit:contain;
}
.logo-wrap span{font-weight:800;letter-spacing:.2px;line-height:1}

/* Main nav */
.nav{display:flex;align-items:center;gap:10px}
.nav a{margin:0 6px;color:var(--muted)}
.nav a.active,.nav a:hover{color:var(--text)}
.nav .btn{background:var(--primary);color:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--shadow)}

/* Header actions (search + buttons) */
.header-actions{display:flex;align-items:center;gap:8px}
.cart{position:relative}

/* Search */
.searchbar{display:flex;gap:10px;align-items:center}
.searchbar input{
  flex:1; padding:12px 14px; border:1px solid var(--border); border-radius:12px; font-size:15px;
}
.searchbar button{padding:12px 16px}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:12px;border:0;background:var(--primary);color:#fff;
  box-shadow:var(--shadow);cursor:pointer;transition:background .15s ease, transform .15s ease
}
.btn:hover{background:var(--primary-600)}
.btn:active{transform:translateY(1px)}
.btn-outline{
  background:#fff;border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow)
}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}

/* Chips / badges */
.badge{
  display:inline-block;background:var(--primary-50);color:var(--primary);
  padding:4px 10px;border-radius:20px;font-size:12px;border:1px solid #dbeafe
}
.kv{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.kv .chip{
  border:1px solid var(--border);padding:6px 10px;border-radius:20px;color:#111;background:#fff;
  transition:border-color .15s ease,color .15s ease
}
.kv .chip:hover{border-color:var(--primary);color:var(--primary)}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  margin-top:8px;border-radius:24px;padding:48px;
  background:linear-gradient(135deg,#f5f8ff 0%,#f0f7ff 30%,#ffffff 100%);
  border:1px solid var(--border)
}
.hero h1{font-size:40px;line-height:1.15;margin:0 0 8px 0}
.hero p{color:var(--muted);margin:0 0 20px 0}

/* ==========================================================================
   Grids & Cards
   ========================================================================== */
.grid{display:grid;gap:16px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:2.2fr 1fr;gap:24px}

.card{
  border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#fff;box-shadow:var(--shadow);
  transition:transform .15s ease, box-shadow .15s ease
}
.card:hover{transform:translateY(-2px)}

.card .cover{
  width:100%;height:160px;border-radius:12px;border:1px solid var(--border);object-fit:cover;margin-bottom:12px;background:#f8fafc
}

.cover-big{
  width:100%;height:300px;object-fit:cover;border-radius:16px;border:1px solid var(--border);margin-bottom:14px;background:#f8fafc
}

/* Price text */
.price{font-weight:700}

/* ==========================================================================
   Dataset page
   ========================================================================== */
.buybox{
  position:sticky;top:90px;border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff;box-shadow:var(--shadow)
}
.meta{list-style:none;padding:0;margin:0}
.meta li{padding:6px 0;border-bottom:1px dashed var(--border)}
.breadcrumbs{font-size:13px;color:var(--muted);margin:4px 0 12px}

/* ==========================================================================
   Tables & Forms
   ========================================================================== */
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th,.table td{background:#fff;border:1px solid var(--border);padding:10px}
.table th{background:#f8fafc}

fieldset{border:1px solid var(--border);border-radius:12px;padding:10px;margin:12px 0}
label{display:block;margin:10px 0;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{
  width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;font-size:15px
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{border-top:1px solid var(--border);background:#fff}
.site-footer .container{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}

/* ==========================================================================
   Pagination & Filters
   ========================================================================== */
.pagination{
  display:flex;gap:8px;align-items:center;justify-content:center;margin:16px 0
}
.pagination a,.pagination span{
  padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff
}
.pagination .active{border-color:var(--primary);color:var(--primary);font-weight:700}
.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-top:10px}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:980px){
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr;gap:16px}
  .hero{padding:28px}
  .hero h1{font-size:30px}
  .nav{display:none}              /* your mobile menu button will appear */
  .nav-toggle{display:inline-flex}
  .filters{grid-template-columns:1fr 1fr}
  .logo-wrap img{height:28px;max-height:28px}
}
@media(min-width:981px){
  .nav-toggle{display:none}
}
