/* 24CraftsHub v3.0.6 — UX refinement & production-readiness presentation layer.
   Loaded after the base platform stylesheet. Selectors are intentionally scoped
   to 24CraftsHub components so ListingHive/HivePress/theme styles remain intact. */

:root{
  --ch24-dark-text:#f8fafc;
  --ch24-dark-muted:#d7d9e0;
  --ch24-dark-soft:#b9bdc8;
  --ch24-focus:#f4c86a;
  --ch24-focus-shadow:rgba(244,200,106,.25);
  --ch24-control-border:#cbd5e1;
  --ch24-control-focus:#7c3aed;
}

/* -------- Critical contrast fix: theme heading rules must not win on dark UI -------- */
.ch24-onboarding-head,
.ch24-auth-shell,
.ch24-search-hero,
.ch24-hero,
.ch24-ai-hero{
  color:var(--ch24-dark-text)!important;
}

.ch24-onboarding-head h1,
.ch24-onboarding-head h2,
.ch24-onboarding-head h3,
.ch24-auth-shell h1,
.ch24-auth-shell h2,
.ch24-auth-shell h3,
.ch24-search-hero h1,
.ch24-search-hero h2,
.ch24-search-hero h3,
.ch24-hero h1,
.ch24-hero h2,
.ch24-hero h3,
.ch24-ai-hero h1,
.ch24-ai-hero h2,
.ch24-ai-hero h3{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.15);
}

.ch24-onboarding-head .ch24-kicker,
.ch24-auth-shell .ch24-kicker,
.ch24-search-hero .ch24-kicker,
.ch24-hero .ch24-kicker,
.ch24-ai-hero .ch24-kicker{
  color:#e7e1f1!important;
  opacity:1!important;
}

.ch24-onboarding-head p,
.ch24-auth-copy p,
.ch24-search-hero p,
.ch24-hero p,
.ch24-ai-hero p{
  color:var(--ch24-dark-muted)!important;
  opacity:1!important;
}

.ch24-search-examples small{
  color:#e7e1f1!important;
  opacity:1!important;
}
.ch24-search-examples button{
  color:#f8fafc!important;
  border-color:rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.07)!important;
  opacity:1!important;
}
.ch24-search-examples button:hover{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(244,200,106,.72)!important;
}

/* Cinematic and v3 network roots already define dark palettes, but ListingHive may
   set explicit heading colors. Reassert only typography inside these roots. */
