/**
 * Shared rich-text typography for CKEditor output (.cms-rich-text) and the editor surface (.ck-content).
 * Aligns paragraph, headings (h1–h3), lists, blockquote, tables, and media for WYSIWYG parity.
 */
:root {
    --cms-rich-font-body: "Fira Sans", "Roboto", system-ui, sans-serif;
    --cms-rich-font-heading: "Manrope", "Fira Sans", system-ui, sans-serif;
    --cms-rich-text: #191c1e;
    --cms-rich-muted: #5c5f62;
    --cms-rich-accent: #4a47d2;
    --cms-rich-border: rgba(74, 71, 210, 0.18);
    --cms-rich-quote-border: #6462ec;
}

.cms-rich-text,
.ck-content,
.ck.ck-editor__editable {
    font-family: var(--cms-rich-font-body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--cms-rich-text);
    -webkit-font-smoothing: antialiased;
}

.cms-rich-text > :first-child,
.ck-content > :first-child {
    margin-top: 0;
}

.cms-rich-text > :last-child,
.ck-content > :last-child {
    margin-bottom: 0;
}

/* Paragraphs */
.cms-rich-text p,
.ck-content p {
    margin: 0 0 1rem;
}

/* Headings — match editor dropdown (Heading 1–3) */
.cms-rich-text h1,
.cms-rich-text h2,
.cms-rich-text h3,
.ck-content h1,
.ck-content h2,
.ck-content h3 {
    font-family: var(--cms-rich-font-heading);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.22;
    color: var(--cms-rich-text);
    margin: 1.35em 0 0.65em;
}

.cms-rich-text h1:first-child,
.cms-rich-text h2:first-child,
.cms-rich-text h3:first-child,
.ck-content h1:first-child,
.ck-content h2:first-child,
.ck-content h3:first-child {
    margin-top: 0;
}

.cms-rich-text h1,
.ck-content h1 {
    font-size: clamp(1.65rem, 3.5vw, 2.25rem);
}

.cms-rich-text h2,
.ck-content h2 {
    font-size: clamp(1.35rem, 2.6vw, 1.75rem);
}

.cms-rich-text h3,
.ck-content h3 {
    font-size: clamp(1.12rem, 2vw, 1.35rem);
    font-weight: 700;
}

/* Legacy h4–h6 from pasted HTML */
.cms-rich-text h4,
.cms-rich-text h5,
.cms-rich-text h6,
.ck-content h4,
.ck-content h5,
.ck-content h6 {
    font-family: var(--cms-rich-font-heading);
    font-weight: 700;
    line-height: 1.3;
    color: var(--cms-rich-text);
    margin: 1.15em 0 0.5em;
}

.cms-rich-text h4,
.ck-content h4 {
    font-size: 1.15rem;
}

.cms-rich-text h5,
.ck-content h5 {
    font-size: 1.05rem;
}

.cms-rich-text h6,
.ck-content h6 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--cms-rich-muted);
}

/* Lists */
.cms-rich-text ul,
.cms-rich-text ol,
.ck-content ul,
.ck-content ol {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}

.cms-rich-text ul,
.ck-content ul {
    list-style-type: disc;
}

.cms-rich-text ol,
.ck-content ol {
    list-style-type: decimal;
}

.cms-rich-text li,
.ck-content li {
    margin: 0.35em 0;
    padding-left: 0.25rem;
}

.cms-rich-text ul ul,
.cms-rich-text ol ol,
.cms-rich-text ul ol,
.cms-rich-text ol ul,
.ck-content ul ul,
.ck-content ol ol,
.ck-content ul ol,
.ck-content ol ul {
    margin-bottom: 0.35rem;
    margin-top: 0.35rem;
}

/* Blockquote */
.cms-rich-text blockquote,
.ck-content blockquote {
    margin: 1rem 0;
    padding: 0.75rem 0 0.75rem 1.25rem;
    border-left: 4px solid var(--cms-rich-quote-border);
    font-style: italic;
    color: var(--cms-rich-muted);
    background: linear-gradient(90deg, rgba(100, 98, 236, 0.06) 0%, transparent 100%);
    border-radius: 0 0.5rem 0.5rem 0;
}

.cms-rich-text blockquote p:last-child,
.ck-content blockquote p:last-child {
    margin-bottom: 0;
}

/* Horizontal rule */
.cms-rich-text hr,
.ck-content hr {
    margin: 1.5rem 0;
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cms-rich-border), transparent);
}

