/* ==========================================================================
   ComptaAir UI v4 "Clarté" — content workstream (prefix lc-)
   Blog, CMS pages (about / contact / legal), page-builder addons, errors.
   Depends on tokens.css + core.css.
   ========================================================================== */

/* ---------- Shared ---------- */
.lc-blog { overflow-x: clip; }
.lc-frame { border-radius: var(--ui-r-xl); overflow: hidden; background: var(--ui-bg-soft); border: 1px solid var(--ui-border); }
.lc-frame > img, .lc-frame .ui-img, .lc-frame .ui-ph { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 0; border: 0; }
.lc-checks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.lc-checks li { display: flex; align-items: flex-start; gap: 10px; color: var(--ui-text-2); font-size: 1rem; line-height: 1.5; }
.lc-checks i { flex: none; margin-top: 2px; font-size: 20px; color: var(--ui-primary); }
.lc-pb > section, .lc-pb > div { position: relative; }

/* ---------- Long-form typography ---------- */
.lc-prose { max-width: 68ch; font-size: 1.0625rem; line-height: 1.75; color: var(--ui-text-2); overflow-wrap: break-word; }
.lc-prose--flush { max-width: none; font-size: 1rem; }
.lc-prose > :first-child { margin-top: 0; }
.lc-prose > :last-child { margin-bottom: 0; }
.lc-prose p { margin: 0 0 1.15em; }
.lc-prose h1, .lc-prose h2, .lc-prose h3, .lc-prose h4, .lc-prose h5, .lc-prose h6 { color: var(--ui-text); font-weight: 600; line-height: 1.25; margin: 2em 0 .6em; scroll-margin-top: calc(var(--ui-header-h) + 24px); }
.lc-prose h1 { font-size: var(--ui-fs-3xl); }
.lc-prose h2 { font-size: var(--ui-fs-2xl); }
.lc-prose h3 { font-size: var(--ui-fs-xl); }
.lc-prose h4, .lc-prose h5, .lc-prose h6 { font-size: 1.0625rem; }
.lc-prose ul, .lc-prose ol { margin: 0 0 1.25em; padding-inline-start: 1.5em; }
.lc-prose li { margin-bottom: .4em; }
.lc-prose li::marker { color: var(--ui-primary); }
.lc-prose a { color: var(--ui-link); text-decoration: underline; text-underline-offset: 3px; }
.lc-prose a:hover { color: var(--ui-primary-hover); }
.lc-prose strong { color: var(--ui-text); font-weight: 600; }
.lc-prose img { max-width: 100%; height: auto; border-radius: var(--ui-r-lg); }
.lc-prose blockquote { margin: 1.6em 0; padding: 14px 20px; border-inline-start: 3px solid var(--ui-primary); background: var(--ui-primary-50); border-radius: var(--ui-r-sm); color: var(--ui-text); }
.lc-prose blockquote p:last-child { margin-bottom: 0; }
.lc-prose hr { border: 0; border-top: 1px solid var(--ui-border); margin: 2em 0; }
.lc-prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.lc-prose th, .lc-prose td { padding: 10px 12px; border: 1px solid var(--ui-border); text-align: start; }
.lc-prose th { background: var(--ui-bg-soft); color: var(--ui-text); font-weight: 600; }
@media (max-width: 767.98px) { .lc-prose table { display: block; overflow-x: auto; } }

