/* Gum Disease Self-Assessment — interactive periodontal self-assessment.
 *
 * BEM namespace: lxf-gda__*
 * Hydration container: <div data-lxf-gda>
 *
 * Heading typography (font-family/size/weight) is set globally in global.css
 * per project policy — this file only handles colour, spacing, layout.
 */

.lxf-gda {
    max-width: 760px;
    margin-inline: auto;
}

/* ─── Card surface ────────────────────────────────────────────────────── */

.lxf-gda__card {
    background: var(--lxf-white);
    border: 1px solid var(--lxf-gray-200);
    border-radius: var(--lxf-radius-lg);
    padding: var(--lxf-space-4);
    box-shadow: var(--lxf-shadow-sm);
}

@media (min-width: 640px) {
    .lxf-gda__card {
        padding: var(--lxf-space-5);
    }
}

.lxf-gda__card + .lxf-gda__card {
    margin-top: var(--lxf-space-3);
}

/* Intro card has a subtle accent border */
.lxf-gda__card--intro {
    border-top: 4px solid var(--lxf-blue);
}

/* ─── Eyebrow / labels ────────────────────────────────────────────────── */

.lxf-gda__eyebrow {
    font-family: var(--lxf-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--lxf-blue-action);
    margin: 0 0 var(--lxf-space-2);
}

