/* Same native tooltip, three shared Harmonized reading layouts. */
:is(.ct-prototype-body,.ct-product) .tippy-box[data-copy-feedback] .tippy-content { min-inline-size:80px; text-align:center; }
:is(.ct-prototype-body,.ct-product) .tippy-box[data-theme="ctrial-description"][data-ct-tooltip-style] {
    width:340px;
    max-width:min(340px, calc(100vw - 32px)) !important;
    color:var(--ct-text);
    background:var(--ct-surface);
    border-color:var(--ct-border);
    font-family:'CTrial Inter', Inter, sans-serif;
    font-size:13px;
    line-height:20px;
    letter-spacing:-.01em;
}
:is(.ct-prototype-body,.ct-product) .tippy-box[data-ct-tooltip-style] > .tippy-content {
    padding:0;
    max-height:none;
    overflow:visible;
    white-space:normal;
}
.ct-description, .ct-description * { box-sizing:border-box; }
.ct-description { display:flex; flex-direction:column; max-height:min(var(--ct-tooltip-available-height, 480px), calc(100dvh - 34px)); }
.ct-description-header { display:flex; align-items:flex-start; gap:8px; flex-shrink:0; padding:12px 16px 0 12px; }
.ct-description-heading { min-width:0; padding-top:2px; }
.ct-description-title { display:block; color:var(--ct-text); }
/* Limit the reading body and leave the title/copy action outside the scroll area. */
:is(.ct-prototype-body,.ct-product) .ct-description-body { min-height:0; max-height:min(320px, 50dvh); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:12px 16px 16px; scrollbar-gutter:auto; }
.ct-description-body > * { margin:0; }
.ct-description-body > * + * { margin-top:12px; }
.ct-description-body strong { color:var(--ct-text); }
.ct-description-body ::selection { background:var(--ct-primary-soft); color:var(--ct-text); }
.ct-description-facts { display:flex; flex-wrap:wrap; gap:8px 20px; }
.ct-description-fact { display:flex; gap:6px; min-width:0; }
.ct-description-fact dt { color:var(--ct-muted); }
.ct-description-fact dd { margin:0; font-variant-numeric:tabular-nums; }
.ct-description-section h3 { margin:0 0 4px; color:var(--ct-text); }
.ct-description-section-content p { margin:0; }
.ct-description-section-content :is(ul, ol) { margin:4px 0 0; padding-inline-start:18px; }
.ct-description-section-content ul { list-style:disc; }
.ct-description-section-content ol { list-style:decimal; }
.ct-description-section-content li + li { margin-top:2px; }

/* Facts: aligned labels and values, matching the record details convention. */
:is(.ct-prototype-body,.ct-product) .tippy-box[data-ct-tooltip-style="facts"] { width:380px; max-width:min(380px, calc(100vw - 32px)) !important; }
[data-ct-tooltip-style="facts"] .ct-description-header { align-items:center; padding:12px; border-bottom:1px dashed var(--ct-border); }
[data-ct-tooltip-style="facts"] .ct-description-heading { padding:0; }
[data-ct-tooltip-style="facts"] .ct-description-facts { display:block; }
[data-ct-tooltip-style="facts"] .ct-description-fact { display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px; padding:6px 0; }
[data-ct-tooltip-style="facts"] .ct-description-fact + .ct-description-fact { border-top:1px dashed var(--ct-border); }
[data-ct-tooltip-style="facts"] .ct-description-section { display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px; }
[data-ct-tooltip-style="facts"] .ct-description-section h3 { color:var(--ct-muted); font-weight:400; }

/* Sections: the shared heading/body rhythm with open groups and subtle dividers. */
:is(.ct-prototype-body,.ct-product) .tippy-box[data-ct-tooltip-style="sections"] { width:360px; max-width:min(360px, calc(100vw - 32px)) !important; }
[data-ct-tooltip-style="sections"] .ct-description-header { align-items:center; padding:12px; border-bottom:1px solid var(--ct-border); background:var(--ct-subtle); border-radius:5px 5px 0 0; }
[data-ct-tooltip-style="sections"] .ct-description-heading { padding:0; }
[data-ct-tooltip-style="sections"] .ct-description-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
[data-ct-tooltip-style="sections"] .ct-description-fact { display:block; }
[data-ct-tooltip-style="sections"] .ct-description-fact dt { font-size:12px; line-height:18px; margin-bottom:2px; }
[data-ct-tooltip-style="sections"] .ct-description-section { padding-top:12px; border-top:1px dashed var(--ct-border); }
@media (pointer:coarse) {
    .ct-description-header { align-items:center; }
}