/* ---------- Legal / CMS page ---------- */
.lc-legal__layout.has-toc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.lc-legal__layout:not(.has-toc) .lc-legal__body .lc-prose { margin-inline: auto; }
.lc-legal__layout.has-toc .lc-toc { order: -1; }
.lc-toc { position: sticky; top: calc(var(--ui-header-h) + 24px); max-height: calc(100vh - var(--ui-header-h) - 48px); overflow: auto; padding: 16px; background: var(--ui-bg-soft); border: 1px solid var(--ui-border); border-radius: var(--ui-r-lg); }
.lc-toc[hidden] { display: none; }
.lc-toc__title { margin: 0 0 8px; font-size: var(--ui-fs-sm); font-weight: 600; color: var(--ui-text); }
.lc-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.lc-toc__list li { margin: 0; }
.lc-toc__list li::before { content: none !important; display: none !important; }
.lc-toc__list a { display: block; padding: 6px 10px; border-radius: var(--ui-r-sm); color: var(--ui-text-2); font-size: var(--ui-fs-sm); line-height: 1.4; text-decoration: none; border-inline-start: 2px solid transparent; transition: background-color var(--ui-dur-1) var(--ui-ease), color var(--ui-dur-1) var(--ui-ease); }
.lc-toc__list a:hover { background: #fff; color: var(--ui-primary); }
.lc-toc__list a.is-active { background: var(--ui-primary-soft); color: var(--ui-primary); border-inline-start-color: var(--ui-primary); font-weight: 500; }
.lc-toc__list .is-sub a { padding-inline-start: 22px; font-size: var(--ui-fs-xs); }
.lc-toc__n { display: none; }
@media (max-width: 991.98px) { .lc-legal__layout.has-toc, .lc-art__layout.has-toc { grid-template-columns: minmax(0, 1fr); } .lc-toc { position: static; max-height: none; } }

/* ---------- About ---------- */
.lc-about__grid, .lc-mission__grid, .lc-why__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.lc-mission__grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.lc-about__copy > .ui-h2, .lc-mission__copy > .ui-h2, .lc-why__copy > .ui-h2 { margin: 0 0 16px; }
.lc-about__media, .lc-mission__media, .lc-why__media { margin: 0; }
.lc-why__copy .ui-lead { margin: 0; }
.lc-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; }
.lc-credit { padding-block: clamp(32px, 4vw, 56px); }
.lc-credit .lc-figures { margin: 0; }
.lc-figure { padding: 20px; background: var(--ui-bg-soft); border: 1px solid var(--ui-border); border-radius: var(--ui-r-lg); }
.lc-figure__value { margin: 0; font-size: var(--ui-fs-3xl); font-weight: 600; color: var(--ui-primary); line-height: 1.1; }
.lc-figure__label { margin: 6px 0 0; color: var(--ui-text-2); font-size: var(--ui-fs-sm); }

.lc-achieve__grid, .lc-work__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.lc-achieve__item, .lc-work__item { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px; }
.lc-achieve__icon, .lc-work__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--ui-r-md); background: var(--ui-primary-50); overflow: hidden; }
.lc-achieve__icon img, .lc-work__icon img, .lc-achieve__icon .ui-img, .lc-work__icon .ui-img { width: 36px; height: 36px; object-fit: contain; }
.lc-achieve__label, .lc-work__name { margin: 0; font-size: var(--ui-fs-lg); font-weight: 600; line-height: 1.35; color: var(--ui-text); }

.lc-team__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.lc-member { overflow: hidden; padding: 0; }
.lc-member__photo { background: var(--ui-bg-soft); }
.lc-member__photo img, .lc-member__photo .ui-img, .lc-member__photo .ui-ph { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0; border: 0; }
.lc-member__body { padding: 16px 20px 20px; }
.lc-member__name { margin: 0; font-size: var(--ui-fs-lg); font-weight: 600; color: var(--ui-text); }
.lc-member__role { margin: 4px 0 0; font-size: var(--ui-fs-sm); color: var(--ui-text-3); }

.lc-wwd__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: end; margin-bottom: clamp(28px, 3vw, 44px); }
.lc-wwd__title { margin: 0; }
.lc-wwd__head .ui-lead { margin: 0; }
.lc-wwd__thumb { position: relative; border-radius: var(--ui-r-xl); overflow: hidden; border: 1px solid var(--ui-border); }
.lc-wwd__thumb img, .lc-wwd__thumb .ui-img { display: block; width: 100%; height: auto; }
.lc-wwd__play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--ui-primary); font-size: 28px; box-shadow: var(--ui-shadow-md); text-decoration: none; }
.lc-brands { padding-block: clamp(28px, 4vw, 48px); }
.lc-brands__row { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 24px 48px; }
.lc-brands__item img { max-height: 36px; width: auto; opacity: .8; }
@media (max-width: 991.98px) {
  .lc-about__grid, .lc-mission__grid, .lc-why__grid, .lc-wwd__head { grid-template-columns: minmax(0, 1fr); }
  .lc-mission__media { order: 2; }
}

