/*
Theme Name: TCG Swiss Market
Theme URI: https://tcgswiss.ch
Author: ChatGPT
Description: Minimal, responsive marketplace-style theme (highlights + pricecheck + popular cards). Includes a basic "Trading Cards" listing post type.
Version: 0.3.0
License: GPLv2 or later
Text Domain: tcgswiss-market
*/

:root{
  --bg: #f3f5f8;
  --card:#ffffff;
  --nav1:#0b3a5a;
  --nav2:#0a2f4a;
  --blue:#1a5c8a;
  --blue2:#144a72;
  --green:#2aa84a;
  --text:#1b2430;
  --muted:#6b7785;
  --border:#d9e2ec;
  --shadow: 0 8px 18px rgba(16,24,40,.10);
  --radius: 14px;
  --radius-sm: 10px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:linear-gradient(#ffffff, var(--bg));
}

a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 16px}

.site-header{
  background:linear-gradient(180deg, var(--nav1), var(--nav2));
  color:#fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.15);
}
.header-row{
  display:flex; align-items:center; gap:14px;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:10px; font-weight:800;
}
.brand-badge{
  width:28px;height:28px;border-radius:7px;
  background:linear-gradient(135deg,#ffcc00,#ff7a00);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
}
.brand span{letter-spacing:.2px}
.header-search{
  flex:1;
  display:flex; align-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 10px;
}
.header-search input{
  flex:1;border:0;outline:0;background:transparent;color:#fff;
  font-size:14px;
}
.header-search input::placeholder{color:rgba(255,255,255,.7)}
.header-search button{
  border:0;background:rgba(255,255,255,.16);color:#fff;
  padding:8px 10px;border-radius:999px; cursor:pointer;
}
.header-actions{display:flex; gap:10px; align-items:center}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  border-radius:10px; padding:10px 12px;
  font-weight:700; font-size:14px;
  border:1px solid transparent;
  cursor:pointer;
}
.btn-green{
  background:linear-gradient(180deg, #35c45a, #1e9e41);
  color:#fff;
  box-shadow: 0 10px 18px rgba(42,168,74,.25);
}
.btn-blue{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

main{padding:22px 0 40px}

.section-title{
  font-weight:900; color:#1a3e63;
  margin:0 0 12px;
  font-size:20px;
}
.grid{
  display:grid;
  grid-template-columns: 1.65fr 1fr;
  gap:18px;
  align-items:start;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card-pad{padding:14px}

.highlights-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px 0 16px;
}
.highlights-tabs{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  margin:12px 16px 16px 16px;
  border-radius: 12px;
  overflow:hidden;
  border:1px solid var(--border);
}
.highlights-tabs a{
  display:block; text-align:center; padding:10px 8px;
  font-weight:800; font-size:14px;
  background:linear-gradient(180deg,#0f4d74,#0b3a5a);
  color:#fff;
  border-right:1px solid rgba(255,255,255,.12);
}
.highlights-tabs a:last-child{border-right:0}
.hl-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  padding:0 16px 16px 16px;
}
.hl-item{
  border-radius: 12px;
  border:1px solid var(--border);
  overflow:hidden;
  background:linear-gradient(#ffffff,#f7f9fc);
  display:grid;
  grid-template-columns: 86px 1fr;
  min-height:92px;
}
.hl-img{
  background:#eef4fb;
  display:flex; align-items:center; justify-content:center;
  border-right:1px solid var(--border);
  padding:8px;
}
.hl-img img{width:70px;height:86px;object-fit:cover;border-radius:10px;box-shadow: 0 8px 14px rgba(0,0,0,.12)}
.hl-body{padding:10px}
.hl-title{font-weight:900; font-size:14px; margin:0 0 2px}
.hl-meta{color:var(--muted); font-size:12px; margin:0 0 8px}
.hl-price{font-weight:900;color:#133b5c}

.pricecheck-title{font-weight:900;font-size:16px;margin:0 0 10px;color:#123c62}
.form-grid{
  display:grid; gap:10px;
  grid-template-columns: repeat(3, 1fr);
}
select,input[type="text"]{
  width:100%;
  border:1px solid var(--border);
  border-radius: 10px;
  padding:10px 10px;
  background:#fff;
  font-size:14px;
}
.form-actions{
  display:flex; justify-content:flex-end; margin-top:10px;
}
.form-actions button{padding:10px 14px}
.small-note{color:var(--muted); font-size:12px; margin-top:8px}

.tabs{
  display:flex; gap:8px; margin-top:6px;
  flex-wrap:wrap;
}
.tab{
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
  font-size:13px;
}
.listings-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
  margin-top:12px;
}
.listing-card{
  border-radius: 12px;
  border:1px solid var(--border);
  background:linear-gradient(#ffffff,#f7f9fc);
  overflow:hidden;
}
.listing-img{
  height:128px;background:#eef4fb;
  display:flex; align-items:center; justify-content:center;
  border-bottom:1px solid var(--border);
}
.listing-img img{max-height:120px; max-width:92%; object-fit:cover; border-radius:10px; box-shadow: 0 8px 14px rgba(0,0,0,.12)}
.listing-body{padding:10px}
.badges{display:flex; gap:6px; flex-wrap:wrap; margin:6px 0}
.badge{
  font-size:11px; font-weight:800;
  padding:4px 8px;border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:#234;
}
.listing-price{
  font-weight:900;
  margin-top:6px;
  padding:8px 10px;
  border-radius: 10px;
  background:linear-gradient(180deg,#2dbe55,#1e9e41);
  color:#fff;
  display:inline-block;
}
.sidebar .card{margin-bottom:14px}
.sidebar h3{
  margin:0; padding:12px 14px;
  background:linear-gradient(180deg,#0f4d74,#0b3a5a);
  color:#fff;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
  font-size:14px;
}
.sidebar .card-pad{padding:12px 14px}
.kv{display:flex; justify-content:space-between; padding:6px 0; color:var(--muted); font-size:13px}
.checklist{display:grid; gap:8px; margin:0; padding:0; list-style:none}
.checklist li{display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:13px}
.check{width:14px;height:14px;border-radius:4px;background:#dff5e4;border:1px solid #b9e7c4; margin-top:2px}
.quick a{
  display:block; text-align:center;
  font-weight:900;
  padding:11px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  margin-top:10px;
}
.quick a.primary{
  background:linear-gradient(180deg,#35c45a,#1e9e41);
  border-color:rgba(0,0,0,.05);
  color:#fff;
}

.site-footer{
  text-align:center;
  color:var(--muted);
  font-size:12px;
  padding:18px 0 26px;
}

/* Responsive */
@media (max-width: 980px){
  .grid{grid-template-columns:1fr}
  .listings-grid{grid-template-columns: repeat(2, 1fr)}
  .hl-row{grid-template-columns:1fr; gap:10px}
  .highlights-tabs{grid-template-columns:1fr}
  .highlights-tabs a{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .highlights-tabs a:last-child{border-bottom:0}
  .form-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 520px){
  .header-row{gap:10px}
  .header-actions .btn{padding:10px}
  .header-search{display:none} /* small phones: keep it clean */
  .listings-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}
