:root{
  /* Light theme (default) */
  --ac-bg:color-mix(in srgb, var(--color-bg, #ffffff) 96%, #94a3b8 4%);
  --ac-bg2:color-mix(in srgb, var(--color-bg, #ffffff) 92%, #a5b4fc 8%);
  --ac-hero-bg:var(--color-bg, #ffffff);
  --ac-text:var(--color-text, #0f172a);
  --ac-muted:var(--gray-500, #64748b);
  --ac-border:color-mix(in srgb, var(--ac-text) 12%, transparent);
  --ac-card:color-mix(in srgb, var(--color-bg, #ffffff) 92%, transparent);
  --ac-card2:color-mix(in srgb, var(--color-bg, #ffffff) 78%, transparent);
  --ac-accent:#16a34a;
  --ac-blue:#2563eb;
}

html.dark{
  /* Dark theme */
  --ac-bg:color-mix(in srgb, var(--color-bg, #0f172a) 96%, #0b1220 4%);
  --ac-bg2:color-mix(in srgb, var(--color-bg, #0f172a) 96%, #0a1020 4%);
  --ac-hero-bg:var(--color-bg, #0f172a);
  --ac-text:var(--color-text, #e2e8f0);
  --ac-muted:var(--gray-500, #cbd5e1);
  --ac-border:color-mix(in srgb, var(--ac-text) 14%, transparent);
  --ac-card:color-mix(in srgb, var(--color-bg, #0f172a) 92%, transparent);
  --ac-card2:color-mix(in srgb, var(--color-bg, #0f172a) 78%, transparent);
  --ac-accent:#22c55e;
  --ac-blue:#2563eb;
}

.ads-cat-page{background:linear-gradient(180deg,var(--ac-bg) 0%, var(--ac-bg2) 55%, var(--ac-bg) 100%);color:var(--ac-text);min-height:100vh;}
.ads-cat-shell{width:100%;max-width:1200px;margin:0 auto;padding:0 18px;}

.ads-cat-hero{padding:22px 0 14px;border-bottom:1px solid rgba(148,163,184,.10);background:var(--ac-hero-bg);}

.ads-cat-top{display:grid;grid-template-columns:120px 1fr 140px;gap:12px;align-items:center;}
.ads-cat-back{display:inline-flex;align-items:center;gap:10px;color:var(--ac-text);text-decoration:none;font-weight:900;background:var(--ac-card2);border:1px solid var(--ac-border);height:42px;border-radius:14px;padding:0 12px;}
.ads-cat-back i{opacity:.9;}
.ads-cat-title h1{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.02em;}
.ads-cat-title p{margin:4px 0 0;color:var(--ac-muted);font-weight:700;font-size:13px;}
.ads-cat-filters-btn{height:42px;border-radius:14px;border:1px solid var(--ac-border);background:var(--ac-card2);color:var(--ac-text);font-weight:1000;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;}

.ads-cat-search{margin-top:14px;display:grid;gap:10px;}
.ads-cat-searchbox{display:flex;align-items:center;gap:10px;height:48px;border-radius:16px;border:1px solid var(--ac-border);background:var(--ac-card2);padding:0 12px;}
.ads-cat-searchbox i{color:var(--ac-muted);}
.ads-cat-searchbox input{flex:1;border:0;outline:none;background:transparent;color:var(--ac-text);font-weight:900;}
.ads-cat-searchbox button{border:0;background:transparent;color:var(--ac-muted);cursor:pointer;width:34px;height:34px;border-radius:12px;}
.ads-cat-searchbox button:hover{background:var(--ac-card);color:var(--ac-text);}

.ads-cat-chips{display:flex;flex-wrap:wrap;gap:10px;}
.ads-chip{border:1px solid var(--ac-border);background:var(--ac-card2);color:var(--ac-text);border-radius:999px;height:34px;padding:0 12px;font-weight:1000;display:inline-flex;align-items:center;gap:10px;cursor:pointer;}
.ads-chip i{opacity:.85;}

.ads-cat-content{padding:18px 0 40px;}
.ads-cat-grid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.ads-cat-count{color:var(--ac-muted);font-weight:900;}
.ads-cat-sort label{display:flex;align-items:center;gap:10px;color:var(--ac-muted);font-weight:900;font-size:12px;}
.ads-cat-sort select{height:36px;border-radius:12px;border:1px solid var(--ac-border);background:var(--ac-card2);color:var(--ac-text);font-weight:900;outline:none;padding:0 10px;}

.ads-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media (max-width: 1100px){.ads-cat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width: 780px){
  .ads-cat-top{grid-template-columns:1fr 1fr;grid-template-areas:"back filters" "title title";}
  .ads-cat-back{grid-area:back;}
  .ads-cat-filters-btn{grid-area:filters;justify-self:end;width:120px;}
  .ads-cat-title{grid-area:title;}
  .ads-cat-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 430px){.ads-cat-grid{grid-template-columns:1fr;}}

.ads-card{display:block;text-decoration:none;color:inherit;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg, var(--ac-card), var(--ac-card2));}
.ads-card__img{height:150px;background-size:cover;background-position:center;background-color:var(--ac-card2);}
.ads-card__body{padding:10px 10px 12px;}
.ads-card__title{font-weight:1000;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;}
.ads-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:900;color:var(--ac-muted);}
.ads-card__price{color:var(--ac-text);}
.ads-card__loc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%;}
.ads-card:hover{transform:translateY(-2px);transition:transform .15s ease;}

.ads-cat-empty{padding:40px 0;text-align:center;}
.ads-cat-empty-ico{width:54px;height:54px;border-radius:18px;margin:0 auto 10px;display:grid;place-items:center;background:color-mix(in srgb, var(--ac-bg) 6%, transparent);border:1px solid var(--ac-border);}
.ads-cat-empty-title{font-weight:1000;font-size:16px;}
.ads-cat-empty-sub{margin-top:4px;color:var(--ac-muted);font-weight:800;font-size:13px;}

/* Bottom sheet */
.ads-sheet-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10050;}
.ads-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--ac-hero-bg);border-radius:20px 20px 0 0;box-shadow:0 -18px 60px rgba(2,6,23,.22);transform:translateY(110%);transition:transform .22s ease;z-index:10060;max-height:78vh;display:flex;flex-direction:column;padding-bottom:calc(14px + env(safe-area-inset-bottom));color:var(--ac-text);}
.ads-sheet.is-open{transform:translateY(0);}
.ads-sheet__handle{width:46px;height:5px;border-radius:999px;background:rgba(15,23,42,.18);margin:10px auto 6px;}
.ads-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid rgba(15,23,42,.08);}
.ads-sheet__title{font-weight:1000;letter-spacing:-.02em;}
.ads-sheet__close{width:36px;height:36px;border-radius:12px;border:1px solid var(--ac-border);background:var(--ac-hero-bg);display:grid;place-items:center;color:var(--ac-text);}
.ads-sheet__body{padding:12px 14px 0;overflow:auto;-webkit-overflow-scrolling:touch;}
.ads-sheet__section-title{font-weight:1000;font-size:13px;margin:2px 0 10px;}
.ads-sheet__row{display:flex;gap:10px;align-items:center;}
.ads-sheet__field{flex:1;display:flex;flex-direction:column;gap:6px;}
.ads-sheet__field span{font-size:11px;font-weight:900;color:#64748b;}
.ads-sheet__field input{height:44px;border-radius:14px;border:1px solid var(--ac-border);padding:0 14px;font-weight:900;outline:none;background:var(--ac-hero-bg);color:var(--ac-text);}
.ads-sheet__actions{display:flex;gap:10px;margin-top:12px;}
.ads-sheet__btn{flex:1;height:44px;border-radius:14px;border:1px solid var(--ac-border);background:var(--ac-hero-bg);font-weight:1000;cursor:pointer;color:var(--ac-text);}
.ads-sheet__btn.is-primary{background:var(--ac-blue);border-color:var(--ac-blue);color:var(--ac-hero-bg);}
