.bloc-faq {
width: 100%;
min-height: 800px;
--bfaq-font-size-categories: var(--wp--preset--font-size--2, 0.938rem);
--bfaq-font-size-titles: var(--wp--preset--font-size--5, 1.25rem);
--bfaq-font-family: var(--wp--preset--font-family--cera-pro, inherit);
--bfaq-categories-opacity-searching: 0.2;
} .bloc-faq__layout {
display: grid;
grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
gap: var(--wp--preset--spacing--5, 32px);
align-items: start;
}
.bloc-faq__aside {
position: sticky;
top: 24px;
align-self: start;
}
.bloc-faq.is-editor .bloc-faq__aside {
position: static;
}
.bloc-faq__search {
display: grid;
gap: 8px;
margin-bottom: var(--wp--preset--spacing--4, 24px);
}
.is-searching .bloc-faq__search {
margin-bottom: var(--wp--preset--spacing--2, 16px);
}
.bloc-faq__search-hint {
margin: -12px 0 var(--wp--preset--spacing--4, 24px);
font-size: 14px;
font-family: var(--bfaq-font-family);
opacity: 0.75;
}
.bloc-faq__search-label {
font-weight: 700;
font-size: var(--bfaq-font-size-titles);
font-family: var(--bfaq-font-family);
}
.bloc-faq__search-input {
width: 100%;
padding: 12px 14px;
border-radius: 10px;
border: 1px solid rgba(0, 0, 0, 0.14);
background: rgba(0, 0, 0, 0.03);
font-size: var(--bfaq-font-size-categories);
font-family: var(--bfaq-font-family);
}
.bloc-faq__cats-title {
margin: 0 0 10px;
font-weight: 700;
font-size: var(--bfaq-font-size-titles);
font-family: var(--bfaq-font-family);
}
.bloc-faq__cats-list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 0;
}
.bloc-faq__cat-btn {
width: 100%;
text-align: left;
position: relative;
padding: 12px 0;
border-radius: 0;
border: 0;
border-bottom: 1px solid var(--wp--preset--color--default, #000);
background: var(--wp--preset--color--white, #fff);
cursor: pointer;
font-weight: 700;
color: var(--wp--preset--color--default, #000);
font-size: var(--bfaq-font-size-categories);
font-family: var(--bfaq-font-family);
text-transform: uppercase;
transition: color 0.2s ease;
}
.bloc-faq__cat-btn:hover,
.bloc-faq__cat-btn:focus-visible {
color: var(--wp--preset--color--primary, currentColor);
}
.bloc-faq__cat-btn.is-active {
background: var(--wp--preset--color--primary, #000);
color: var(--wp--preset--color--white, #fff);
padding-left: 14px;
padding-right: 34px;
}
.bloc-faq__cat-btn.is-active::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: -18px;
width: 18px;
background: var(--wp--preset--color--primary, #000);
clip-path: polygon(0 0, 100% 50%, 0 100%);
pointer-events: none;
}
.bloc-faq__content {
display: flex;
flex-direction: column;
gap: var(--wp--preset--spacing--4, 24px);
}
.bloc-faq__panel-title {
margin: 0 0 var(--wp--preset--spacing--1, 16px);
font-family: var(--bfaq-font-family);
font-size: var(--wp--preset--font-size--6);
font-weight: 700;
}
.bloc-faq__items {
display: grid;
gap: 0;
}
.bloc-faq__item {
padding: 0;
border-radius: 0;
border: 0;
border-bottom: 1px solid var(--wp--preset--color--default, #000);
background: var(--wp--preset--color--white, #fff);
overflow: hidden;
interpolate-size: allow-keywords;
}
.bloc-faq__question {
position: relative;
display: flex;
align-items: center;
padding: var(--wp--preset--spacing--2, 12px) 0;
padding-right: 36px;
cursor: pointer;
font-size: var(--wp--preset--font-size--4, 1.125rem);
font-weight: 700;
color: var(--wp--preset--color--default, #000);
line-height: 1.2;
list-style: none;
transition: color 0.3s ease, background-color 0.3s ease;
}
.bloc-faq__question:hover,
.bloc-faq__question:focus-visible {
color: var(--wp--preset--color--primary, currentColor);
}
.bloc-faq__question::-webkit-details-marker {
display: none;
}
.bloc-faq__question::marker {
content: '';
}
.bloc-faq__question::after {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
content: '';
width: 20px;
height: 20px;
flex-shrink: 0;
margin-left: auto;
background-image:
linear-gradient(var(--wp--preset--color--default, #000), var(--wp--preset--color--default, #000)),
linear-gradient(var(--wp--preset--color--default, #000), var(--wp--preset--color--default, #000));
background-position: center, center;
background-size: 100% 2px, 2px 100%;
background-repeat: no-repeat;
transition: background-size 0.3s ease;
}
.bloc-faq__item[open] > .bloc-faq__question::after {
background-size: 100% 2px, 2px 0;
}
.bloc-faq__question + * {
margin: 0;
}
.bloc-faq__item > *:last-child {
padding-bottom: var(--wp--preset--spacing--2, 12px);
}
.bloc-faq__item::details-content {
height: 0;
overflow: clip;
transition: height 0.3s ease, content-visibility 0.3s allow-discrete;
}
.bloc-faq__item[open]::details-content {
height: auto;
}
@starting-style {
.bloc-faq__item[open]::details-content {
height: 0;
}
}
.bloc-faq__answer {
padding: 0 0 var(--wp--preset--spacing--2, 12px);
}
.bloc-faq__answer > :first-child {
margin-top: 0;
}
.bloc-faq__answer > :last-child {
margin-bottom: 0;
}
.bloc-faq__empty,
.bloc-faq__no-results {
margin: 0;
opacity: 0.75;
}
.bloc-faq__no-results--global {
margin-top: var(--wp--preset--spacing--4, 24px);
}
.bloc-faq.is-searching .bloc-faq__cat-btn.is-active {
background: var(--wp--preset--color--white, #fff);
color: var(--wp--preset--color--default, #000);
padding-left: 0;
padding-right: 0;
}
.bloc-faq.is-searching .bloc-faq__cat-btn.is-active::after {
content: none;
}
.bloc-faq.is-searching .bloc-faq__cat-btn {
opacity: var(--bfaq-categories-opacity-searching);
}
@media (max-width: 900px) {
.bloc-faq__layout {
grid-template-columns: 1fr;
}
.bloc-faq__aside {
position: static;
}
}