/* Clubium Public UI Foundation 0.11.221
 * Scope: public content pages only; injected by class-cars-assets.php for approved routes.
 * Never target the shared header, footer, homepage, authentication or dashboard UI.
 * Source-of-truth typefaces and colors remain in tokens.css and typography.css.
 */
body.weblatis-public-ui main#main-content {
  --cf-font: var(--wl-font-sans);
  --cf-ink: var(--wl-text);
  --cf-muted: var(--wl-muted);
  --cf-brand: var(--wl-primary);
  --cf-accent: var(--wl-accent);
  --cf-card: var(--wl-surface);
  --cf-border: var(--wl-border);
  --cf-radius-sm: 12px;
  --cf-radius-control: 14px;
  --cf-radius-card: 22px;
  --cf-space-1: 4px;
  --cf-space-2: 8px;
  --cf-space-3: 12px;
  --cf-space-4: 16px;
  --cf-space-6: 24px;
  --cf-space-8: 32px;
  --cf-space-12: 48px;
  --cf-ring: 0 0 0 3px rgba(217,119,6,.22);
  font-family: var(--cf-font);
  font-kerning: normal;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.weblatis-public-ui main#main-content :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--cf-font);
  font-optical-sizing: auto;
  text-wrap: balance;
}
body.weblatis-public-ui main#main-content :is(p,li,dt,dd) {
  font-family: var(--cf-font);
}
/* Stronger form consistency without changing input names, JS hooks or map widgets. */
body.weblatis-public-ui main#main-content :is(button,input,select,textarea,.button) {
  font-family: var(--cf-font);
  font-optical-sizing: auto;
}
body.weblatis-public-ui main#main-content :is(button,.button,a,[role="button"]) {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
body.weblatis-public-ui main#main-content :is(button,input,select,textarea,a,[tabindex]):focus-visible {
  outline: 2px solid var(--cf-accent);
  outline-offset: 3px;
}
body.weblatis-public-ui main#main-content :is(.button,.sr1-card__view,.dr2-card__view,.category-search__button) {
  font-weight: 700;
}
/* Canonical listing-card shape across discovery/search, without touching content or routing. */
body.weblatis-public-ui--discover main#main-content .dr2-card,
body.weblatis-public-ui--search main#main-content .sr1-card {
  border-radius: var(--cf-radius-card);
  border-color: var(--cf-border);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.weblatis-public-ui--discover main#main-content .dr2-card:hover,
  body.weblatis-public-ui--search main#main-content .sr1-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(26,13,54,.11);
  }
}
body.weblatis-public-ui--discover main#main-content :is(.dr2-card__name,.dr220-hero__title),
body.weblatis-public-ui--search main#main-content :is(.sr1-card__name,.sr1-head__title) {
  font-family: var(--cf-font);
  font-optical-sizing: auto;
}
/* Readable search and filter controls, with minimum touch targets on smaller devices. */
body.weblatis-public-ui--discover main#main-content :is(.dr220-search__field input,.dr220-search__field select),
body.weblatis-public-ui--search main#main-content :is(.sr1-field input,.sr1-field select) {
  font-family: var(--cf-font);
}
/* Shared foundations for secondary public-facing pages. */
body.weblatis-public-ui--categories main#main-content :is(.category-index-card,.category-index-feature),
body.weblatis-public-ui--category main#main-content :is(.category-visual-card,.category-floating-card),
body.weblatis-public-ui--city main#main-content :is(.category-visual-card,.category-floating-card) {
  border-radius: var(--cf-radius-card);
}
body.weblatis-public-ui--pricing main#main-content :is(.pricing-hero h1,.pricing-section h2),
body.weblatis-public-ui--categories main#main-content :is(.category-index-hero h1,.category-index-section h2),
body.weblatis-public-ui--category main#main-content :is(.category-hero h1,.section-heading h2),
body.weblatis-public-ui--city main#main-content :is(.city-hero h1,.section-heading h2) {
  font-family: var(--cf-font);
  text-wrap: balance;
}
/* An opt-in component vocabulary for future page redesign patches. */
body.weblatis-public-ui main#main-content .cf-surface {
  background: var(--cf-card);
  color: var(--cf-ink);
  border: 1px solid var(--cf-border);
  border-radius: var(--cf-radius-card);
}
body.weblatis-public-ui main#main-content .cf-stack { display: grid; gap: var(--cf-space-6); }
body.weblatis-public-ui main#main-content .cf-eyebrow {
  color: var(--cf-brand);
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .045em;
}
body.weblatis-public-ui main#main-content .cf-muted { color: var(--cf-muted); }
body.weblatis-public-ui main#main-content .cf-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--cf-space-2);
  min-height: 36px;
  max-width: 100%;
  padding: 7px 12px;
  background: var(--cf-card);
  border: 1px solid var(--cf-border);
  border-radius: 999px;
  font-size: .8125rem;
  font-weight: 650;
}
body.weblatis-public-ui main#main-content .cf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cf-space-2);
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid var(--cf-brand);
  border-radius: var(--cf-radius-control);
  background: var(--cf-brand);
  color: #fff;
  font: 700 .875rem/1.35 var(--cf-font);
  text-decoration: none;
  cursor: pointer;
}
body.weblatis-public-ui main#main-content .cf-button--secondary {
  background: var(--cf-card);
  color: var(--cf-brand);
}
html[dir="rtl"] body.weblatis-public-ui main#main-content :is(h1,h2,h3,h4,h5,h6,.cf-eyebrow) {
  letter-spacing: normal;
}
@media (max-width:640px) {
  body.weblatis-public-ui main#main-content .cf-stack { gap: var(--cf-space-4); }
  body.weblatis-public-ui main#main-content .cf-button { min-height: 44px; }
  body.weblatis-public-ui main#main-content :is(.dr220-search__field input,.dr220-search__field select,.sr1-field input,.sr1-field select) {
    font-size: 16px;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.weblatis-public-ui main#main-content :is(.dr2-card,.sr1-card) { transition: none; }
}