/* ---------- Role-choice + banner (page-builder headers) ---------- */
.lc-roles__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lc-roles__panel { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-decoration: none; color: var(--ui-text-2); }
.lc-roles__panel:hover { color: var(--ui-text-2); }
.lc-roles__title { margin: 0; }
.lc-roles__panel p { margin: 0; max-width: 46ch; }
.lc-roles__panel .ui-btn { margin-top: 12px; }
@media (max-width: 767.98px) { .lc-roles__grid { grid-template-columns: 1fr; } }
.lc-banner__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.lc-banner__title { margin: 0 0 16px; }
.lc-banner__copy .ui-lead { margin: 0 0 28px; }
.lc-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lc-banner__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lc-banner__tile { position: relative; margin: 0; border-radius: var(--ui-r-xl); overflow: hidden; aspect-ratio: 3 / 4; background: var(--ui-primary-50); border: 1px solid var(--ui-border); }
.lc-banner__tile > img { width: 100%; height: 100%; object-fit: cover; }
.lc-banner__stat { position: absolute; inset-inline: 10px; inset-block-end: 10px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--ui-r-sm); background: #fff; color: var(--ui-text); font-size: 13px; box-shadow: var(--ui-shadow-sm); }
.lc-banner__stat-icon img { width: 28px; height: auto; }
@media (max-width: 991.98px) { .lc-banner__inner { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Contact ---------- */
.lc-contact.ui-section { padding-block: clamp(32px, 4vw, 56px); }
.lc-contact__layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px; align-items: start; }
.lc-contact__layout .ui-h3 { margin: 0 0 8px; }
.lc-contact__intro { margin: 0 0 20px; color: var(--ui-text-2); }
.lc-contact__lines { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 4px; }
.lc-contact__line { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-top: 1px solid var(--ui-border-soft); }
.lc-contact__line:first-child { border-top: 0; }
.lc-contact__label { margin: 0 0 2px; font-size: var(--ui-fs-sm); font-weight: 600; color: var(--ui-text-3); }
.lc-contact__val { margin: 0; color: var(--ui-text); overflow-wrap: anywhere; }
.lc-contact__map { margin-top: 24px; border-radius: var(--ui-r-xl); overflow: hidden; border: 1px solid var(--ui-border); }
.lc-contact__map img, .lc-contact__map .ui-img, .lc-contact__map .ui-ph { display: block; width: 100%; border-radius: 0; border: 0; }
.lc-contact__form label { display: block; margin-bottom: 6px; font-size: var(--ui-fs-sm); font-weight: 500; color: var(--ui-text); }
.lc-contact__form input:not([type="checkbox"], [type="radio"], [type="submit"], [type="hidden"]), .lc-contact__form textarea, .lc-contact__form select { width: 100%; }
.lc-contact__form .single-input, .lc-contact__form .form-group { margin-bottom: 16px; }
.lc-contact__form textarea { min-height: 140px; }
@media (max-width: 991.98px) { .lc-contact__layout { grid-template-columns: minmax(0, 1fr); } }

/* ---------- FAQ accordion ---------- */
.lc-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.lc-faq__intro .ui-h2 { margin: 0 0 12px; }
.lc-faq__intro .ui-lead { margin: 0 0 20px; }
.lc-faq__art { margin-top: 24px; }
.lc-faq__art img { max-width: 100%; height: auto; border-radius: var(--ui-r-lg); }
.lc-faq__list { display: grid; gap: 12px; }
.lc-faq__item { background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-r-lg); transition: border-color var(--ui-dur-2) var(--ui-ease); }
.lc-faq__item[open] { border-color: var(--ui-primary-200); box-shadow: var(--ui-shadow-sm); }
.lc-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; list-style: none; cursor: pointer; font-weight: 600; font-size: 1rem; color: var(--ui-text); }
.lc-faq__item summary::-webkit-details-marker { display: none; }
.lc-faq__item summary i { flex: none; color: var(--ui-text-3); transition: transform var(--ui-dur-2) var(--ui-ease); }
.lc-faq__item[open] summary i { transform: rotate(180deg); color: var(--ui-primary); }
.lc-faq__item p { margin: 0; padding: 0 20px 20px; color: var(--ui-text-2); line-height: 1.65; }
@media (max-width: 991.98px) { .lc-faq { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Newsletter ---------- */
.lc-news__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(24px, 4vw, 48px); background: var(--ui-primary-50); border: 1px solid var(--ui-primary-200); border-radius: var(--ui-r-xl); }
.lc-news__title { margin: 0 0 8px; }
.lc-news__copy p { margin: 0; color: var(--ui-text-2); }
.lc-news__label { display: block; margin-bottom: 6px; font-size: var(--ui-fs-sm); font-weight: 500; color: var(--ui-text); }
.lc-news__row { display: flex; gap: 8px; }
.lc-news__row input { flex: 1; min-width: 0; }
@media (max-width: 767.98px) { .lc-news__panel { grid-template-columns: minmax(0, 1fr); } .lc-news__row { flex-direction: column; } }

/* ---------- Pricing ---------- */
.lc-pricing__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.lc-plan { display: flex; flex-direction: column; gap: 12px; }
.lc-plan__top { display: flex; align-items: center; gap: 12px; }
.lc-plan__logo img { width: 40px; height: 40px; object-fit: contain; }
.lc-plan__name { margin: 0; font-size: var(--ui-fs-xl); font-weight: 600; }
.lc-plan__price { margin: 0; font-size: var(--ui-fs-3xl); font-weight: 600; color: var(--ui-text); line-height: 1.1; }
.lc-plan__price small { font-size: var(--ui-fs-sm); font-weight: 400; color: var(--ui-text-3); }
.lc-plan__limit { margin: 0; color: var(--ui-text-3); font-size: var(--ui-fs-sm); }
.lc-plan__features { list-style: none; margin: 8px 0 12px; padding: 12px 0 0; border-top: 1px solid var(--ui-border-soft); display: grid; gap: 8px; flex: 1; }
.lc-plan__features li { display: flex; gap: 8px; align-items: flex-start; font-size: .9375rem; color: var(--ui-text-2); }
.lc-plan__features i { color: var(--ui-success); margin-top: 3px; }
.lc-plan__features .is-off { color: var(--ui-text-3); }
.lc-plan__features .is-off i { color: var(--ui-n-400); }

/* ---------- Testimonials ---------- */
.lc-testi__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 380px); gap: 16px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
.lc-slip { margin: 0; display: flex; flex-direction: column; gap: 10px; scroll-snap-align: start; }
.lc-slip__top { display: flex; justify-content: space-between; align-items: center; }
.lc-slip__stars { color: var(--ui-gold); display: inline-flex; gap: 2px; }
.lc-slip__title { margin: 0; font-size: var(--ui-fs-lg); font-weight: 600; }
.lc-slip__quote { margin: 0; color: var(--ui-text-2); line-height: 1.65; flex: 1; }
.lc-slip__author { display: flex; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid var(--ui-border-soft); }
.lc-slip__avatar { width: 44px; height: 44px; flex: none; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--ui-primary-soft); color: var(--ui-primary); }
.lc-slip__avatar img { width: 100%; height: 100%; object-fit: cover; }
.lc-slip__name { font-weight: 600; color: var(--ui-text); text-decoration: none; }
.lc-slip__role { margin: 0; font-size: var(--ui-fs-sm); color: var(--ui-text-3); }

