/* Abilizer AI Agent Marketplace. Uses the Abilizer theme tokens when present, with matching fallbacks for any other theme. */
.abz{
  --abz-ink:var(--ink,#1f2128);
  --abz-ink-2:var(--ink-2,#2c2f38);
  --abz-paper:var(--paper,#fff);
  --abz-mist:var(--mist,#f2f2f0);
  --abz-fg:var(--fg,#1f2128);
  --abz-muted:var(--muted,#5b5e68);
  --abz-line:var(--line,#dcdcd8);
  --abz-card:var(--card,#fff);
  --abz-signal:var(--signal,#ffa412);
  --abz-signal-ink:var(--signal-ink,#1f2128);
  --abz-on-ink:var(--on-ink,#f4f4f2);
  --abz-on-ink-muted:var(--on-ink-muted,#b4b6bd);
  --abz-display:var(--display,"Archivo","Helvetica Neue",Arial,sans-serif);
  --abz-body:var(--body,"Public Sans","Helvetica Neue",Arial,sans-serif);
  --abz-gutter:var(--gutter,clamp(16px,4vw,40px));
  font-family:var(--abz-body);color:var(--abz-fg);
}
.abz *{box-sizing:border-box}
.abz .wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--abz-gutter)}
.abz h1,.abz h2,.abz h3{font-family:var(--abz-display);font-stretch:85%;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}
.abz h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}
.abz h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:750}
.abz h3{font-size:1.25rem;font-weight:700}
.abz p{margin:0;max-width:62ch}
.abz-eyebrow{font-family:var(--abz-display);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--abz-signal)}
.abz-btn{display:inline-flex;align-items:center;gap:.5em;background:var(--abz-signal);color:var(--abz-signal-ink);font-family:var(--abz-display);font-weight:700;font-stretch:90%;font-size:1rem;text-decoration:none;padding:.85em 1.3em;border:2px solid var(--abz-signal);cursor:pointer;transition:transform .15s}
.abz-btn:hover{transform:translateY(-2px)}
.abz-btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.abz-btn.is-disabled{opacity:.45;cursor:not-allowed;transform:none}
.abz-link{font-family:var(--abz-display);font-weight:700;text-decoration:none;color:inherit;border-bottom:2px solid var(--abz-signal);padding-bottom:1px}
.abz-plain{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;font-size:1rem;padding:0}
.abz :focus-visible{outline:3px solid var(--abz-signal);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.abz *{transition:none!important}}

/* Hero + filters */
.abz-hero{background:var(--abz-ink);color:var(--abz-on-ink);padding-block:clamp(48px,7vw,88px) clamp(40px,5vw,64px)}
.abz-hero .wrap{display:grid;gap:18px}
.abz-hero p{color:var(--abz-on-ink-muted);font-size:1.1rem}
.abz-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:14px;align-items:end;margin-top:18px;background:var(--abz-ink-2);padding:18px}
.abz-field{display:grid;gap:6px;min-width:0}
.abz-field label,.abz-check{font-family:var(--abz-display);font-weight:600;font-size:.88rem}
.abz input:not([type=checkbox]),.abz select,.abz textarea{font:inherit;font-size:1rem;padding:11px 13px;border-radius:0;width:100%;background:var(--abz-paper);color:var(--abz-fg);border:1px solid var(--abz-line)}
.abz-hero input:not([type=checkbox]),.abz-hero select,.abz-request input:not([type=checkbox]),.abz-request select,.abz-request textarea{background:var(--abz-ink);color:var(--abz-on-ink);border-color:rgba(255,255,255,.2)}
.abz input[type=checkbox]{accent-color:var(--abz-signal);width:18px;height:18px;margin:0}
.abz-check{display:flex;gap:8px;align-items:center;padding-bottom:12px;white-space:nowrap}
@media (max-width:960px){.abz-filters{grid-template-columns:1fr 1fr}.abz-field-q{grid-column:1/-1}}
@media (max-width:520px){.abz-filters{grid-template-columns:1fr}}

/* Category bar */
.abz-catbar{border-bottom:1px solid var(--abz-line);background:var(--abz-paper)}
.abz-catbar .wrap{display:flex;gap:4px 28px;overflow-x:auto;scrollbar-width:none}
.abz-catbar a{font-family:var(--abz-display);font-weight:600;text-decoration:none;color:var(--abz-muted);padding:16px 0;border-bottom:3px solid transparent;white-space:nowrap}
.abz-catbar a:hover{color:var(--abz-fg)}
.abz-catbar a.is-active{color:var(--abz-fg);border-color:var(--abz-signal)}

/* Results */
.abz-results{padding-block:clamp(40px,6vw,72px);background:var(--abz-paper)}
.abz-count{color:var(--abz-muted);margin-bottom:20px!important;font-size:.95rem}
.abz-section-title{margin-bottom:24px!important}
.abz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.abz-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.abz-grid{grid-template-columns:1fr}}
.abz-card{background:var(--abz-card);border:1px solid var(--abz-line);display:grid;grid-template-rows:auto 1fr;min-width:0;transition:box-shadow .2s,transform .2s}
.abz-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(0,0,0,.4)}
.abz-card-visual{display:block;position:relative;aspect-ratio:16/8;max-width:100%;background:var(--abz-ink);overflow:hidden}
.abz-card-visual img{width:100%;height:100%;object-fit:cover;display:block}
.abz-card-visual .abz-icon-tile{position:absolute;left:20px;top:20px}
.abz-tag{position:absolute;left:16px;bottom:14px;background:var(--abz-signal);color:var(--abz-signal-ink);font:700 .74rem var(--abz-display);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px}
.abz-icon-tile{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:var(--abz-ink)}
.abz-icon-tile svg{width:26px;height:26px;stroke:var(--abz-signal);fill:none;stroke-width:1.8}
.abz-icon-lg{width:64px;height:64px;flex:none}
.abz-icon-lg svg{width:34px;height:34px}
.abz-card-body{padding:22px 22px 20px;display:grid;gap:10px;align-content:start;grid-template-rows:auto auto 1fr auto auto}
.abz-card-body h3 a{text-decoration:none;color:inherit}
.abz-vendor{color:var(--abz-muted);font-size:.88rem}
.abz-hero .abz-vendor{color:var(--abz-on-ink-muted)}
.abz-tagline{color:var(--abz-muted);font-size:.97rem}
.abz-chips{display:flex;flex-wrap:wrap;gap:6px}
.abz-chip{font-size:.75rem;font-weight:600;padding:3px 9px;border:1px solid var(--abz-line);color:var(--abz-fg)}
.abz-chip-hi{background:var(--abz-signal);border-color:var(--abz-signal);color:var(--abz-signal-ink)}
.abz-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--abz-line);padding-top:14px;margin-top:4px}
.abz-compare-toggle{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;color:var(--abz-muted);cursor:pointer}
.abz-on-dark{color:var(--abz-on-ink-muted)}
.abz-empty{border:1px dashed var(--abz-line);padding:40px;display:grid;gap:14px;justify-items:start}
.abz-empty p{color:var(--abz-muted)}
.abz-pagination{margin-top:36px;display:flex;gap:14px;font-family:var(--abz-display);font-weight:700}
.abz-pagination .current{color:var(--abz-signal)}

/* Compare */
.abz-compare{padding-block:clamp(40px,6vw,64px);background:var(--abz-mist);border-bottom:1px solid var(--abz-line)}
.abz-compare-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}
.abz-table-scroll{overflow-x:auto}
.abz-table{border-collapse:collapse;width:100%;min-width:640px;background:var(--abz-card);font-size:.95rem}
.abz-table th,.abz-table td{border:1px solid var(--abz-line);padding:12px 14px;text-align:left;vertical-align:top}
.abz-table thead th{background:var(--abz-ink);color:var(--abz-on-ink);font-family:var(--abz-display);font-size:1.05rem}
.abz-table thead th a{color:inherit;text-decoration:none}
.abz-table tbody th{font-family:var(--abz-display);font-weight:600;width:18%;color:var(--abz-muted)}
.abz-table ul{margin:0;padding-left:18px}
.abz-table .abz-btn{font-size:.88rem;padding:.6em 1em}
.abz-compare-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--abz-ink);color:var(--abz-on-ink);border-top:3px solid var(--abz-signal);padding-bottom:env(safe-area-inset-bottom,0px)}
.abz-compare-bar .wrap{display:flex;align-items:center;gap:16px;padding-block:14px;flex-wrap:wrap}
.abz-compare-bar #abz-compare-names{flex:1 1 240px;min-width:0;font-weight:600}
.abz-compare-bar .abz-plain{color:var(--abz-on-ink)}

