/**
 * Design tokens — defaults; overridden by Appearance → Site Style.
 */

:root{
--oc365-color-primary:#111111;
--oc365-color-primary-hover:#333333;
--oc365-color-text:#111111;
--oc365-color-text-muted:#666666;
--oc365-color-bg:#f7f7f7;
--oc365-color-bg-alt:#fafafa;
--oc365-color-card:#ffffff;
--oc365-color-border:#eeeeee;
--oc365-color-link:#111111;
--oc365-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--oc365-font-heading:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--oc365-font-size-base:16px;
--oc365-font-size-page-h1:32px;
--oc365-font-size-card-h3:18px;
--oc365-radius:10px;
--oc365-radius-sm:8px;
--oc365-radius-lg:16px;
--oc365-radius-xl:20px;
--oc365-radius-pill:999px;
--oc365-space-xs:0.5rem;
--oc365-space-sm:0.75rem;
--oc365-space-md:1rem;
--oc365-space-lg:1.5rem;
--oc365-space-xl:2rem;
--oc365-space-2xl:3rem;
--oc365-space-3xl:4rem;
--oc365-space-section:clamp(2rem, 4vw, 2.75rem);
--oc365-grid-gap:1.5rem;
--oc365-stack-gap:0.75rem;
--oc365-container-max:1240px;
--oc365-shadow-xs:0 1px 2px rgba(0,0,0,.04);
--oc365-shadow-sm:0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
--oc365-shadow-md:0 8px 24px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);
--oc365-shadow-lg:0 16px 48px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.05);
--oc365-color-surface:var(--oc365-color-card);
--oc365-color-surface-alt:var(--oc365-color-bg-alt);
--oc365-color-input-border:var(--oc365-color-border);
--oc365-color-code-bg:#f4f4f4;
--oc365-color-mark-bg:#fff3bf;
--oc365-color-blockquote-bg:#f8f8f8;
}

/* Global typography — html/style.css (Inter body, Plus Jakarta Sans headings) */
body,
.site-content{
font-family:var(--oc365-font-body);
font-size:var(--oc365-font-size-base);
color:var(--oc365-color-text);
background:var(--oc365-color-bg);
line-height:1.6;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}

button,
input,
select,
textarea{
font-family:inherit;
font-size:inherit;
}

h1,h2,h3,h4,h5,h6,
.page-header h1,
.hero h1,
.hero-title,
.listing-title,
.form-section__title{
font-family:var(--oc365-font-heading);
color:var(--oc365-color-text);
}

/* Sizes/weights: assets/css/typography-html.css */

a{
color:var(--oc365-color-link);
}

.site-header{
background:var(--oc365-color-card);
border-bottom-color:var(--oc365-color-border);
}

.nav-toggle{
border-color:var(--oc365-color-border);
background:var(--oc365-color-card);
}

.nav-toggle__bar{
background:var(--oc365-color-primary);
}

/* Button contrast tokens (set in theme-settings inline CSS) */
:root,
[data-oc365-theme="light"]{
--oc365-btn-fg:#ffffff;
--oc365-btn-secondary-bg:#ffffff;
--oc365-btn-secondary-fg:#111111;
--oc365-btn-secondary-border:#eeeeee;
}

[data-oc365-theme="dark"]{
--oc365-btn-fg:#111111;
--oc365-btn-secondary-bg:#18181b;
--oc365-btn-secondary-fg:#f4f4f5;
--oc365-btn-secondary-border:#27272a;
--oc365-color-code-bg:#27272a;
--oc365-color-blockquote-bg:#18181b;
--oc365-color-mark-bg:#3f3f00;
}

.page-standard{
background:var(--oc365-color-bg-alt);
}

.page-article .entry-content,
.legal-content .entry-content,
.submit-listing-form,
.contact-form,
.listing-card,
.listing-details,
.filters--sticky.is-stuck{
background:var(--oc365-color-card);
border-color:var(--oc365-color-border);
}

.page-intro,
.field-hint,
.word-count,
.search-subtitle,
.contact-email-note{
color:var(--oc365-color-text-muted);
}

.oc365-prose a,
.page-article .entry-content a{
color:var(--oc365-color-link);
}

.submit-listing-form input,
.submit-listing-form textarea,
.submit-listing-form select,
.submit-listing-form .form-control,
.contact-form input,
.contact-form textarea,
.filter-bar input,
.filter-bar select{
border-radius:var(--oc365-radius);
border-color:var(--oc365-color-border);
}

.submit-listing-form input:focus,
.submit-listing-form textarea:focus,
.submit-listing-form select:focus,
.submit-listing-form .form-control:focus{
border-color:var(--oc365-color-primary);
}

.checkbox-label:has(input:checked){
border-color:var(--oc365-color-primary);
box-shadow:0 0 0 1px var(--oc365-color-primary);
}

.checkbox-label input{
accent-color:var(--oc365-color-primary);
}

.loading-spinner{
border-top-color:var(--oc365-color-primary);
}

/* Dark mode polish */
[data-oc365-theme="dark"] .submit-listing-form input,
[data-oc365-theme="dark"] .submit-listing-form textarea,
[data-oc365-theme="dark"] .submit-listing-form select,
[data-oc365-theme="dark"] .submit-listing-form .form-control,
[data-oc365-theme="dark"] .contact-form input,
[data-oc365-theme="dark"] .contact-form textarea,
[data-oc365-theme="dark"] .filter-bar input,
[data-oc365-theme="dark"] .filter-bar select{
background:#0f0f12;
color:var(--oc365-color-text);
}

[data-oc365-theme="dark"] .checkbox-group,
[data-oc365-theme="dark"] .file-upload{
background:#0f0f12;
}

[data-oc365-theme="dark"] .checkbox-label{
background:var(--oc365-color-card);
}

[data-oc365-theme="dark"] .oc365-prose pre{
background:#0a0a0c;
}

[data-oc365-theme="dark"] .site-footer{
background:#0a0a0c;
border-top-color:rgba(255,255,255,.06);
}

[data-oc365-theme="dark"] .site-header .header-nav-wrap{
background:var(--oc365-color-card);
border-bottom-color:var(--oc365-color-border);
}