/* ---------- Blog ---------- */
.lc-blog__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.lc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.lc-post { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.lc-post__media { display: block; background: var(--ui-bg-soft); }
.lc-post__media img, .lc-post__media .ui-img, .lc-post__media .ui-ph { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; border: 0; }
.lc-post__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.lc-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: var(--ui-fs-xs); color: var(--ui-text-3); }
.lc-post__title { margin: 0; font-size: var(--ui-fs-lg); font-weight: 600; line-height: 1.35; }
.lc-post__title a { color: var(--ui-text); text-decoration: none; }
.lc-post__title a:hover { color: var(--ui-primary); }
.lc-post__excerpt { margin: 0; color: var(--ui-text-2); font-size: .9375rem; line-height: 1.6; flex: 1; }
.lc-post__more { align-self: flex-start; }
.lc-side { display: grid; gap: 20px; position: sticky; top: calc(var(--ui-header-h) + 24px); }
.lc-side__block { padding: 20px; background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-r-lg); }
.lc-side__title { display: block; margin: 0 0 12px; font-size: var(--ui-fs-md); font-weight: 600; color: var(--ui-text); }
.lc-search { position: relative; }
.lc-search > i { position: absolute; inset-block: 0; inset-inline-start: 12px; display: grid; place-items: center; color: var(--ui-text-3); pointer-events: none; }
.lc-search__input { width: 100%; min-height: 44px; padding-inline: 38px 12px; border: 1px solid var(--ui-border-strong); border-radius: var(--ui-r-sm); background: #fff; color: var(--ui-text); font: inherit; }
.lc-search__input:focus { outline: 0; border-color: var(--ui-primary); box-shadow: var(--ui-ring); }
.lc-side__list { display: grid; gap: 2px; }
.lc-side__item { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 10px; border-radius: var(--ui-r-sm); color: var(--ui-text-2); text-decoration: none; font-size: .9375rem; transition: background-color var(--ui-dur-1) var(--ui-ease); }
.lc-side__item:hover { background: var(--ui-bg-soft); color: var(--ui-text); }
.lc-side__item.active { background: var(--ui-primary-soft); color: var(--ui-primary); font-weight: 600; }
.lc-side__count { font-size: var(--ui-fs-xs); color: var(--ui-text-3); }
.lc-recent { list-style: none; margin: 0; padding: 0; display: grid; }
.lc-recent li { padding: 10px 0; border-top: 1px solid var(--ui-border-soft); display: grid; gap: 2px; }
.lc-recent li:first-child { border-top: 0; padding-top: 0; }
.lc-recent a { color: var(--ui-text); text-decoration: none; font-size: .9375rem; line-height: 1.4; font-weight: 500; }
.lc-recent a:hover { color: var(--ui-primary); }
.lc-recent time { font-size: var(--ui-fs-xs); color: var(--ui-text-3); }
@media (max-width: 991.98px) { .lc-blog__layout { grid-template-columns: minmax(0, 1fr); } .lc-side { position: static; } }

/* ---------- Article ---------- */
.lc-art__cover { margin: 0 0 clamp(24px, 3vw, 40px); border-radius: var(--ui-r-xl); overflow: hidden; border: 1px solid var(--ui-border); background: var(--ui-bg-soft); }
.lc-art__cover img, .lc-art__cover .ui-img, .lc-art__cover .ui-ph { display: block; width: 100%; max-height: 460px; object-fit: cover; border-radius: 0; border: 0; }
.lc-art__layout.has-toc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.lc-art__layout.has-toc .lc-toc { order: -1; }
.lc-art__layout:not(.has-toc) .lc-art { margin-inline: auto; max-width: 68ch; }
.lc-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--ui-border); }
.lc-share__label { font-size: var(--ui-fs-sm); font-weight: 600; color: var(--ui-text-3); margin-inline-end: 4px; }
.lc-share__btn { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ui-border-strong); border-radius: 50%; color: var(--ui-text-2); text-decoration: none; transition: all var(--ui-dur-1) var(--ui-ease); }
.lc-share__btn:hover { background: var(--ui-primary); border-color: var(--ui-primary); color: #fff; }
.lc-share__back { margin-inline-start: auto; font-size: var(--ui-fs-sm); font-weight: 500; color: var(--ui-link); text-decoration: none; }
.lc-related__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.lc-related__head .ui-h2 { margin: 0; }
.lc-related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }

/* ---------- Dynamic page-builder wrapper ---------- */
.lc-pb .text-editor-area { padding-block: clamp(32px, 4vw, 64px) !important; }
.lc-pb .text-editor-area .container { max-width: calc(820px + var(--ui-gutter) * 2); }
.lc-pb .text-editor-area p, .lc-pb .text-editor-area li { color: var(--ui-text-2); line-height: 1.75; }
.lc-pb .text-editor-area h2, .lc-pb .text-editor-area h3 { margin: 1.8em 0 .5em; font-weight: 600; color: var(--ui-text); }
.lc-pb .text-editor-area ul, .lc-pb .text-editor-area ol { padding-inline-start: 1.5em; }
.lc-pb .text-editor-area a { text-decoration: underline; text-underline-offset: 3px; color: var(--ui-link); }
.lc-pb .text-editor-area img { border-radius: var(--ui-r-md); max-width: 100%; height: auto; }
.lc-pb .section-title .title { font-weight: 600; font-size: var(--ui-fs-3xl); line-height: 1.2; color: var(--ui-text); }
.lc-pb .section-para { color: var(--ui-text-2); font-size: var(--ui-fs-lg); }

/* ---------- Error + maintenance pages ---------- */
.lc-error-body { margin: 0; background: var(--ui-bg-soft); font-family: var(--ui-font); color: var(--ui-text-2); }
.lc-err { min-height: 100vh; display: grid; place-items: center; padding: 32px var(--ui-gutter); }
.lc-err__card { width: min(100%, 560px); padding: clamp(28px, 5vw, 48px); background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-r-xl); box-shadow: var(--ui-shadow-md); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lc-err__brand { margin-bottom: 8px; display: inline-flex; text-decoration: none; }
.lc-err__logo img { max-height: 44px; width: auto; }
.lc-err__code { margin: 8px 0 0; font-size: clamp(3.5rem, 2.5rem + 5vw, 5.5rem); font-weight: 600; line-height: 1; color: var(--ui-primary); }
.lc-err__title { margin: 0; }
.lc-err__text { margin: 0; max-width: 44ch; }
.lc-err__icon { margin-top: 8px; }
.lc-err__media img { max-width: 100%; height: auto; border-radius: var(--ui-r-md); }
.lc-err__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 16px; }
.lc-err__links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 20px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--ui-border-soft); width: 100%; font-size: var(--ui-fs-sm); }
.lc-err__links span { color: var(--ui-text-3); }
.lc-err__links a { color: var(--ui-link); text-decoration: none; font-weight: 500; }
.lc-err__links a:hover { text-decoration: underline; }

.lc-legal .lc-prose > h1:first-child { display: none; }
.lc-wwd__thumb::before, .lc-wwd__thumb::after { content: none !important; display: none !important; }
html:has(.lc-error-body) { background: var(--ui-bg-soft); }
