88 lines
1.7 KiB
CSS
88 lines
1.7 KiB
CSS
/*
|
|
* FAQ entry: collapsible on mobile, static heading + expanded answer on
|
|
* desktop. The split is pure CSS (Docusaurus breakpoint: 996px) so there is
|
|
* no hydration flash. The answer is always rendered into the DOM, so search
|
|
* engines and the docs AI bot can read it regardless of layout or state.
|
|
*/
|
|
|
|
.item {
|
|
scroll-margin-top: calc(var(--ifm-navbar-height) + 1rem);
|
|
}
|
|
|
|
.heading {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Mobile: the heading text is a full-width clickable toggle row. */
|
|
.toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.6rem;
|
|
width: 100%;
|
|
padding: 0.85rem 0;
|
|
border: none;
|
|
border-bottom: 1px solid var(--ifm-color-emphasis-200);
|
|
background: none;
|
|
color: inherit;
|
|
font: inherit;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.toggle::before {
|
|
content: "";
|
|
flex: 0 0 auto;
|
|
width: 0.5rem;
|
|
height: 0.5rem;
|
|
border-right: 2px solid currentColor;
|
|
border-bottom: 2px solid currentColor;
|
|
transform: rotate(-45deg);
|
|
transition: transform var(--ifm-transition-fast, 200ms) ease;
|
|
}
|
|
|
|
.item[data-open] .toggle::before {
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
.content {
|
|
display: none;
|
|
padding: 0 0 0.85rem;
|
|
}
|
|
|
|
.item[data-open] .content {
|
|
display: block;
|
|
}
|
|
|
|
/* Hide the hover hash link on mobile (no hover; avoids a stray empty line). */
|
|
.heading :global(.hash-link) {
|
|
display: none;
|
|
}
|
|
|
|
/* Desktop: render as a normal expanded heading + answer. */
|
|
@media (min-width: 997px) {
|
|
.heading {
|
|
margin: 1.75rem 0 0.5rem;
|
|
}
|
|
|
|
.toggle {
|
|
display: inline;
|
|
width: auto;
|
|
padding: 0;
|
|
border: none;
|
|
cursor: default;
|
|
}
|
|
|
|
.toggle::before {
|
|
display: none;
|
|
}
|
|
|
|
.content {
|
|
display: block;
|
|
padding: 0;
|
|
}
|
|
|
|
.heading :global(.hash-link) {
|
|
display: inline;
|
|
}
|
|
}
|