/* lp-common.css - Shared Styles for Static Landing Pages (/s/common/lp-common.css) */
body {
    background-color: var(--theme-bg) !important;
    color: var(--theme-text) !important;
    font-family: var(--body-font);
}
h1, h2, h3, .philosophical-font {
    font-family: var(--heading-font);
}
body.card-style-minimal .theme-card-hero,
body.card-style-minimal .theme-card {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--theme-border);
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.card-style-solid .theme-card-hero {
    background-color: color-mix(in srgb, var(--theme-bg) 82%, var(--theme-text) 18%);
    border: 1px solid var(--theme-border);
}
body.card-style-solid .theme-card {
    background-color: color-mix(in srgb, var(--theme-bg) 86%, var(--theme-text) 14%);
    border: 1px solid var(--theme-border);
}
body.card-style-glass .theme-card-hero {
    background-color: var(--theme-card-hero);
    border: 1px solid var(--theme-border);
}
body.card-style-glass .theme-card {
    background-color: var(--theme-card);
    border: 1px solid var(--theme-border);
}
body.glow-on .hero-glow {
    box-shadow: 0 20px 55px -15px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}
.theme-pill {
    background-color: var(--theme-pill);
    border: 1px solid var(--theme-border);
    color: var(--theme-text);
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.theme-pill:hover {
    border-color: var(--theme-accent);
}
.btn-accent {
    background-color: var(--theme-accent);
    color: #ffffff;
    transition: opacity 0.3s ease, transform 0.2s ease;
}
.btn-accent:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}
.btn-outline-accent {
    border: 2px solid var(--theme-accent);
    color: var(--theme-text);
    transition: background-color 0.3s ease, transform 0.2s ease;
}
.btn-outline-accent:hover {
    background-color: var(--theme-pill);
    transform: translateY(-2px);
}
.accent-border-top {
    border-top: 3px solid var(--theme-accent);
}
.accent-text {
    color: var(--theme-accent);
}
.content-body p { margin-bottom: 1rem; line-height: 1.75; }
.content-body h2 { font-size: 1.5rem; margin-top: 1.5rem; margin-bottom: 0.75rem; color: var(--theme-accent); font-weight: 700; }
.content-body h3 { font-size: 1.25rem; margin-top: 1.25rem; margin-bottom: 0.5rem; font-weight: 600; }
.content-body ul { list-style-type: disc; padding-left: 1.5rem; margin-bottom: 1rem; }
.content-body ol { list-style-type: decimal; padding-left: 1.5rem; margin-bottom: 1rem; }
.content-body li { margin-bottom: 0.35rem; line-height: 1.6; }
.content-body a { color: var(--theme-accent); text-decoration: underline; }
.content-body blockquote { border-left: 4px solid var(--theme-accent); padding-left: 1rem; font-style: italic; opacity: 0.9; margin: 1.25rem 0; }
.content-body iframe { width: 100%; aspect-ratio: 16 / 9; border-radius: 0.75rem; margin: 1.25rem 0; }
.toc-link { color: var(--theme-text); opacity: 0.75; }
.toc-link:hover { opacity: 1; }
.toc-link.active {
    color: var(--theme-accent);
    opacity: 1;
    border-left-color: var(--theme-accent);
    background-color: var(--theme-pill);
    font-weight: 600;
}