/* === PZDB Global styles === */
 :root{
   --maxw: 1400px;
   --pad: 12px;
 
   --bg: #ffffff;
   --bg-soft: #fbfbfb;
   --text: #111;
   --muted: rgba(0,0,0,.65);
   --border: rgba(0,0,0,.12);
   --border2: rgba(0,0,0,.08);
   --hover: rgba(0,0,0,.02);
   --shadow: 0 10px 30px rgba(0,0,0,.05);
 
   --radius: 16px;
   --radius-lg: 22px;
   --radius-pill: 999px;
 
   --fs-base: 16px;
   --fs-small: 13px;
   --fs-table: 15px;
   --fs-th: 13px;
   --fs-h1: 34px;
   --fs-h2: 20px;
   --fs-h3: 17px;
 
   --icon: 30px;
 }
 
 html,body{height:100%}
 body{
   font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
   margin: 24px;
   color: var(--text);
   font-size: var(--fs-base);
   background: linear-gradient(180deg, #f8f8f8 0%, #f2f2f2 100%);
 }
 
 .wrap{ max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }
 
 a{ color: inherit; }
 a:hover{ text-decoration: underline; }
 
 .muted{ color: var(--muted); }
 .mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
 .eyebrow{ display:inline-flex; padding:6px 10px; border-radius:var(--radius-pill); background:rgba(0,0,0,.05); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
 
 /* Header / Nav */
 .header{
   display:flex; gap:16px; align-items:center; justify-content:space-between;
   margin-bottom: 18px; flex-wrap:wrap;
 }
 .brand h1{ margin:0; font-size: var(--fs-h1); line-height: 1.15; }
 .brand .sub{ margin-top: 2px; font-size: var(--fs-small); color: var(--muted); }
 
 .nav{ display:flex; gap:10px; flex-wrap:wrap; }
 .nav a{
   display:inline-flex; align-items:center; gap:8px;
   padding: 10px 16px;
   border-radius: var(--radius-pill);
   border: 1px solid var(--border);
   background: rgba(255,255,255,.9);
   box-shadow: var(--shadow);
   text-decoration:none;
   font-weight: 800;
   font-size: 16px;
 }
 .nav a:hover{ background: rgba(0,0,0,.04); text-decoration:none; }
 .nav a.active{
   background: rgba(0,0,0,.06);
   border-color: rgba(0,0,0,.20);
 }
 
 /* Cards */
 .card{
   background: rgba(255,255,255,.94);
   backdrop-filter: blur(2px);
   border: 1px solid var(--border);
   border-radius: var(--radius-lg);
   padding: 16px;
   box-shadow: var(--shadow);
 }
 .section-card{ margin-top: 18px; }
 .section-head{
   display:flex;
   gap:12px;
   justify-content:space-between;
   align-items:flex-start;
   margin-bottom:12px;
   flex-wrap:wrap;
 }
 .section-subtitle{ margin:4px 0 0; color:var(--muted); }
 .empty-state{
   padding: 18px;
   border:1px dashed var(--border);
   border-radius: 14px;
   background: var(--bg-soft);
   color: var(--muted);
 }
 
 /* Page titles */
 .page-title{ font-size: 28px; font-weight: 900; margin: 0 0 12px; }
 .section-title{ font-size: var(--fs-h2); font-weight: 900; margin: 0; }
 
 /* Controls */
 .toolbar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
 .btn{
   padding: 10px 14px;
   border-radius: 12px;
   border: 1px solid var(--border);
   background: rgba(0,0,0,.03);
   cursor: pointer;
   text-decoration:none;
   display:inline-flex;
   align-items:center;
   gap:8px;
   font-size: 15px;
 }
 .btn:hover{ background: rgba(0,0,0,.06); text-decoration:none; }
 .btn-primary{
   background:#121212;
   color:#fff;
   border-color:#121212;
 }
 .btn-primary:hover{ background:#202020; }
 .select,.input{
   padding: 10px 12px;
   border-radius: 12px;
   border: 1px solid var(--border);
   background: #fff;
   font-size: 15px;
 }
 details.adv{
   border:1px solid var(--border);
   border-radius: 12px;
   padding: 10px 12px;
   background:#fff;
   margin-top:10px;
 }
 details.adv summary{ cursor:pointer; font-weight:800; }
 .adv-grid{
   display:grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap:12px;
   margin-top:10px;
 }
 @media (max-width: 1200px){ .adv-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
 @media (max-width: 780px){ .adv-grid{ grid-template-columns: 1fr; } }
 
 /* Tables */
 table{ width:100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-table); background: transparent; }
 thead th{
   background:#f6f6f6;
   text-align:left;
   font-weight:900;
   font-size: var(--fs-th);
   padding:10px;
   border-bottom:1px solid var(--border);
 }
 tbody td{
   padding:10px;
   border-bottom:1px solid var(--border2);
   vertical-align: top;
 }
 tbody tr:hover{ background: var(--hover); }
 .meta-table{ width:100%; border-collapse: collapse; }
 .meta-table th, .meta-table td{ text-align:left; padding:8px 6px; border-bottom: 1px solid rgba(0,0,0,0.08); vertical-align: top; }
 .meta-table th{ width: 170px; opacity:.75; font-weight:700; }
 
 /* Pills / chips / pager */
 .pill{ display:inline-flex; gap:8px; align-items:center; padding: 6px 10px; border:1px solid var(--border); border-radius: var(--radius-pill); font-size: 12px; background: rgba(0,0,0,.02); }
 .chips{ display:flex; gap:8px; flex-wrap:wrap; }
 .chip{ display:inline-flex; padding:6px 10px; border-radius: var(--radius-pill); border:1px solid rgba(0,0,0,0.12); background:rgba(0,0,0,0.03); font-size:12px; }
 .pager{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin: 12px 0 0; }
 .pager a{ text-decoration:none; border-bottom: 1px dashed rgba(0,0,0,0.25); }
 
 /* Icons */
 .item-icon, .icon-38{
   width: var(--icon);
   height: var(--icon);
   object-fit: contain;
   border-radius: 10px;
   border: 1px solid var(--border);
   background:#fff;
   flex: 0 0 auto;
 }
 .entity-link{
   display:inline-flex;
   align-items:center;
   gap:10px;
   text-decoration:none;
   font-weight:700;
 }
 .entity-link:hover{ text-decoration:none; }
 
 /* Home */
 .hero-home{
   margin-bottom: 18px;
   overflow:hidden;
 }
 .hero-home__content{
   display:grid;
   gap:18px;
 }
 .hero-home__title{
   font-size: clamp(28px, 5vw, 42px);
   line-height: 1.08;
   margin: 10px 0 0;
 }
 .hero-home__text{
   margin: 10px 0 0;
   color: var(--muted);
   max-width: 900px;
   font-size: 17px;
 }
 .home-stats{
   display:grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap:12px;
 }
 .home-stat{
   background: var(--bg-soft);
   border:1px solid var(--border);
   border-radius: 16px;
   padding: 14px;
 }
 .home-stat strong{ display:block; font-size: 28px; }
 .home-stat span{ color:var(--muted); font-size:14px; }
 .home-grid{
   display:grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap:14px;
 }
 .home-item-card{
   display:flex;
   gap:12px;
   flex-direction:column;
   border:1px solid var(--border);
   border-radius: 18px;
   padding:14px;
   background:#fff;
 }
 .home-item-card__top{
   display:flex;
   align-items:flex-start;
   justify-content:space-between;
   gap:10px;
 }
 .home-item-card__icon .entity-link{ font-size: 18px; font-weight: 800; }
 .home-item-card__body{ display:grid; gap:6px; }
 .home-item-card__title{ margin:0; font-size:18px; }
 .home-item-card__title a{ text-decoration:none; }
 .home-item-card__description{ margin: 4px 0 0; color: var(--muted); }
 .price-badge{
   display:inline-flex;
   align-items:center;
   gap:8px;
   margin-top:6px;
   padding:8px 10px;
   border-radius: 12px;
   background: rgba(0,0,0,.04);
   border: 1px solid var(--border);
   width: fit-content;
 }
 
 /* Item page */
 .item-page{ display:grid; gap:18px; }
 .item-hero{ margin: 4px 0 0; }
 .item-hero__title{ font-size: clamp(28px, 4vw, 38px); line-height:1.08; margin:0; }
 .item-hero__meta{ margin-top:10px; display:flex; flex-wrap:wrap; gap:10px; }
 .item-grid{ display:grid; grid-template-columns: 1.4fr 1fr; gap:14px; align-items:start; }
 .iconbox img {
   width:64px;
   height:64px;
   object-fit:contain;
   border-radius:14px;
   border:1px solid rgba(0,0,0,0.10);
   background:#fff;
 }
 
 @media (max-width: 980px){
   .item-grid{ grid-template-columns: 1fr; }
   .home-grid{ grid-template-columns: 1fr; }
   .home-stats{ grid-template-columns: 1fr; }
 }


/* Global search */
.global-search-form{
  display:grid;
  gap:10px;
}
.global-search-form--home{
  margin-top: 4px;
}
.global-search-form__row{
  display:flex;
  gap:10px;
  align-items:center;
}
.global-search-input{
  flex:1 1 auto;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: #fff;
  font-size: 16px;
  box-shadow: var(--shadow);
}
.global-search-input:focus{
  outline:none;
  border-color: rgba(0,0,0,.24);
  box-shadow: 0 0 0 4px rgba(0,0,0,.05);
}
.global-search-btn{
  white-space: nowrap;
}
.search-hero{
  margin-bottom: 18px;
}
.search-hero__content{
  display:grid;
  gap:16px;
}
.search-hero__title{
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.08;
  margin: 10px 0 0;
}
.search-hero__text{
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 860px;
}
.search-help-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.search-help-card{
  border:1px solid var(--border);
  border-radius: 18px;
  background:#fff;
  padding:14px;
}
.search-help-card p{
  margin:8px 0 0;
}
.search-results-list{
  display:grid;
  gap:12px;
}
.search-result-card{
  display:grid;
  grid-template-columns: auto 1fr;
  gap:14px;
  align-items:flex-start;
  padding:14px;
  border:1px solid var(--border);
  border-radius: 18px;
  background:#fff;
}
.search-result-card--compact{
  grid-template-columns: 1fr;
}
.search-result-card__icon .entity-link{
  font-size: 17px;
  font-weight: 800;
}
.search-result-card__body{
  display:grid;
  gap:4px;
  min-width:0;
}
.search-result-card__title{
  margin:0;
  font-size: 18px;
}
.search-result-card__title a{
  text-decoration:none;
}
.search-result-card__title a:hover{
  text-decoration:underline;
}

@media (max-width: 900px){
  .search-help-grid,
  .home-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  .global-search-form__row{
    flex-direction:column;
    align-items:stretch;
  }
  .global-search-btn{
    width:100%;
    justify-content:center;
  }
  .home-stats{
    grid-template-columns: 1fr;
  }
  .search-result-card{
    grid-template-columns: 1fr;
  }
}


/* Home section links and compact cards */
.section-title-link{
  color: inherit;
  text-decoration: none;
}
.section-title-link:hover{
  text-decoration: underline;
}
.home-item-card--compact .home-item-card__top{
  align-items:center;
}
.home-item-card__icon-only{
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-item-card__icon-only .item-icon,
.home-item-card__icon-only .icon-38{
  width:44px;
  height:44px;
  border-radius: 12px;
}
.home-item-card__text{
  display:grid;
  gap:6px;
}
.home-item-card__title-link{
  color: inherit;
  text-decoration:none;
}
.home-item-card__title-link:hover{
  text-decoration:underline;
}
.home-item-card__price{
  font-weight:800;
}
.home-section-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* Catalog pages */
.catalog-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.catalog-card{
  display:grid;
  grid-template-columns: auto 1fr;
  gap:12px;
  align-items:center;
  border:1px solid var(--border);
  border-radius: 18px;
  padding:14px;
  background:#fff;
}
.catalog-card__body{
  display:grid;
  gap:6px;
  min-width:0;
}
.catalog-card__title{
  margin:0;
  font-size:18px;
}
.catalog-card__title a{
  color: inherit;
  text-decoration:none;
}
.catalog-card__title a:hover{
  text-decoration:underline;
}
.catalog-card__price{
  font-weight:800;
}
@media (max-width: 1100px){
  .catalog-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .catalog-grid{
    grid-template-columns: 1fr;
  }
}


/* --- Market/home layout fixes --- */
.section-title-link{
  color: inherit;
  text-decoration: none;
}

.section-title-link:hover{
  text-decoration: underline;
}

.home-section-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}

.home-item-card--compact{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
}

.home-item-card__media{
  width:48px;
  min-width:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-item-card__content{
  min-width:0;
  flex:1;
}

.home-item-card__title{
  margin:0 0 6px;
  font-size:1rem;
  line-height:1.3;
}

.home-item-card__title-link{
  color:inherit;
  text-decoration:none;
}

.home-item-card__title-link:hover{
  text-decoration:underline;
}

.home-item-card__description{
  margin:0;
  opacity:.88;
}

.home-item-card__price{
  font-weight:700;
}

.section-head--catalog{
  align-items:flex-end;
}

.catalog-toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.catalog-toolbar__label{
  font-weight:600;
  opacity:.92;
}

.catalog-toolbar__select{
  min-width:72px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:inherit;
  padding:8px 12px;
}

.catalog-grid--custom{
  display:grid;
  grid-template-columns:repeat(var(--catalog-columns,5), minmax(0, 1fr));
  gap:14px;
}

.catalog-card--compact{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.catalog-card__icon{
  width:48px;
  min-width:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.catalog-card__title{
  margin:0 0 6px;
  font-size:.98rem;
  line-height:1.3;
  word-break:break-word;
}

.catalog-card__title a{
  color:inherit;
  text-decoration:none;
}

.catalog-card__title a:hover{
  text-decoration:underline;
}

.catalog-card__price{
  font-weight:700;
}

@media (max-width: 1200px){
  .catalog-grid--custom{
    grid-template-columns:repeat(min(4, var(--catalog-columns,5)), minmax(0, 1fr));
  }
}

@media (max-width: 900px){
  .catalog-grid--custom{
    grid-template-columns:repeat(min(3, var(--catalog-columns,5)), minmax(0, 1fr));
  }
}

@media (max-width: 680px){
  .catalog-grid--custom,
  .home-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px){
  .catalog-grid--custom,
  .home-grid{
    grid-template-columns:1fr;
  }
  .home-item-card--compact,
  .catalog-card--compact{
    align-items:flex-start;
  }
}
