/* theme.css — AdultSense components (marketplace aesthetic). Tokens, base and top bar are in templates/_critical.css (inlined). */
/* ── 4. Components (as-*) ── */
.as-eyebrow{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.as-sub{color:var(--text-muted);font-size:13px;line-height:1.5}
.as-hero{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:var(--sp-6);border-radius:var(--r-xl);margin-bottom:var(--sp-4);background:var(--hero-grad);border:1px solid var(--border)}
.as-hero h1{margin:0 0 6px}.as-hero p{color:var(--text-muted);max-width:620px;line-height:1.5}
.as-card,.card{background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-4)}
.as-card.hover{transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.as-card.hover:hover{transform:translateY(-2px);border-color:var(--border-hover);box-shadow:var(--shadow)}
.as-card.gold{background:linear-gradient(180deg,rgba(201,168,76,.09),rgba(201,168,76,.02));border-color:var(--gold-line)}
.as-card.info{background:linear-gradient(180deg,rgba(108,140,255,.10),rgba(108,140,255,.02));border-color:var(--info-line)}
.as-card.success{background:linear-gradient(135deg,rgba(0,184,148,.12),rgba(0,184,148,.03));border-color:var(--success-line)}
.card h2,.as-card h2{font-size:var(--fs-lg);margin-bottom:var(--sp-4)}
.as-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.as-stats,.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:var(--sp-5)}
.as-stat,.stat-card{background:var(--card-grad);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) 18px;text-align:left}
.as-stat-value,.stat-value{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--text)}
.as-stat-value.gold,.stat-value{color:var(--gold-light)}
.as-stat-label,.stat-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:6px}
/* buttons */
.btn,.as-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--r);font:700 13.5px var(--font);cursor:pointer;text-decoration:none;
  border:1px solid transparent;background:var(--gold-grad);color:var(--text-on-gold);transition:filter var(--ease),border-color var(--ease),background var(--ease);white-space:nowrap}
