/* Lucis Default theme – all design tokens are CSS variables set by the Customizer. */
:root {
    --lc-primary: #2563eb; --lc-primary-contrast: #fff; --lc-accent: #f59e0b;
    --lc-text: #1f2937; --lc-heading: #111827; --lc-link: #2563eb;
    --lc-bg: #fff; --lc-surface: #f3f4f6; --lc-border: #e5e7eb;
    --lc-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --lc-font-heading: var(--lc-font-body);
    --lc-font-size: 17px; --lc-heading-weight: 700; --lc-line-height: 1.65;
    --lc-container: 1140px; --lc-section-pad: 70px; --lc-radius: 8px; --lc-gutter: 20px;
    --lc-header-bg: #fff; --lc-header-text: #111827;
    --lc-footer-bg: #111827; --lc-footer-text: #d1d5db;
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: var(--lc-font-size); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--lc-bg); color: var(--lc-text); font-family: var(--lc-font-body); line-height: var(--lc-line-height); }
img { max-width: 100%; height: auto; }
a { color: var(--lc-link); }
h1, h2, h3, h4, h5, h6 { font-family: var(--lc-font-heading); font-weight: var(--lc-heading-weight); color: var(--lc-heading); line-height: 1.2; margin: 1.4em 0 .5em; }
h1 { font-size: 2.4rem; } h2 { font-size: 1.9rem; } h3 { font-size: 1.45rem; } h4 { font-size: 1.2rem; }
p, ul, ol, blockquote, figure, table { margin: 0 0 1.2em; }
blockquote { border-left: 4px solid var(--lc-primary); padding: .2em 1.2em; margin-left: 0; background: var(--lc-surface); border-radius: 0 var(--lc-radius) var(--lc-radius) 0; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--lc-border); padding: .5em .75em; text-align: left; }
code, pre { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .92em; }
pre { background: var(--lc-surface); padding: 1em; overflow: auto; border-radius: var(--lc-radius); }
:focus-visible { outline: 3px solid var(--lc-accent); outline-offset: 2px; }

.container { max-width: var(--lc-container); margin: 0 auto; padding: 0 var(--lc-gutter); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: -999px; top: 0; background: var(--lc-primary); color: var(--lc-primary-contrast); padding: .6em 1em; z-index: 100; }
.skip-link:focus { left: 0; }

/* Content */
.site-main { min-height: 50vh; }
.entry { padding-top: 2.5rem; padding-bottom: 3rem; max-width: 820px; }
.entry-title { margin-top: 0; }
.entry-meta { color: var(--lc-text); opacity: .65; font-size: .9rem; }
.entry-image { width: 100%; border-radius: var(--lc-radius); margin-bottom: 1.5rem; }
.entry-content > :first-child { margin-top: 0; }
.archive { padding-top: 2.5rem; padding-bottom: 3rem; }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; }
.post-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--lc-radius); display: block; }
.post-card h2 { font-size: 1.3rem; margin: .7em 0 .2em; }
.post-card h2 a { color: var(--lc-heading); text-decoration: none; }
.read-more { font-weight: 600; text-decoration: none; }
.pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2.5rem; }
.pagination a, .pagination span { padding: .4em .85em; border: 1px solid var(--lc-border); border-radius: var(--lc-radius); text-decoration: none; }
.pagination .current { background: var(--lc-primary); border-color: var(--lc-primary); color: var(--lc-primary-contrast); }
.search-form { display: flex; gap: .6rem; margin: 1rem 0 2rem; max-width: 520px; }
.search-form input { flex: 1; padding: .6em .9em; border: 1px solid var(--lc-border); border-radius: var(--lc-radius); font: inherit; }
.search-results { padding-left: 1.2rem; }

.landing .site-main { min-height: 100vh; }

/* Builder tweaks for this theme */
.builder-content .lc-section:nth-child(even):not([style*="background"]) { background: transparent; }
.lc-section .lc-heading + .lc-widget, .lc-section .lc-widget + .lc-widget { margin-top: 1rem; }