/* Agent page */
.abz-crumbs{display:flex;gap:10px;font-size:.9rem;color:var(--abz-on-ink-muted)}
.abz-crumbs a{color:inherit}
.abz-agent-head{display:flex;gap:20px;align-items:center}
.abz-lead{font-size:1.2rem!important;color:var(--abz-on-ink)!important}
.abz-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}
.abz-detail{padding-block:clamp(48px,7vw,88px);background:var(--abz-paper)}
.abz-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(32px,5vw,64px);align-items:start}
.abz-detail-main{display:grid;gap:20px;min-width:0}
.abz-detail-main h2{margin-top:16px}
.abz-detail-img{margin:0}
.abz-detail-img img{width:100%;height:auto;display:block}
.abz-content{display:grid;gap:1em;line-height:1.65}
.abz-content > *{margin:0}
.abz-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.abz-checks li{padding-left:28px;position:relative}
.abz-checks li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:3px solid var(--abz-signal);border-bottom:3px solid var(--abz-signal);transform:rotate(-45deg)}
.abz-facts{border:1px solid var(--abz-line);background:var(--abz-card);padding:24px;display:grid;gap:16px;position:sticky;top:calc(96px + env(safe-area-inset-top,0px))}
.abz-facts h2{font-size:1.2rem}
.abz-facts dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;font-size:.94rem}
.abz-facts dt{color:var(--abz-muted)}
.abz-facts dd{margin:0;font-weight:600;text-align:right}
.abz-facts dd a{color:inherit}
.abz-facts-impl{background:var(--abz-mist);padding:16px;display:grid;gap:6px;font-size:.92rem}
.abz-facts-impl p{color:var(--abz-muted)}
@media (max-width:900px){.abz-detail-grid{grid-template-columns:1fr}.abz-facts{position:static}}

/* Request form */
.abz-request{background:var(--abz-ink);color:var(--abz-on-ink);padding-block:clamp(56px,8vw,96px)}
.abz-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px)}
.abz-request-grid > div{display:grid;gap:16px;align-content:start}
.abz-request p{color:var(--abz-on-ink-muted)}
.abz-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.abz-full{grid-column:1/-1}
.abz-form textarea{min-height:110px;resize:vertical}
.abz-hp{position:absolute!important;left:-9999px}
.abz-msg{padding:14px 16px;font-weight:600}
.abz-msg-ok{background:var(--abz-signal);color:var(--abz-signal-ink)!important}
.abz-msg-err{background:#b3261e;color:#fff!important}
@media (max-width:860px){.abz-request-grid{grid-template-columns:1fr}}
@media (max-width:480px){.abz-form{grid-template-columns:1fr}}

/* Help band */
.abz-help{background:var(--abz-mist);padding-block:clamp(48px,7vw,80px);border-top:1px solid var(--abz-line)}
.abz-help .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.abz-help .wrap > div{display:grid;gap:12px;flex:1 1 420px;min-width:0}
.abz-help p{color:var(--abz-muted)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
