/* Shared LocallSearch design system. Namespaced tokens do not alter theme typography. */
@font-face {
  font-family: Inter;
  src: url('../fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --ls-font-primary: Inter, Arial, Helvetica, sans-serif;
  --ls-brand: #5B5CF0;
  --ls-brand-dark: #4445D7;
  --ls-secondary: #13B8A6;
  --ls-heading: #101828;
  --ls-subheading: #182230;
  --ls-body: #667085;
  --ls-muted-text: #98A2B3;
  --ls-line: #E8EAF0;
  --ls-surface: #F8FAFC;
  --ls-card: #FFFFFF;
  --ls-success: #12B76A;
  --ls-rating: #F79009;
  --ls-danger: #F04438;
  --ls-danger-dark: #B42318;
  --ls-brand-soft: #F0F0FE;
  --ls-secondary-soft: #E7F8F6;
  --ls-shadow-color: rgba(16, 24, 40, .08);
  --ls-primary: var(--ls-brand);
  --ls-accent: var(--ls-secondary);
  --ls-text: var(--ls-body);
  --ls-muted: var(--ls-body);
  --ls-border: var(--ls-line);
  --ls-bg: var(--ls-card);
  --ls-secondary-bg: var(--ls-surface);
  --ls-radius: 14px;
  --ls-shadow: 0 8px 24px var(--ls-shadow-color);
  --ls-fs-display-xl: 72px;
  --ls-fs-display-lg: 60px;
  --ls-fs-h1: 52px;
  --ls-fs-h2: 44px;
  --ls-fs-h3: 34px;
  --ls-fs-h4: 26px;
  --ls-fs-h5: 20px;
  --ls-fs-h6: 18px;
  --ls-fs-body-lg: 18px;
  --ls-fs-body: 16px;
  --ls-fs-body-sm: 14px;
  --ls-fs-button: 15px;
  --ls-fs-label: 12px;
  --ls-fs-caption: 11px;
  --ls-lh-heading: 1.1;
  --ls-lh-subheading: 1.25;
  --ls-lh-body: 1.7;
  --ls-lh-small: 1.5;
}
@media (max-width:1024px) {
  :root { --ls-fs-display-xl:60px; --ls-fs-display-lg:52px; --ls-fs-h1:46px; --ls-fs-h2:40px; --ls-fs-h3:32px; --ls-fs-h4:24px; --ls-fs-h5:20px; --ls-fs-h6:18px; --ls-fs-body-lg:17px; --ls-fs-body:16px; --ls-fs-body-sm:14px; --ls-fs-button:15px; --ls-fs-label:12px; --ls-fs-caption:11px; }
}
@media (max-width:767px) {
  :root { --ls-fs-display-xl:46px; --ls-fs-display-lg:42px; --ls-fs-h1:38px; --ls-fs-h2:34px; --ls-fs-h3:28px; --ls-fs-h4:22px; --ls-fs-h5:18px; --ls-fs-h6:16px; --ls-fs-body-lg:16px; --ls-fs-body:15px; --ls-fs-body-sm:13px; --ls-fs-button:14px; --ls-fs-label:11px; --ls-fs-caption:10px; }
}
@media (max-width:480px) {
  :root { --ls-fs-display-xl:40px; --ls-fs-display-lg:36px; --ls-fs-h1:34px; --ls-fs-h2:30px; --ls-fs-h3:26px; --ls-fs-h4:21px; --ls-fs-h5:18px; --ls-fs-h6:16px; --ls-fs-body-lg:15px; --ls-fs-body:14px; --ls-fs-body-sm:12px; --ls-fs-button:14px; --ls-fs-label:10px; --ls-fs-caption:10px; }
}
:where(.ls-page-shell,.ls-business-page,.ls-directory-page,.ls-featured,.ls-not-found,.ls-search-form,.ls-business-submit,.ls-dashboard,.ls-admin-page,.ls-editor,#ls_business_attributes) {
  font-family:var(--ls-font-primary); font-size:var(--ls-fs-body); line-height:var(--ls-lh-body); color:var(--ls-body);
}
:where(.ls-page-shell,.ls-search-form,.ls-business-submit,.ls-dashboard,.ls-admin-page,.ls-editor) :is(input,select,textarea,button) { font-family:var(--ls-font-primary); }
:where(.ls-page-shell,.ls-dashboard,.ls-admin-page) h1 { font-family:var(--ls-font-primary); font-size:var(--ls-fs-h1); line-height:var(--ls-lh-heading); color:var(--ls-heading); }
:where(.ls-page-shell,.ls-dashboard,.ls-admin-page) h2 { font-family:var(--ls-font-primary); font-size:var(--ls-fs-h4); line-height:var(--ls-lh-subheading); color:var(--ls-subheading); }
:where(.ls-page-shell,.ls-dashboard,.ls-admin-page) h3 { font-family:var(--ls-font-primary); font-size:var(--ls-fs-h5); line-height:var(--ls-lh-subheading); color:var(--ls-subheading); }
:where(.ls-business-submit,.ls-search-form) label { font-size:var(--ls-fs-label); color:var(--ls-subheading); }
:where(.ls-business-submit,.ls-search-form) :is(input,select,textarea) { font-size:var(--ls-fs-body); color:var(--ls-subheading); }
:where(.ls-business-submit,.ls-search-form,.ls-editor,.ls-admin-page) :is(input[type=checkbox],input[type=radio]) { accent-color:var(--ls-brand); }
