/* Public-site primitives override legacy page styles without changing layout or state. */
:root {
  --wop-font-body: 'Josefin Sans', sans-serif;
  --wop-font-heading: 'Cormorant Garamond', serif;
  --wop-ink: #171717;
  --wop-muted: #565b58;
  --wop-surface: #f4f5f3;
  --wop-border: #cdd2ce;
  --wop-action: #b84400;
  --wop-action-hover: #963800;
  --wop-radius: 4px;
}
body:not(.page-admin) main { font-family: var(--wop-font-body); }
body:not(.page-admin) main :is(h1,h2,h3) {
  font-family: var(--wop-font-heading) !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}
body:not(.page-admin) main h1 { font-size: 64px !important; line-height: 1.05 !important; }
body:not(.page-admin) main h2 { font-size: 38px !important; line-height: 1.15 !important; }
body:not(.page-admin) main h3 { font-size: 26px !important; line-height: 1.2 !important; }
body:not(.page-admin) main :is(p,li) { letter-spacing: 0 !important; }
body:not(.page-admin) main p { font-size: 15px !important; line-height: 1.75 !important; }
body:not(.page-admin) :is(button,input,select,textarea) { font-family: var(--wop-font-body); }
body:not(.page-admin) main :is(.btn-primary,.btn-ghost,.ro-btn,.go-btn,.rd-btn,.rg-shop-btn,.rg-hero-cta,.finder-btn,.article-review-link,.rc-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px !important;
  padding: 12px 18px;
  border-radius: var(--wop-radius) !important;
  font-family: var(--wop-font-body) !important;
  font-size: 13px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center;
  white-space: normal;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body:not(.page-admin) main :is(.btn-primary,.ro-btn--primary,.go-btn--primary,.rd-btn--primary,.finder-btn,.rg-hero-cta,.rc-button) {
  background: var(--wop-action) !important;
  color: #fff !important;
  border-color: var(--wop-action) !important;
}
body:not(.page-admin) main :is(.btn-primary,.ro-btn--primary,.go-btn--primary,.rd-btn--primary,.finder-btn,.rg-hero-cta,.rc-button):hover {
  background: var(--wop-action-hover) !important;
}
body:not(.page-admin) main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=submit]),select,textarea) {
  min-height: 44px;
  max-width: 100%;
  background: #fff !important;
  color: var(--wop-ink) !important;
  border: 1px solid #8c9690 !important;
  border-radius: var(--wop-radius) !important;
  font-size: 16px !important;
  line-height: 1.5;
  padding: 10px 12px;
  box-shadow: none !important;
}
body:not(.page-admin) main ::placeholder { color: #636c66 !important; opacity: 1; }
body:not(.page-admin) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #2d7656 !important;
  outline-offset: 3px;
}
body:not(.page-admin) main :is(button,a)[disabled],body:not(.page-admin) main button:disabled { opacity: .5; cursor: not-allowed; }
body:not(.page-admin) :is(.ro-page,.go-page,.rd-page,.article-page) {
  --v3-paper: var(--wop-surface);
  --v3-ink: var(--wop-ink);
  --v3-line: var(--wop-border);
}
body:not(.page-admin) main :is(.ro-collection,.go-section,.article-body-section,.rd-alternatives) { background: var(--wop-surface) !important; }
body:not(.page-admin) main :is(.ro-card,.go-card,.rd-specs) { border-color: var(--wop-border); }
body:not(.page-admin) main :is(.ro-card,.go-card,.article-pick) h3 { font-size: 26px !important; }
body:not(.page-admin) main :is(.claim-card,.rg-quiz-card,.ro-filter-panel) h2 { font-size: 28px !important; }
body:not(.page-admin) .go-page { --go-paper: var(--wop-surface); --go-paper-2: var(--wop-surface); --go-orange: var(--wop-action); }
body:not(.page-admin) main :is(.article-body-section,.rd-specs,.rd-summary) { background: var(--wop-surface) !important; }
body:not(.page-admin) main .rd-court-grid h3 { font-size: 22px !important; }
body:not(.page-admin) main dialog h2 { font-size: 32px !important; }
@media (max-width: 700px) {
  body:not(.page-admin) main h1 { font-size: 42px !important; }
  body:not(.page-admin) main h2 { font-size: 30px !important; }
  body:not(.page-admin) main h3 { font-size: 24px !important; }
  body:not(.page-admin) main :is(.ro-card,.go-card,.article-pick) h3 { font-size: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body:not(.page-admin) :is(a,button,input,select,textarea) { transition: none !important; }
}
