/**
 * AllRounderHub Directory & Monetization Suite
 * Unified Directory Design System — v4.1.0
 *
 * Presentation only. No business logic or schema ownership.
 */

/* Shared tokens */
:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page){
  --arh-dms-ink:#0e1b35;
  --arh-dms-muted:#5d687b;
  --arh-dms-blue:#0877df;
  --arh-dms-border:#dfe6ef;
  --arh-dms-soft:#f4f8ff;
  --arh-dms-radius:22px;
  --arh-dms-radius-sm:14px;
  --arh-dms-shadow:0 8px 28px rgba(16,29,53,.06);
  --arh-dms-shadow-hover:0 14px 34px rgba(16,29,53,.11);
  color:var(--arh-dms-ink);
  font-family:inherit;
  font-size:16px;
  line-height:1.7;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) *{
  box-sizing:border-box;
}

/* Consistent readable typography */
:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page)
:is(p,li,dd,dt,label,input,select,textarea,button){
  font-family:inherit;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) p{
  font-size:1rem;
  line-height:1.72;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page)
:is(h1,.arh-directory-page-title,.arh-ai-directory-title){
  font-size:clamp(2.35rem,5vw,4.5rem);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:800;
  text-wrap:balance;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) h2{
  font-size:clamp(1.8rem,3.2vw,3rem);
  line-height:1.16;
  letter-spacing:-.018em;
  font-weight:800;
  text-wrap:balance;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) h3{
  font-size:clamp(1.25rem,2vw,1.7rem);
  line-height:1.25;
  font-weight:750;
  text-wrap:balance;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page)
:is(.arh-kicker,.arh-ai-kicker,.arh-cat){
  font-size:.78rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Hero consistency */
:where(.arh-ai-hero,.arh-cmp-hero,.arh-cp-hero,.arh-dl-hero,.arh-rv-hero,.arh-fts-hero,.arh-tool-hero){
  border-radius:28px;
}

:where(.arh-ai-hero,.arh-cmp-hero,.arh-cp-hero,.arh-dl-hero,.arh-rv-hero,.arh-fts-hero,.arh-tool-hero) p{
  max-width:60ch;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(1.05rem,1.6vw,1.25rem);
  line-height:1.65;
}

/* Directory section intro consistency */
:where(.arh-head,.arh-ai-heading) p{
  font-size:1.05rem;
  line-height:1.7;
  color:var(--arh-dms-muted);
  max-width:70ch;
}

/* Cards use the same typographic rhythm everywhere */
:where(.arh-card,.arh-ai-card,.arh-tool-card,.arh-related-tool){
  border-color:var(--arh-dms-border);
  border-radius:var(--arh-dms-radius);
  box-shadow:var(--arh-dms-shadow);
}

:where(.arh-card,.arh-ai-card,.arh-tool-card,.arh-related-tool) h3{
  margin-top:.7rem;
  margin-bottom:.55rem;
}

:where(.arh-card,.arh-ai-card,.arh-tool-card,.arh-related-tool) p{
  color:var(--arh-dms-muted);
  font-size:.98rem;
  line-height:1.65;
}

/* Shared search controls */
:where(.arh-search,.arh-ai-search,.arh-tool-search){
  font-size:1rem;
}

:where(.arh-search,.arh-ai-search,.arh-tool-search)
:is(input[type="search"],input[type="text"],select){
  min-height:54px;
  border-radius:14px;
  font-size:1rem;
}

:where(.arh-search,.arh-ai-search,.arh-tool-search) button,
:where(.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-ai-page,.arh-ai-single,.arh-fts,.arh-tool-page)
:is(.arh-link,.arh-tool-open,.arh-tool-download){
  font-size:.98rem;
  font-weight:750;
}

/* Filters/chips */
:where(.arh-filter,.arh-ai-filters a,.arh-ai-filters button){
  font-size:.92rem;
  line-height:1.2;
  font-weight:700;
}

/* Disclosure / trust / notes */
:where(.arh-disclosure,.arh-ai-note,.arh-tool-trust,.arh-tool-note,.arh-directory-trust){
  font-size:.95rem;
  line-height:1.7;
}

/* Long-form single tool / AI tool content */
:where(.arh-ai-single,.arh-tool-page) :is(.entry-content,.arh-tool-content,.arh-ai-content) > p,
:where(.arh-ai-single,.arh-tool-page) :is(.entry-content,.arh-tool-content,.arh-ai-content) > ul,
:where(.arh-ai-single,.arh-tool-page) :is(.entry-content,.arh-tool-content,.arh-ai-content) > ol{
  max-width:75ch;
}

/* Tables and tool outputs remain readable on phones */
:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) table{
  font-size:.94rem;
  line-height:1.5;
}

:where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page)
:is(button,a,input,select,textarea):focus-visible{
  outline:3px solid var(--arh-dms-blue);
  outline-offset:3px;
}

/* Keep visual hierarchy stable across modules on mobile */
@media (max-width:782px){
  :where(.arh-ai-hero,.arh-cmp-hero,.arh-cp-hero,.arh-dl-hero,.arh-rv-hero,.arh-fts-hero,.arh-tool-hero){
    border-radius:20px;
  }

  :where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page)
  :is(h1,.arh-directory-page-title,.arh-ai-directory-title){
    font-size:clamp(2.05rem,10vw,3rem);
  }

  :where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) h2{
    font-size:clamp(1.6rem,7vw,2.25rem);
  }

  :where(.arh-ai-page,.arh-ai-single,.arh-cmp,.arh-cp,.arh-dl,.arh-rv,.arh-fts,.arh-tool-page) p{
    font-size:1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  :where(.arh-card,.arh-ai-card,.arh-tool-card,.arh-related-tool){
    transition:none!important;
  }
}