.btn:hover,.as-btn:hover{filter:brightness(1.08)}
.btn-outline,.as-btn.ghost{background:var(--bg);border-color:var(--border);color:var(--text)}
.btn-outline:hover,.as-btn.ghost:hover{border-color:var(--border-hover);filter:none}
.as-btn.danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-light)}
.as-btn.success{background:var(--success-soft);border-color:var(--success-line);color:var(--success-light)}
.as-btn.info{background:var(--info-soft);border-color:var(--info-line);color:var(--info-light)}
.btn-sm,.as-btn.sm{padding:7px 12px;font-size:12.5px}
.btn[disabled],.as-btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}
.as-link{background:none;border:0;color:var(--gold);cursor:pointer;font-size:13px;padding:0;text-decoration:none}
/* pills, tags, chips */
.as-pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap;background:var(--neutral-soft);color:var(--text-muted)}
.as-tag{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:600;padding:3px 8px;border-radius:var(--r-sm);background:var(--neutral-soft);color:var(--text-muted)}
.as-pill.gold,.as-tag.gold{background:var(--gold-soft);color:var(--gold-light)}
.as-pill.success,.as-tag.success{background:var(--success-soft);color:var(--success-light)}
.as-pill.danger,.as-tag.danger{background:var(--danger-soft);color:var(--danger-light)}
.as-pill.info,.as-tag.info{background:var(--info-soft);color:var(--info-light)}
.as-pill.warn,.as-tag.warn{background:var(--warn-soft);color:var(--warn-light)}
.as-chips{display:flex;gap:6px;flex-wrap:wrap}
.as-chip{border:1px solid var(--border);background:var(--bg);color:var(--text);padding:7px 13px;border-radius:var(--r-pill);font-size:13px;cursor:pointer;transition:var(--ease);white-space:nowrap;text-decoration:none}
.as-chip:hover{border-color:var(--border-hover)}
.as-chip.on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-light)}
/* forms */
input,select,textarea{font:inherit;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-size:14px;width:100%;outline:none;transition:border-color var(--ease)}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;padding:0;accent-color:var(--gold);vertical-align:middle}
input[type=color]{padding:2px;height:38px}
.form-group,.as-field{display:grid;gap:6px;margin-bottom:var(--sp-4)}
.form-group label,.as-field label,.as-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}
.as-toolbar{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-3)}
.as-toolbar>input,.as-toolbar>select{width:auto;flex:1;min-width:160px}
/* tables */
.as-table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);overflow:auto;background:var(--card-grad);margin-bottom:var(--sp-4)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--border-soft)}
th{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;background:rgba(0,0,0,.12);white-space:nowrap}
tbody tr{transition:background var(--ease)} tbody tr:hover{background:rgba(201,168,76,.05)}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
/* alerts */
.flash,.as-alert{padding:12px 14px;border-radius:var(--r);margin-bottom:var(--sp-4);font-size:13.5px;line-height:1.5;border:1px solid var(--border);background:var(--surface)}
.flash.success,.as-alert.success{background:var(--success-soft);border-color:var(--success-line);color:var(--success-light)}
.flash.error,.as-alert.danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-light)}
.as-alert.gold{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.35);color:var(--text)}
.as-alert.info{background:var(--info-soft);border-color:var(--info-line);color:var(--text)}
/* modal */
.as-modal{position:fixed;inset:0;background:rgba(8,10,16,.7);backdrop-filter:blur(3px);z-index:10000;display:grid;place-items:center;padding:16px}
.as-modal[hidden]{display:none}
.as-modal-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow:auto;padding:24px;position:relative;box-shadow:var(--shadow-lg)}
.as-x{position:absolute;top:8px;right:8px;background:none;border:0;color:var(--text-muted);font-size:26px;line-height:1;width:40px;height:40px;cursor:pointer;border-radius:50%}
.as-x:hover{background:var(--neutral-soft);color:var(--text)}
.as-empty{text-align:center;color:var(--text-muted);padding:50px 10px}
.as-bar{height:6px;border-radius:3px;background:var(--neutral-soft);overflow:hidden}.as-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dark),var(--gold-bright));border-radius:3px}
/* site-wide banners (from base.html) */
.as-renewal{display:none;margin-bottom:var(--sp-5);padding:16px 20px;border:1px solid var(--danger-line);border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(214,48,49,.14),rgba(214,48,49,.04));position:relative}
.as-renewal.show{display:block}
.as-renewal-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.as-renewal-ico{font-size:22px}.as-renewal-txt{flex:1;min-width:200px}
.as-renewal-title{font-size:15px;font-weight:800;color:var(--danger-light);margin-bottom:4px}
.as-renewal-body{font-size:13px;line-height:1.5}
.as-renewal .as-x{top:6px;right:6px}
.as-float-ico{width:18px;height:18px;flex:none}
.as-float{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--r-lg);border:0;cursor:pointer;
  background:var(--gold-grad);color:var(--text-on-gold);font:700 14px var(--font);text-decoration:none;box-shadow:0 6px 24px rgba(201,168,76,.45);animation:proposalPulse 2s ease-in-out infinite;transition:transform var(--ease)}
.as-float:hover{transform:scale(1.04)}
.as-float-cta{background:rgba(0,0,0,.15);padding:3px 10px;border-radius:var(--r-pill);font-size:12px}
@keyframes proposalPulse{0%,100%{box-shadow:0 6px 24px rgba(201,168,76,.45)}50%{box-shadow:0 6px 32px rgba(201,168,76,.7)}}
/* themed scroll (Oliver 2026-10-28: any added scroll must be themed) */
.as-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;overscroll-behavior:contain}
.as-scroll:hover{scrollbar-color:var(--gold) transparent}
.as-scroll::-webkit-scrollbar{width:8px;height:8px}
.as-scroll::-webkit-scrollbar-track{background:transparent;margin:12px 0}
.as-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.as-scroll:hover::-webkit-scrollbar-thumb{background:var(--gold);background-clip:padding-box}
.as-scroll::-webkit-scrollbar-button{display:none;height:0;width:0}
.as-scroll::-webkit-scrollbar-corner{background:transparent}