.ch24-cinematic h1,
.ch24-cinematic h2,
.ch24-cinematic h3,
.ch24-cinematic h4,
.ch24-v3 h1,
.ch24-v3 h2,
.ch24-v3 h3,
.ch24-v3 h4{
  color:inherit!important;
}
.ch24-v3{color:#f7f7fa!important}
.ch24-v3 p{color:var(--v3-muted,#aeb3bf)}
.ch24-v3 .ch24-btn-secondary,
.ch24-cinematic .ch24-btn-secondary{color:#fff!important}

/* -------- Base controls / legibility -------- */
.ch24-card,
.ch24-onboarding-shell,
.ch24-search-shell,
.ch24-v3,
.ch24-cinematic{
  overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.ch24-card input:not([type=checkbox]):not([type=radio]),
.ch24-card select,
.ch24-card textarea,
.ch24-directory-filter input,
.ch24-directory-filter select,
.ch24-search-form input,
.ch24-search-form select{
  min-height:46px;
  box-sizing:border-box;
  color:#111827!important;
  background:#fff!important;
  border-color:var(--ch24-control-border)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.ch24-card textarea{min-height:112px;resize:vertical}
.ch24-card input::placeholder,
.ch24-card textarea::placeholder,
.ch24-search-form input::placeholder{color:#7b8494;opacity:1}

.ch24-card input:not([type=checkbox]):not([type=radio]):focus,
.ch24-card select:focus,
.ch24-card textarea:focus,
.ch24-directory-filter input:focus,
.ch24-directory-filter select:focus,
.ch24-search-form input:focus,
.ch24-search-form select:focus{
  outline:0!important;
  border-color:var(--ch24-control-focus)!important;
  box-shadow:0 0 0 3px rgba(124,58,237,.14)!important;
}

.ch24-btn,
.ch24-link-button,
.ch24-search-examples button,
.ch24-account-choice,
.ch24-actions a{
  -webkit-tap-highlight-color:transparent;
}
.ch24-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,opacity .16s ease}
.ch24-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(124,58,237,.18);filter:saturate(1.05)}
.ch24-btn:active{transform:translateY(0)}
.ch24-btn[disabled],.ch24-btn.is-loading{opacity:.66;cursor:wait;transform:none!important;box-shadow:none!important}

.ch24-card a:focus-visible,
.ch24-card button:focus-visible,
.ch24-card input:focus-visible,
.ch24-card select:focus-visible,
.ch24-card textarea:focus-visible,
.ch24-onboarding-head a:focus-visible,
.ch24-search-hero button:focus-visible,
.ch24-v3 a:focus-visible,
.ch24-v3 button:focus-visible,
.ch24-v3 input:focus-visible,
.ch24-v3 select:focus-visible,
.ch24-v3 textarea:focus-visible{
  outline:3px solid var(--ch24-focus)!important;
  outline-offset:3px!important;
}

/* -------- Account Setup refinements -------- */
.ch24-onboarding-shell{padding-inline:clamp(0px,1vw,12px)}
.ch24-onboarding-head{box-shadow:0 22px 60px rgba(24,16,46,.14)}
.ch24-onboarding-head h1{max-width:900px;text-wrap:balance}
.ch24-onboarding-head p{font-size:clamp(15px,1.7vw,18px);line-height:1.7}
.ch24-account-choice{min-height:150px;align-content:start;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}
.ch24-account-choice:hover{transform:translateY(-2px);border-color:#b8a5e8;box-shadow:0 10px 24px rgba(70,40,125,.08)}
.ch24-account-choice:focus-within{outline:3px solid var(--ch24-focus);outline-offset:3px}
.ch24-account-choice input[type=radio]{width:18px!important;height:18px;accent-color:#7c3aed}
.ch24-account-choice strong{color:#18181b!important;line-height:1.25}
.ch24-account-choice span{color:#5f6673!important;font-size:13px;line-height:1.55}
.ch24-account-choice.is-selected,
.ch24-account-choice:has(input:checked){border-color:#7c3aed;background:#faf8ff;box-shadow:0 0 0 3px rgba(124,58,237,.11)}
.ch24-onboarding-form .ch24-muted{line-height:1.6;margin-top:14px}
.ch24-notice-error{background:#fff1f2!important;border:1px solid #fecdd3!important;color:#9f1239!important}
.ch24-notice-success{background:#ecfdf5!important;border:1px solid #a7f3d0!important;color:#065f46!important}

/* -------- AI Search refinements -------- */
.ch24-search-hero{border:1px solid rgba(255,255,255,.08)!important;border-radius:28px!important;box-shadow:0 24px 70px rgba(10,8,18,.14)!important}
.ch24-search-hero h1{text-wrap:balance;letter-spacing:-.035em}
.ch24-search-hero p{line-height:1.65}
.ch24-search-examples{align-content:end}
.ch24-search-examples button{min-height:46px;line-height:1.4}
.ch24-search-bar{position:relative;z-index:2}
.ch24-search-input-wrap{background:#fff!important;border-color:var(--ch24-control-border)!important}
.ch24-search-input-wrap>span{color:#6b7280}
.ch24-search-status{font-weight:600;color:#5b6472;line-height:1.45}
.is-searching .ch24-search-results{filter:saturate(.75);transition:opacity .16s ease}
.is-searching .ch24-search-status:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid #c4b5fd;border-top-color:#7c3aed;border-radius:50%;vertical-align:-2px;animation:ch24UxSpin .7s linear infinite}

/* -------- Cards, headings, labels -------- */
.ch24-card h1,.ch24-card h2,.ch24-card h3,.ch24-card h4{line-height:1.15;text-wrap:balance}
.ch24-card p{line-height:1.65}
.ch24-card label{color:#252934}
.ch24-section-title{gap:14px;align-items:center}
.ch24-muted,.ch24-meta{line-height:1.55}

/* Theme-proof readable text on common dark hero/dashboard components. */
.ch24-hero strong,.ch24-hero span:not(.ch24-badge){color:inherit}
.ch24-ai-hero .ch24-ai-meter strong,.ch24-ai-hero .ch24-ai-meter span{color:#fff!important}
.ch24-ai-hero .ch24-ai-meter small{color:#ddd2ff!important}

/* -------- Mobile / tablet polish -------- */
@media(max-width:900px){
  .ch24-onboarding-head{padding:clamp(28px,7vw,46px)}
  .ch24-search-hero{padding:clamp(24px,5vw,34px)}
  .ch24-search-hero h1{font-size:clamp(34px,8vw,58px)}
}
@media(max-width:640px){
  .ch24-onboarding-shell,.ch24-search-shell{padding-left:10px;padding-right:10px}
  .ch24-onboarding-head{border-radius:22px}
  .ch24-onboarding-head h1{font-size:clamp(34px,11vw,50px);line-height:1.02}
  .ch24-onboarding-form{padding:18px}
  .ch24-account-choice{min-height:0;padding:16px}
  .ch24-search-hero{border-radius:22px!important}
  .ch24-search-hero h1{font-size:clamp(32px,11vw,48px)}
  .ch24-search-examples button{width:100%}
  .ch24-btn{width:auto;max-width:100%}
}

@keyframes ch24UxSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .ch24-btn,.ch24-account-choice,.ch24-card input,.ch24-card select,.ch24-card textarea{transition:none!important}
  .ch24-btn:hover,.ch24-account-choice:hover{transform:none!important}
  .is-searching .ch24-search-status:before{animation:none!important;border-color:#7c3aed!important}
}

@media(forced-colors:active){
  .ch24-btn,.ch24-account-choice,.ch24-search-examples button{forced-color-adjust:auto}
  .ch24-card a:focus-visible,.ch24-card button:focus-visible,.ch24-card input:focus-visible,.ch24-card select:focus-visible,.ch24-card textarea:focus-visible{outline:2px solid CanvasText!important}
}
.ch24-account-type-fieldset{border:0!important;padding:0!important;margin:0 0 20px!important;min-width:0}