/* Links */
.cms-rich-text a,
.ck-content a {
    color: var(--cms-rich-accent);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.cms-rich-text a:hover,
.ck-content a:hover {
    color: #3730a3;
}

/* Inline semantics */
.cms-rich-text strong,
.cms-rich-text b,
.ck-content strong,
.ck-content b {
    font-weight: 700;
}

.cms-rich-text em,
.cms-rich-text i,
.ck-content em,
.ck-content i {
    font-style: italic;
}

.cms-rich-text u,
.ck-content u {
    text-underline-offset: 0.12em;
}

.cms-rich-text mark,
.ck-content mark {
    background: rgba(253, 253, 119, 0.65);
    padding: 0.05em 0.15em;
    border-radius: 0.15em;
}

.cms-rich-text small,
.ck-content small {
    font-size: 0.875em;
}

.cms-rich-text sub,
.cms-rich-text sup,
.ck-content sub,
.ck-content sup {
    font-size: 0.75em;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

.cms-rich-text sup,
.ck-content sup {
    top: -0.35em;
}

.cms-rich-text sub,
.ck-content sub {
    bottom: -0.2em;
}

/* Code */
.cms-rich-text code,
.ck-content code {
    font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
    font-size: 0.9em;
    background: rgba(25, 28, 30, 0.06);
    padding: 0.12em 0.35em;
    border-radius: 0.25rem;
}

.cms-rich-text pre,
.ck-content pre {
    margin: 1rem 0;
    padding: 1rem 1.15rem;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.55;
    background: #f4f4f6;
    border: 1px solid rgba(25, 28, 30, 0.08);
    border-radius: 0.5rem;
}

.cms-rich-text pre code,
.ck-content pre code {
    background: none;
    padding: 0;
    font-size: inherit;
}

/* Tables */
.cms-rich-text table,
.ck-content table {
    width: 100%;
    max-width: 100%;
    margin: 1rem 0;
    border-collapse: collapse;
    font-size: 0.95rem;
    border: 1px solid var(--cms-rich-border);
    border-radius: 0.5rem;
    overflow: hidden;
}

.cms-rich-text th,
.cms-rich-text td,
.ck-content th,
.ck-content td {
    border: 1px solid var(--cms-rich-border);
    padding: 0.6rem 0.85rem;
    vertical-align: top;
}

.cms-rich-text th,
.ck-content th {
    font-family: var(--cms-rich-font-heading);
    font-weight: 700;
    text-align: left;
    background: rgba(100, 98, 236, 0.08);
}

.cms-rich-text figcaption,
.ck-content figcaption {
    caption-side: bottom;
    font-size: 0.85rem;
    color: var(--cms-rich-muted);
    margin-top: 0.5rem;
    text-align: center;
}

/* Images & media (CKEditor uses .image wrapper) */
.cms-rich-text img,
.ck-content img {
    max-width: 100%;
    height: auto;
}

.cms-rich-text figure,
.ck-content figure {
    margin: 1rem 0;
}

.cms-rich-text .image,
.ck-content .image {
    margin: 1rem auto;
}

/* Definition lists */
.cms-rich-text dl,
.ck-content dl {
    margin: 0 0 1rem;
}

.cms-rich-text dt,
.ck-content dt {
    font-weight: 700;
    margin-top: 0.75rem;
}

.cms-rich-text dd,
.ck-content dd {
    margin: 0.25rem 0 0 1rem;
}

/*
 * Dashboard (Eric Meyer–style reset in dashboard.min.css) zeros margins on p, headings, etc.
 * Other rules can also leak `white-space: nowrap` into the editable. That makes spaces “fail”
 * (no wrap, odd gaps) and collapses vertical rhythm between tags. Re-assert editor defaults.
 */
body.dashboard-shell .ck.ck-editor__editable {
    min-height: 220px;
    white-space: pre-wrap !important;
    word-spacing: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

body.dashboard-shell .ck.ck-editor__editable p,
body.dashboard-shell .ck.ck-editor__editable h1,
body.dashboard-shell .ck.ck-editor__editable h2,
body.dashboard-shell .ck.ck-editor__editable h3,
body.dashboard-shell .ck.ck-editor__editable h4,
body.dashboard-shell .ck.ck-editor__editable h5,
body.dashboard-shell .ck.ck-editor__editable h6,
body.dashboard-shell .ck.ck-editor__editable li,
body.dashboard-shell .ck.ck-editor__editable td,
body.dashboard-shell .ck.ck-editor__editable th,
body.dashboard-shell .ck.ck-editor__editable blockquote {
    white-space: pre-wrap !important;
}

body.dashboard-shell .ck.ck-editor__editable pre {
    white-space: pre-wrap !important;
}

/* Restore block spacing overridden by global reset (tags look “stuck” together) */
body.dashboard-shell .ck.ck-editor__editable p {
    margin: 0 0 1rem !important;
}

body.dashboard-shell .ck.ck-editor__editable h1,
body.dashboard-shell .ck.ck-editor__editable h2,
body.dashboard-shell .ck.ck-editor__editable h3 {
    margin: 1.15em 0 0.5em !important;
}

body.dashboard-shell .ck.ck-editor__editable h1:first-child,
body.dashboard-shell .ck.ck-editor__editable h2:first-child,
body.dashboard-shell .ck.ck-editor__editable h3:first-child,
body.dashboard-shell .ck.ck-editor__editable p:first-child {
    margin-top: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* CMS content blocks (frontend render parity with CMS editor output)         */
/* -------------------------------------------------------------------------- */

.content-block-cta--banner,
.content-block-hero--layout,
.content-block-two-column--layout,
.content-block-testimonial--layout,
.content-block-faq--layout,
.content-block-gallery--layout {
    margin: 1.5rem 0;
}

/* CTA */
.content-block-cta--banner .content-block-cta__surface {
    position: relative;
    overflow: hidden;
    border-radius: 2rem;
    padding: clamp(2.75rem, 5.5vw, 4rem) clamp(2rem, 4.5vw, 3.25rem);
    background: linear-gradient(135deg, #4a47d2 0%, #6462ec 55%, #5b57e8 100%);
    color: #fff;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
    box-sizing: border-box;
}
.content-block-cta--banner .content-block-cta__decor {
    position: absolute;
    top: 0;
    right: 0;
    width: min(55%, 420px);
    height: 100%;
    pointer-events: none;
    opacity: 0.22;
    z-index: 0;
}
.content-block-cta--banner .content-block-cta__inner {
    position: relative;
    z-index: 2;
    max-width: 48rem;
}
.content-block-cta--banner .content-block-cta__title {
    margin: 0 0 1rem;
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-size: clamp(1.65rem, 3.8vw, 2.75rem);
    line-height: 1.28;
    letter-spacing: -0.02em;
    color: #fff;
}
.content-block-cta--banner .content-block-cta__lead {
    margin: 0 0 1.75rem;
    font-family: "Inter", system-ui, sans-serif;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: rgba(226, 223, 255, 0.92);
    max-width: 42rem;
}
.content-block-cta--banner .content-block-cta__btn {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
    color: #4a47d2;
    background: #fff;
}

/* Hero */
.content-block-hero--layout .content-block-hero__surface {
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 2rem;
    overflow: hidden;
    box-sizing: border-box;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
    border: 1px solid rgba(74, 71, 210, 0.12);
    background: #fff;
}
@media (min-width: 768px) {
    .content-block-hero--layout .content-block-hero__surface {
        grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
        align-items: stretch;
        min-height: min(320px, 42vh);
    }
}
.content-block-hero--layout .content-block-hero__media {
    min-height: 200px;
    background: linear-gradient(145deg, #e8e6ff 0%, #f3f2ff 55%, #ece9ff 100%);
}
.content-block-hero--layout .content-block-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.content-block-hero--layout .content-block-hero__body {
    padding: clamp(2rem, 4vw, 3rem);
    background: linear-gradient(180deg, #fafaff 0%, #ffffff 55%);
}
.content-block-hero--layout .content-block-hero__title {
    margin: 0 0 0.75rem;
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 3.2vw, 2.35rem);
    line-height: 1.22;
    color: #191c1e;
}
.content-block-hero--layout .content-block-hero__lead {
    margin: 0 0 1.5rem;
    font-family: "Inter", system-ui, sans-serif;
    color: #5c5f62;
}
.content-block-hero--layout .content-block-hero__btn {
    display: inline-block;
    padding: 0.9rem 1.85rem;
    border-radius: 0.75rem;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg, #4a47d2 0%, #6462ec 100%);
}

/* Two column */
.content-block-two-column--layout .content-block-two-column__surface {
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid rgba(74, 71, 210, 0.12);
    background: #fff;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
}
.content-block-two-column--layout .content-block-two-column__grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .content-block-two-column--layout .content-block-two-column__grid {
        grid-template-columns: 1fr 1fr;
    }
    .content-block-two-column--layout .content-block-two-column__col:first-child {
        border-right: 1px solid rgba(74, 71, 210, 0.12);
    }
}
.content-block-two-column--layout .content-block-two-column__col {
    padding: clamp(1.35rem, 3.2vw, 2rem) clamp(1.25rem, 3vw, 1.75rem);
    background: linear-gradient(180deg, #fafaff 0%, #ffffff 70%);
}

/* Testimonial */
.content-block-testimonial--layout .content-block-testimonial__surface {
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid rgba(74, 71, 210, 0.12);
    background: #fff;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
}
.content-block-testimonial--layout .content-block-testimonial__quote {
    margin: 0;
    padding: clamp(1.5rem, 3.5vw, 2.35rem);
    border-left: 4px solid #6462ec;
    background: linear-gradient(135deg, #fafaff 0%, #ffffff 55%);
}
.content-block-testimonial--layout .content-block-testimonial__cite {
    color: #4a47d2;
    font-style: normal;
    font-weight: 600;
}

/* FAQ */
.content-block-faq--layout .content-block-faq__surface {
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid rgba(74, 71, 210, 0.12);
    background: #fff;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
}
.content-block-faq--layout .content-block-faq__list {
    padding: 0 clamp(1rem, 2.5vw, 1.5rem) clamp(1rem, 2vw, 1.25rem);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.content-block-faq--layout .content-block-faq__item {
    border: 1px solid rgba(74, 71, 210, 0.14);
    border-radius: 14px;
    background: linear-gradient(180deg, #fcfbff 0%, #ffffff 100%);
}

/* Gallery */
.content-block-gallery--layout .content-block-gallery__surface {
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid rgba(74, 71, 210, 0.12);
    background: #fff;
    box-shadow: 0 12px 32px -4px rgba(25, 28, 30, 0.08);
}
.content-block-gallery--layout .content-block-gallery__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));
    gap: clamp(0.65rem, 2vw, 1rem);
    padding: clamp(1rem, 2.5vw, 1.35rem);
}
.content-block-gallery--layout .content-block-gallery__cell {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(74, 71, 210, 0.12);
    aspect-ratio: 4 / 3;
}
.content-block-gallery--layout .content-block-gallery__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Public site: hide editor-only CMS controls if persisted in saved HTML. */
body:not(.dashboard-shell) .cms-block-toolbar,
body:not(.dashboard-shell) .cms-block-remove-btn,
body:not(.dashboard-shell) .content-block-hero__upload-overlay,
body:not(.dashboard-shell) .content-block-faq__item-tools,
body:not(.dashboard-shell) .content-block-faq__add-bar,
body:not(.dashboard-shell) .content-block-gallery__cell-tools,
body:not(.dashboard-shell) .content-block-gallery__add-bar {
    display: none !important;
}

/* Editor mode: keep hero media controls click-safe above CKEditor overlays. */
body.dashboard-shell .ck.ck-editor__editable .content-block-hero__upload-overlay {
    pointer-events: auto !important;
    z-index: 45 !important;
}
body.dashboard-shell .ck.ck-editor__editable .content-block-hero__media-actions,
body.dashboard-shell .ck.ck-editor__editable .content-block-hero__upload-trigger,
body.dashboard-shell .ck.ck-editor__editable .content-block-hero__remove-image-trigger {
    pointer-events: auto !important;
    position: relative;
    z-index: 46;
}

/* Editor mode: keep gallery controls click-safe above CKEditor overlays. */
body.dashboard-shell .ck.ck-editor__editable .content-block-gallery__cell-tools,
body.dashboard-shell .ck.ck-editor__editable .content-block-gallery__add-bar {
    pointer-events: auto !important;
    z-index: 45 !important;
}
body.dashboard-shell .ck.ck-editor__editable .content-block-gallery__cell-tools .btn,
body.dashboard-shell .ck.ck-editor__editable .content-block-gallery__add-item {
    pointer-events: auto !important;
    position: relative;
    z-index: 46;
}

/* Editor mode: keep FAQ controls click-safe above CKEditor overlays. */
body.dashboard-shell .ck.ck-editor__editable .content-block-faq__item-tools,
body.dashboard-shell .ck.ck-editor__editable .content-block-faq__add-bar {
    pointer-events: auto !important;
    z-index: 45 !important;
}
body.dashboard-shell .ck.ck-editor__editable .content-block-faq__remove-item,
body.dashboard-shell .ck.ck-editor__editable .content-block-faq__add-item {
    pointer-events: auto !important;
    position: relative;
    z-index: 46;
}

/* -------------------------------------------------------------------------- */
/* Frontend blend pass: align CMS blocks with site theme                      */
/* -------------------------------------------------------------------------- */
body:not(.dashboard-shell) .content-block-cta--banner,
body:not(.dashboard-shell) .content-block-hero--layout,
body:not(.dashboard-shell) .content-block-two-column--layout,
body:not(.dashboard-shell) .content-block-testimonial--layout,
body:not(.dashboard-shell) .content-block-faq--layout,
body:not(.dashboard-shell) .content-block-gallery--layout {
    margin: 2.25rem 0;
    font-family: "Open Sans", sans-serif;
    color: #333;
}

body:not(.dashboard-shell) .content-block-cta__title,
body:not(.dashboard-shell) .content-block-hero__title,
body:not(.dashboard-shell) .content-block-two-column__col h2,
body:not(.dashboard-shell) .content-block-two-column__col h3,
body:not(.dashboard-shell) .content-block-testimonial__quote h2,
body:not(.dashboard-shell) .content-block-testimonial__quote h3,
body:not(.dashboard-shell) .content-block-faq__title {
    font-family: "Bricolage Grotesque", sans-serif;
    color: #2e3592;
    margin-bottom: 0.85rem;
    line-height: 1.2;
}

body:not(.dashboard-shell) .content-block-cta__lead,
body:not(.dashboard-shell) .content-block-hero__lead,
body:not(.dashboard-shell) .content-block-two-column__col p,
body:not(.dashboard-shell) .content-block-testimonial__quote p,
body:not(.dashboard-shell) .content-block-faq__item p {
    color: #333;
    line-height: 1.7;
}

/* CTA block -> map to site's blue/red callout language */
body:not(.dashboard-shell) .content-block-cta--banner .content-block-cta__surface {
    border-radius: 4px;
    background: linear-gradient(110deg, #ec1c24, #2e3592);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

body:not(.dashboard-shell) .content-block-cta--banner .content-block-cta__title,
body:not(.dashboard-shell) .content-block-cta--banner .content-block-cta__lead {
    color: #fff;
}

body:not(.dashboard-shell) .content-block-cta--banner .content-block-cta__btn {
    background: #fff;
    color: #2e3592;
    border-radius: 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Hero block */
body:not(.dashboard-shell) .content-block-hero--layout .content-block-hero__surface {
    border-radius: 4px;
    border: 0;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

body:not(.dashboard-shell) .content-block-hero--layout .content-block-hero__body {
    background: #fff;
}

body:not(.dashboard-shell) .content-block-hero--layout .content-block-hero__btn {
    border-radius: 0;
    background: #2e3592;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
}

/* Two-column + testimonial + faq + gallery surfaces */
body:not(.dashboard-shell) .content-block-two-column--layout .content-block-two-column__surface,
body:not(.dashboard-shell) .content-block-testimonial--layout .content-block-testimonial__surface,
body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__surface,
body:not(.dashboard-shell) .content-block-gallery--layout .content-block-gallery__surface {
    border-radius: 4px;
    border: 0;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

body:not(.dashboard-shell) .content-block-two-column--layout .content-block-two-column__col {
    background: #fff;
}

body:not(.dashboard-shell) .content-block-testimonial--layout .content-block-testimonial__quote {
    background: #fff;
    border-left: 4px solid #ec1c24;
}

body:not(.dashboard-shell) .content-block-testimonial--layout .content-block-testimonial__cite {
    color: #2e3592;
    font-weight: 700;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__item {
    border: 1px solid #e8ebf2;
    border-radius: 4px;
    background: #fff;
}

body:not(.dashboard-shell) .content-block-gallery--layout .content-block-gallery__cell {
    border-radius: 4px;
    border: 0;
}

/* FAQ visual polish to match frontend accordion language */
body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__surface {
    padding: 1.05rem;
    border: 1px solid #e8ebf2;
    background: #fff;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__title {
    margin: 0 0 0.9rem;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.15;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__list {
    padding: 0;
    gap: 0.7rem;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__item {
    border: 1px solid #e3e8f2;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__item:hover {
    border-color: #d5deef;
    box-shadow: 0 4px 14px rgba(46, 53, 146, 0.08);
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__summary {
    position: relative;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
    padding: 0.85rem 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #2e3592;
    cursor: pointer;
    background: #fff;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__summary::-webkit-details-marker {
    display: none;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__summary::after {
    content: "+";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    color: #2e3592;
    background: #f2f4fb;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__item[open] .content-block-faq__summary {
    border-bottom: 1px solid #e9eef8;
    background: #f9faff;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__item[open] .content-block-faq__summary::after {
    transform: rotate(45deg);
    background: #2e3592;
    color: #fff;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__answer {
    padding: 0.85rem 1rem 1rem;
}

body:not(.dashboard-shell) .content-block-faq--layout .content-block-faq__answer p {
    margin: 0;
    color: #333;
    line-height: 1.7;
}