.lxf-gda__eyebrow--critical  { color: #b91c1c; }
.lxf-gda__eyebrow--urgent    { color: #c2410c; }
.lxf-gda__eyebrow--attention { color: #b45309; }
.lxf-gda__eyebrow--routine   { color: var(--lxf-blue-action); }
.lxf-gda__eyebrow--mild      { color: #047857; }

/* ─── Title / lead / disclaimer (intro card) ──────────────────────────── */

.lxf-gda__title {
    color: var(--lxf-navy);
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__lead {
    color: var(--lxf-gray-700);
    line-height: 1.6;
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__disclaimer {
    background: #fef9c3;
    border-left: 3px solid #facc15;
    border-radius: var(--lxf-radius-sm);
    color: #78350f;
    padding: var(--lxf-space-2);
    margin: 0 0 var(--lxf-space-4);
    font-size: 0.875rem;
    line-height: 1.55;
}

.lxf-gda__start {
    width: 100%;
}

@media (min-width: 640px) {
    .lxf-gda__start {
        width: auto;
    }
}

/* ─── Progress bar ────────────────────────────────────────────────────── */

.lxf-gda__progress {
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__progress-label {
    font-family: var(--lxf-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
    margin: 0 0 var(--lxf-space-1);
}

.lxf-gda__progress-bar {
    height: 6px;
    background: var(--lxf-gray-200);
    border-radius: 999px;
    overflow: hidden;
}

.lxf-gda__progress-fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--lxf-blue), var(--lxf-navy));
    transition: width var(--lxf-trans-std);
}

/* ─── Question ────────────────────────────────────────────────────────── */

.lxf-gda__question {
    color: var(--lxf-navy);
    margin: 0 0 var(--lxf-space-2);
    line-height: 1.3;
}

.lxf-gda__help {
    color: var(--lxf-gray-500);
    font-size: 0.9375rem;
    margin: 0 0 var(--lxf-space-3);
    line-height: 1.55;
}

/* ─── Choice buttons ──────────────────────────────────────────────────── */

.lxf-gda__choices {
    display: flex;
    flex-direction: column;
    gap: var(--lxf-space-1);
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__choice {
    display: block;
    width: 100%;
    text-align: left;
    background: var(--lxf-white);
    border: 2px solid var(--lxf-gray-200);
    border-radius: var(--lxf-radius-md);
    padding: 0.875rem 1rem;
    font-family: var(--lxf-font-body);
    font-size: 1rem;
    color: var(--lxf-gray-900);
    cursor: pointer;
    line-height: 1.4;
    transition: border-color var(--lxf-trans-fast),
                background-color var(--lxf-trans-fast),
                color var(--lxf-trans-fast),
                transform var(--lxf-trans-fast);
}

.lxf-gda__choice:hover {
    border-color: var(--lxf-blue);
    background: var(--lxf-light-blue);
    color: var(--lxf-navy);
}

.lxf-gda__choice:focus-visible {
    outline: 3px solid var(--lxf-blue);
    outline-offset: 2px;
    border-color: var(--lxf-blue);
}

.lxf-gda__choice:active {
    transform: translateY(1px);
}

/* Checked (multi-select) state */
.lxf-gda__choice.is-checked {
    border-color: var(--lxf-blue);
    background: var(--lxf-light-blue);
    color: var(--lxf-navy);
    box-shadow: inset 0 0 0 1px var(--lxf-blue);
}

.lxf-gda__choice.is-checked:hover {
    background: #cfe2fb;
}

/* Continue button for multi-select questions */
.lxf-gda__continue {
    margin-top: var(--lxf-space-3);
    width: 100%;
}

@media (min-width: 640px) {
    .lxf-gda__continue {
        width: auto;
    }
}

/* ─── Back / restart row ──────────────────────────────────────────────── */

.lxf-gda__nav {
    display: flex;
    justify-content: space-between;
    gap: var(--lxf-space-2);
    flex-wrap: wrap;
    margin-top: var(--lxf-space-3);
}

.lxf-gda__nav-btn {
    background: transparent;
    border: 1px solid var(--lxf-gray-300);
    color: var(--lxf-gray-700);
    padding: 0.5rem 0.875rem;
    border-radius: var(--lxf-radius-md);
    font-family: var(--lxf-font-body);
    font-size: 0.875rem;
    cursor: pointer;
    transition: background-color var(--lxf-trans-fast), color var(--lxf-trans-fast), border-color var(--lxf-trans-fast);
}

.lxf-gda__nav-btn:hover {
    background: var(--lxf-gray-100);
    color: var(--lxf-navy);
    border-color: var(--lxf-gray-600);
}

.lxf-gda__nav-btn--ghost {
    border-color: transparent;
    color: var(--lxf-gray-500);
}

.lxf-gda__nav-btn--ghost:hover {
    background: transparent;
    color: var(--lxf-navy);
    text-decoration: underline;
}

/* ─── Result card — tone variants ─────────────────────────────────────── */

.lxf-gda__card--result {
    border-top: 4px solid var(--lxf-blue);
}

.lxf-gda__card--critical  { border-top-color: #b91c1c; }
.lxf-gda__card--urgent    { border-top-color: #c2410c; }
.lxf-gda__card--attention { border-top-color: #b45309; }
.lxf-gda__card--routine   { border-top-color: var(--lxf-blue); }
.lxf-gda__card--mild      { border-top-color: #047857; }

.lxf-gda__result-heading {
    color: var(--lxf-navy);
    margin: 0 0 var(--lxf-space-2);
    line-height: 1.25;
}

.lxf-gda__card--critical .lxf-gda__result-heading { color: #b91c1c; }

.lxf-gda__result-body {
    color: var(--lxf-gray-700);
    line-height: 1.6;
    margin: 0 0 var(--lxf-space-3);
}

/* ─── Actions row (CTAs) ──────────────────────────────────────────────── */

.lxf-gda__actions {
    display: flex;
    gap: var(--lxf-space-2);
    flex-wrap: wrap;
    margin: 0 0 var(--lxf-space-4);
}

.lxf-gda__actions .lxf-btn {
    flex: 1 1 auto;
    text-align: center;
    justify-content: center;
}

@media (min-width: 640px) {
    .lxf-gda__actions .lxf-btn {
        flex: 0 1 auto;
    }
}

/* Critical / emergency: primary CTA gets red treatment */
.lxf-gda__card--critical .lxf-btn--primary {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    box-shadow: 0 2px 8px rgba(185, 28, 28, 0.35);
}

.lxf-gda__card--critical .lxf-btn--primary:hover {
    background-color: #991b1b !important;
    border-color: #991b1b !important;
}

/* ─── Differential ────────────────────────────────────────────────────── */

.lxf-gda__differential {
    border-top: 1px solid var(--lxf-gray-200);
    padding-top: var(--lxf-space-3);
    margin-top: var(--lxf-space-3);
}

.lxf-gda__diff-heading {
    color: var(--lxf-navy) !important;
    margin: 0 0 var(--lxf-space-1);
}

.lxf-gda__diff-lede {
    color: var(--lxf-gray-500);
    font-size: 0.9375rem;
    margin: 0 0 var(--lxf-space-3);
    line-height: 1.55;
}

.lxf-gda__conditions {
    list-style: none;
    padding-inline-start: 0 !important;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--lxf-space-2);
}

.lxf-gda__condition {
    background: var(--lxf-blue-alt);
    border: 1px solid var(--lxf-light-blue);
    border-radius: var(--lxf-radius-md);
    padding: var(--lxf-space-3);
    position: relative;
}

.lxf-gda__condition-rank {
    position: absolute;
    top: var(--lxf-space-2);
    right: var(--lxf-space-2);
    background: var(--lxf-navy);
    color: var(--lxf-white);
    font-family: var(--lxf-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0.04em;
    margin: 0;
}

.lxf-gda__condition-name {
    color: var(--lxf-navy) !important;
    margin: 0 var(--lxf-space-5) var(--lxf-space-1) 0;
    line-height: 1.3;
}

.lxf-gda__condition-summary {
    color: var(--lxf-gray-700);
    line-height: 1.55;
    margin: 0 0 var(--lxf-space-2);
}

.lxf-gda__condition-matched {
    background: var(--lxf-white);
    border-radius: var(--lxf-radius-sm);
    padding: var(--lxf-space-2);
    margin: 0 0 var(--lxf-space-2);
}

.lxf-gda__condition-matched-heading {
    font-family: var(--lxf-font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
    margin: 0 0 var(--lxf-space-1);
}

.lxf-gda__condition-matched-list {
    list-style: disc;
    padding-inline-start: 1.25rem !important;
    margin: 0;
    color: var(--lxf-gray-700);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.lxf-gda__condition-matched-list li + li {
    margin-top: 0.25rem;
}

.lxf-gda__condition-link {
    display: inline-block;
    color: var(--lxf-blue-action);
    font-weight: 600;
    text-decoration: none;
    margin-top: var(--lxf-space-1);
    transition: color var(--lxf-trans-fast);
}

.lxf-gda__condition-link:hover {
    color: var(--lxf-navy);
    text-decoration: underline;
}

.lxf-gda__condition-note {
    color: var(--lxf-gray-500);
    font-size: 0.875rem;
    font-style: italic;
    margin-top: var(--lxf-space-1);
    margin-bottom: 0;
    line-height: 1.5;
}

/* ─── Result footer disclaimer ────────────────────────────────────────── */

.lxf-gda__result-disclaimer {
    margin: var(--lxf-space-3) 0 var(--lxf-space-2);
    color: var(--lxf-gray-500);
    font-size: 0.8125rem;
    line-height: 1.5;
    border-top: 1px solid var(--lxf-gray-200);
    padding-top: var(--lxf-space-2);
}

/* ─── Hero (tool centerpiece) ─────────────────────────────────────────── */
/*
 * Asymmetric 2-column hero block. Left = typography-driven content + Start
 * CTA; right = decorative mock-question preview suggesting the multi-step
 * flow. Light-blue contained block on the white section background — the
 * boundary signals "tool zone" without using a card that competes with
 * other content.
 *
 * On mobile (<768px) the hero stacks single-column and the preview drops
 * below the CTA at reduced opacity (so it still conveys "what comes next"
 * without crowding).
 */

.lxf-gum-disease-assessment {
    /* extra breathing room from the author bar above */
    padding-top: var(--lxf-space-8);
    padding-bottom: var(--lxf-space-8);
}

.lxf-gda__hero {
    background: linear-gradient(180deg, var(--lxf-light-blue) 0%, #e8f1ff 100%);
    border-radius: var(--lxf-radius-lg);
    padding: var(--lxf-space-5) var(--lxf-space-4);
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--lxf-space-5);
    position: relative;
    overflow: hidden;
}

@media (min-width: 900px) {
    .lxf-gda__hero {
        grid-template-columns: 1.15fr 0.85fr;
        gap: var(--lxf-space-6);
        padding: var(--lxf-space-6) var(--lxf-space-6);
        align-items: center;
    }
}

.lxf-gda__hero-content {
    max-width: 56ch;
}

@media (prefers-reduced-motion: no-preference) {
    .lxf-gda__hero-content > * {
        opacity: 0;
        transform: translateY(8px);
        animation: lxf-gda-rise 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    .lxf-gda__hero-content > *:nth-child(1) { animation-delay: 0.05s; }
    .lxf-gda__hero-content > *:nth-child(2) { animation-delay: 0.13s; }
    .lxf-gda__hero-content > *:nth-child(3) { animation-delay: 0.21s; }
    .lxf-gda__hero-content > *:nth-child(4) { animation-delay: 0.29s; }
    .lxf-gda__hero-content > *:nth-child(5) { animation-delay: 0.37s; }
    .lxf-gda__hero-content > *:nth-child(6) { animation-delay: 0.45s; }
    .lxf-gda__hero-preview {
        opacity: 0;
        transform: translateY(8px);
        animation: lxf-gda-rise 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
    }
}

@keyframes lxf-gda-rise {
    to { opacity: 1; transform: translateY(0); }
}

/* Eyebrow with pulse — signals interactivity */

.lxf-gda__hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-family: var(--lxf-font-body);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lxf-navy);
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__hero-pulse {
    width: 8px;
    height: 8px;
    border-radius: var(--lxf-radius-full);
    background: var(--lxf-blue);
    box-shadow: 0 0 0 0 rgba(70, 127, 247, 0.6);
    animation: lxf-gda-pulse 2.4s ease-out infinite;
}

@keyframes lxf-gda-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(70, 127, 247, 0.55); }
    70%  { box-shadow: 0 0 0 12px rgba(70, 127, 247, 0); }
    100% { box-shadow: 0 0 0 0 rgba(70, 127, 247, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .lxf-gda__hero-pulse { animation: none; }
}

/* Title */

.lxf-gda__hero-title {
    color: var(--lxf-navy);
    line-height: 1.05;
    margin: 0 0 var(--lxf-space-2);
}

@media (min-width: 900px) {
    .lxf-gda__hero-title {
        font-size: 3rem;
    }
}

/* Lead paragraph */

.lxf-gda__hero-lead {
    color: var(--lxf-gray-700);
    line-height: 1.65;
    margin: 0 0 var(--lxf-space-4);
    font-size: 1.0625rem;
}

/* Stats row */

.lxf-gda__hero-stats {
    list-style: none;
    padding-inline-start: 0 !important;
    margin: 0 0 var(--lxf-space-4);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(0, 37, 89, 0.12);
    border-bottom: 1px solid rgba(0, 37, 89, 0.12);
}

@media (min-width: 540px) {
    .lxf-gda__hero-stats { grid-template-columns: repeat(4, 1fr); }
}

.lxf-gda__hero-stats li {
    padding: var(--lxf-space-2) var(--lxf-space-3);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    border-right: 1px solid rgba(0, 37, 89, 0.12);
}

.lxf-gda__hero-stats li:first-child { padding-inline-start: 0; }

.lxf-gda__hero-stats li:nth-child(2),
.lxf-gda__hero-stats li:last-child { border-right: 0; }

@media (min-width: 540px) {
    .lxf-gda__hero-stats li:nth-child(2) { border-right: 1px solid rgba(0, 37, 89, 0.12); }
    .lxf-gda__hero-stats li:last-child { border-right: 0; }
}

.lxf-gda__hero-stat-num {
    font-family: var(--lxf-font-heading);
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--lxf-navy);
    line-height: 1;
    font-feature-settings: 'tnum' 1, 'lnum' 1;
}

.lxf-gda__hero-stat-label {
    font-family: var(--lxf-font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
    margin-top: 0.35rem;
}

/* CTA */

.lxf-gda__hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.95rem 1.5rem;
    font-size: 1.0625rem;
    border-radius: var(--lxf-radius-md);
    box-shadow: 0 6px 16px rgba(70, 127, 247, 0.28);
    transition: transform var(--lxf-trans-fast), box-shadow var(--lxf-trans-fast), background-color var(--lxf-trans-fast);
}

.lxf-gda__hero-cta:hover,
.lxf-gda__hero-cta:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(70, 127, 247, 0.34);
}

.lxf-gda__hero-cta:active {
    transform: translateY(1px);
    box-shadow: 0 4px 12px rgba(70, 127, 247, 0.28);
}

.lxf-gda__hero-cta svg {
    transition: transform var(--lxf-trans-fast);
}

.lxf-gda__hero-cta:hover svg {
    transform: translateX(3px);
}

/* Meta line below CTA */

.lxf-gda__hero-meta {
    font-family: var(--lxf-font-body);
    font-size: 0.875rem;
    color: var(--lxf-gray-600);
    margin: var(--lxf-space-2) 0 0;
    line-height: 1.55;
}

.lxf-gda__hero-meta strong {
    color: var(--lxf-navy);
    font-weight: 600;
}

/* ─── Preview card (decorative mock of the question UI) ──────────────── */

.lxf-gda__hero-preview {
    position: relative;
    perspective: 1200px;
}

.lxf-gda__preview-card {
    background: var(--lxf-white);
    border: 1px solid var(--lxf-gray-200);
    border-radius: var(--lxf-radius-lg);
    padding: var(--lxf-space-3);
    box-shadow: 0 18px 40px -16px rgba(0, 37, 89, 0.22);
    position: relative;
    z-index: 2;
    pointer-events: none;
    user-select: none;
}

@media (min-width: 900px) {
    .lxf-gda__preview-card {
        transform: rotate(-1.4deg);
    }
}

/* Stacked-card depth — second card peeking out behind */
.lxf-gda__preview-stack {
    position: absolute;
    inset: 14px -10px -14px 14px;
    background: var(--lxf-white);
    border: 1px solid var(--lxf-gray-200);
    border-radius: var(--lxf-radius-lg);
    z-index: 1;
    opacity: 0.55;
    box-shadow: 0 12px 32px -16px rgba(0, 37, 89, 0.12);
}

@media (min-width: 900px) {
    .lxf-gda__preview-stack { transform: rotate(2deg); }
}

.lxf-gda__preview-progress {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin-bottom: var(--lxf-space-2);
}

.lxf-gda__preview-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--lxf-radius-full);
    background: var(--lxf-gray-200);
}

.lxf-gda__preview-dot--done { background: var(--lxf-navy); }

.lxf-gda__preview-dot--active {
    background: var(--lxf-blue);
    box-shadow: 0 0 0 3px rgba(70, 127, 247, 0.18);
}

.lxf-gda__preview-dot-rest {
    font-family: var(--lxf-font-body);
    font-size: 0.6875rem;
    color: var(--lxf-gray-600);
    margin-left: 0.25rem;
}

.lxf-gda__preview-counter {
    font-family: var(--lxf-font-body);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
    margin: 0 0 0.35rem;
}

.lxf-gda__preview-question {
    font-family: var(--lxf-font-heading);
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--lxf-navy);
    line-height: 1.2;
    margin: 0 0 var(--lxf-space-2);
}

.lxf-gda__preview-choices {
    list-style: none;
    padding-inline-start: 0 !important;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lxf-gda__preview-choices li {
    background: var(--lxf-white);
    border: 1.5px solid var(--lxf-gray-200);
    border-radius: var(--lxf-radius-md);
    padding: 0.5rem 0.875rem;
    font-family: var(--lxf-font-body);
    font-size: 0.875rem;
    color: var(--lxf-gray-900);
}

.lxf-gda__preview-choice--hover {
    border-color: var(--lxf-blue) !important;
    background: var(--lxf-light-blue) !important;
    color: var(--lxf-navy) !important;
}

@media (max-width: 899px) {
    .lxf-gda__hero-preview {
        opacity: 0.85;
    }
    .lxf-gda__preview-stack { display: none; }
}

/* ─── Slim disclaimer (below hero) ────────────────────────────────────── */

.lxf-gda__hero-disclaimer {
    margin: var(--lxf-space-3) 0 0;
    font-family: var(--lxf-font-body);
    font-size: 0.875rem;
    color: var(--lxf-gray-500);
    line-height: 1.55;
    text-align: center;
}

.lxf-gda__hero-disclaimer strong {
    color: var(--lxf-gray-900);
}

.lxf-gda__hero-disclaimer a {
    color: #b91c1c;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}

/* ─── No-JS fallback ──────────────────────────────────────────────────── */

.lxf-gda__noscript {
    margin-top: var(--lxf-space-3);
    padding: var(--lxf-space-2) var(--lxf-space-3);
    background: var(--lxf-gray-100);
    border-radius: var(--lxf-radius-md);
    font-size: 0.9375rem;
    color: var(--lxf-gray-700);
}

/* ─── Field-guide reference (editorial layout) ────────────────────────── */
/*
 * Each row is a hairline-divided 2-column entry: signature symptoms on the
 * left (what the patient brings to the visit), name + description + treatment
 * on the right. Asymmetric grid-template-columns: `1fr 1.6fr`. Mobile collapses
 * to single column with the symptoms reading first.
 *
 * No card boxes — the content carries its own weight and the typography is
 * the structure. Uses the existing brand colour palette only (navy + blue +
 * neutrals); no extra accent colours.
 */

.lxf-gda__reference {
    max-width: 1100px;
    margin: var(--lxf-space-8) auto 0;
}

.lxf-gda__reference-header {
    max-width: 720px;
    margin: 0 auto var(--lxf-space-5);
    text-align: center;
}

.lxf-gda__reference-heading {
    color: var(--lxf-navy) !important;
    margin: var(--lxf-space-1) 0 var(--lxf-space-2);
    line-height: 1.15;
}

.lxf-gda__reference-lede {
    color: var(--lxf-gray-700);
    line-height: 1.65;
    margin: 0;
    max-width: 60ch;
    margin-inline: auto;
}

.lxf-gda__reference-list {
    list-style: none;
    padding-inline-start: 0 !important;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* Each row */
.lxf-gda__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--lxf-space-3);
    padding: var(--lxf-space-5) 0;
    border-top: 1px solid var(--lxf-gray-200);
}

.lxf-gda__row:last-child {
    border-bottom: 1px solid var(--lxf-gray-200);
}

@media (min-width: 768px) {
    .lxf-gda__row {
        grid-template-columns: minmax(220px, 1fr) 1.6fr;
        gap: var(--lxf-space-6);
    }
}

/* ── Symptoms column (left) ── */

.lxf-gda__row-index {
    font-family: var(--lxf-font-body);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: var(--lxf-blue-action);
    margin: 0 0 var(--lxf-space-2);
    font-feature-settings: 'tnum' 1;
}

.lxf-gda__row-index span {
    color: var(--lxf-gray-600);
    font-weight: 400;
}

.lxf-gda__row-symptoms-label {
    font-family: var(--lxf-font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
    margin: 0 0 var(--lxf-space-2);
}

.lxf-gda__row-symptoms-list {
    list-style: none;
    padding-inline-start: 0 !important;
    margin: 0;
    color: var(--lxf-navy);
    font-family: var(--lxf-font-body);
    line-height: 1.5;
}

.lxf-gda__row-symptoms-list li {
    position: relative;
    padding-inline-start: 1.25rem;
    padding-block: 0.4rem;
    border-top: 1px dotted var(--lxf-gray-200);
}

.lxf-gda__row-symptoms-list li:first-child {
    border-top: 0;
    padding-top: 0;
}

.lxf-gda__row-symptoms-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.85rem;
    width: 6px;
    height: 6px;
    border-radius: var(--lxf-radius-full);
    background: var(--lxf-blue);
}

.lxf-gda__row-symptoms-list li:first-child::before {
    top: 0.45rem;
}

/* ── Detail column (right) ── */

.lxf-gda__row-name {
    color: var(--lxf-navy) !important;
    margin: 0 0 var(--lxf-space-2);
    line-height: 1.2;
}

.lxf-gda__row-description {
    color: var(--lxf-gray-700);
    line-height: 1.65;
    margin: 0 0 var(--lxf-space-3);
    max-width: 60ch;
}

.lxf-gda__row-treatment {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 var(--lxf-space-2);
}

.lxf-gda__row-treatment-label {
    font-family: var(--lxf-font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lxf-gray-500);
}

.lxf-gda__row-treatment-link {
    color: var(--lxf-navy);
    font-family: var(--lxf-font-body);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--lxf-blue);
    padding-bottom: 1px;
    transition: color var(--lxf-trans-fast), border-color var(--lxf-trans-fast);
}

.lxf-gda__row-treatment-link:hover {
    color: var(--lxf-blue-action);
    border-color: var(--lxf-navy);
}

.lxf-gda__row-treatment-name {
    color: var(--lxf-navy);
    font-family: var(--lxf-font-body);
    font-weight: 600;
}

/* ─── Bottom emergency CTA block ──────────────────────────────────────── */

.lxf-gda__emergency {
    max-width: 720px;
    margin: var(--lxf-space-6) auto 0;
    text-align: center;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--lxf-radius-lg);
    padding: var(--lxf-space-4);
}

.lxf-gda__emergency-heading {
    color: #b91c1c !important;
    margin: 0 0 var(--lxf-space-2);
    line-height: 1.25;
}

.lxf-gda__emergency-body {
    color: var(--lxf-gray-700);
    line-height: 1.6;
    margin: 0 0 var(--lxf-space-3);
}

.lxf-gda__emergency-btn.lxf-btn--primary {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    box-shadow: 0 2px 8px rgba(185, 28, 28, 0.35);
    font-size: 1.0625rem;
    padding: 0.85rem 1.5rem;
}

.lxf-gda__emergency-btn.lxf-btn--primary:hover {
    background-color: #991b1b !important;
    border-color: #991b1b !important;
}

/* ─── Reduced-motion ──────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .lxf-gda__progress-fill,
    .lxf-gda__choice,
    .lxf-gda__nav-btn,
    .lxf-gda__condition-link {
        transition: none;
    }
}

.lxf-gda__question:focus-visible,
.lxf-gda__result-heading:focus-visible {
    outline: 3px solid var(--lxf-blue-action);
    outline-offset: 4px;
}