/* ── Page + section headers (via _ui.html macros only) ── */
.as-ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;display:inline-block;vertical-align:middle}
.as-page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-2) 0 var(--sp-6)}
.as-page-title{display:flex;align-items:center;gap:14px;min-width:0}
.as-title-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--gold-grad);color:var(--text-on-gold);box-shadow:0 6px 18px rgba(201,168,76,.25)}
.as-title-ico .as-ico{width:24px;height:24px;stroke-width:2}
.as-page-head h1{margin:0;font-size:var(--fs-2xl);line-height:1.15}
.as-page-head .as-sub{margin-top:3px}
.as-page-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.as-section{margin-bottom:var(--sp-6)}
.as-section-head{margin:0 0 var(--sp-3)}
.as-section-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:var(--fs-lg);font-weight:700}
.as-section-head .as-sub{margin-top:4px}
.as-sec-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--gold-soft);color:var(--gold-light);border:1px solid var(--gold-line)}
.as-sec-ico .as-ico{width:16px;height:16px}
.as-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--r-pill);background:var(--gold-soft);color:var(--gold-light);font-size:12px;font-weight:800}
.as-icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-muted);cursor:pointer;vertical-align:middle;transition:var(--ease)}
.as-icon-btn:hover{color:var(--gold-light);background:var(--gold-soft);border-color:var(--gold-line)}
.as-icon-btn .as-ico{width:14px;height:14px}
.as-btn .as-ico,.btn .as-ico{width:15px;height:15px}
.as-pill .as-ico,.as-tag .as-ico{width:12px;height:12px;stroke-width:2.2}
/* domain badge (marketplace .mk-dfav/.mk-dbadge) */
.as-dfav{width:38px;height:38px;border-radius:10px;padding:5px;background:#fff;object-fit:contain;flex:none}
.as-dbadge{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;font-weight:800;color:var(--text-on-gold);background:var(--gold-grad)}
@media (max-width:768px){
  .as-page-head{margin:var(--sp-1) 0 var(--sp-5);gap:var(--sp-3)}
  .as-title-ico{width:40px;height:40px;border-radius:11px}.as-title-ico .as-ico{width:21px;height:21px}
  .as-page-head h1{font-size:var(--fs-xl)}
  .as-page-actions{width:100%}.as-page-actions>*{flex:1}
}

/* toast (replaces browser alert boxes) */
.as-toast{position:fixed;left:50%;bottom:24px;z-index:10050;transform:translate(-50%,16px);opacity:0;max-width:min(92vw,440px);padding:12px 16px;border-radius:var(--r-lg);font-size:13.5px;font-weight:600;line-height:1.45;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:var(--surface-3);color:var(--text);transition:opacity .25s ease,transform .25s ease}
.as-toast.in{opacity:1;transform:translate(-50%,0)}
@media (max-width:768px){.as-toast{top:calc(12px + env(safe-area-inset-top));bottom:auto;transform:translate(-50%,-16px)}.as-toast.in{transform:translate(-50%,0)}}
.as-toast.danger{border-color:var(--danger-line);color:var(--danger-light)}
.as-toast.success{border-color:var(--success-line);color:var(--success-light)}

/* ── 6. Mobile ── */
@media (max-width:768px){
  .container{padding:var(--sp-4) var(--sp-3)}
    h1{font-size:var(--fs-xl)}
  .as-hero{flex-direction:column;align-items:stretch;padding:var(--sp-4)}
  .card,.as-card{padding:var(--sp-4)}
  .as-stats,.card-grid{grid-template-columns:1fr 1fr;gap:10px}
  .as-stat,.stat-card{padding:12px 14px}.as-stat-value,.stat-value{font-size:var(--fs-xl)}
  .as-grid{grid-template-columns:1fr}
  th,td{padding:10px 12px}
  .as-modal{place-items:end center;padding:0}.as-modal-box{border-radius:18px 18px 0 0;max-height:88vh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .as-float{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:center}
  input,select,textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Shares pill: subtle gold accent so clients notice split inventory (client positions + marketplace) */
.as-tag.share-count,.mk-tag.share{background:rgba(201,168,76,.14);color:var(--gold-light);box-shadow:inset 0 0 0 1px var(--gold-line);font-weight:700}
