/* Full width of its container by default (the widget's own Width setting in Avancé still overrides it) */
.elementor-widget-sqelm-faq {
    width: 100%;
}

.sqelm-faq {
    --sqelm-faq-icon: 9px;
    width: 100%;
}

.sqelm-faq__liste {
    display: flex;
    flex-direction: column;
}

.sqelm-faq__item {
    margin: 0;
}

/* Question row */
.sqelm-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    border: 2px solid #00000033;
    border-radius: 12px;
    background-color: #5652520d;
    cursor: pointer;
    list-style: none;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.sqelm-faq__question::-webkit-details-marker,
.sqelm-faq__question::marker {
    display: none;
    content: '';
}

.sqelm-faq--icone-gauche .sqelm-faq__question {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.sqelm-faq__question:focus {
    outline: none;
}

.sqelm-faq__question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
    border-radius: 2px;
}

.sqelm-faq__texte {
    flex: 1 1 auto;
    min-width: 0;
}

.sqelm-faq--icone-gauche .sqelm-faq__texte {
    flex: 0 1 auto;
}

/* Icon: swaps between the two icons */
.sqelm-faq__icone {
    flex: 0 0 auto;
    color: #00000033;
    transition: color 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--sqelm-faq-icon);
    height: var(--sqelm-faq-icon);
    line-height: 1;
}

.sqelm-faq__icone > span {
    display: inline-flex;
}

.sqelm-faq__icone i {
    font-size: var(--sqelm-faq-icon);
}

.sqelm-faq__icone svg {
    width: var(--sqelm-faq-icon);
    height: var(--sqelm-faq-icon);
    fill: currentColor;
}

.sqelm-faq__icone-fermer,
.sqelm-faq__item[open] .sqelm-faq__icone-ouvrir {
    display: none !important;
}

.sqelm-faq__item[open] .sqelm-faq__icone-fermer {
    display: inline-flex !important;
}

/* While closing, show the "closed" icon right away */
.sqelm-faq__item.is-closing .sqelm-faq__icone-ouvrir {
    display: inline-flex !important;
}

.sqelm-faq__item.is-closing .sqelm-faq__icone-fermer {
    display: none !important;
}

/* Answer: the panel is animated, the answer inside keeps its padding */
.sqelm-faq__panneau {
    overflow: hidden;
    display: flow-root; /* keeps the answer's top margin inside the animated panel */
    /* Takes the width of the question but never widens the FAQ:
       its content no longer counts when an auto-width container measures itself */
    width: 0;
    min-width: 100%;
}

.sqelm-faq__reponse {
    margin-top: 5px;
    padding: 22px;
    border: 2px solid #00000033;
    border-radius: 10px;
    background-color: #0000000d;
}

.sqelm-faq__reponse > :first-child {
    margin-top: 0;
}

.sqelm-faq__reponse > :last-child {
    margin-bottom: 0;
}

.sqelm-faq__reponse a {
    text-decoration: underline;
}

.sqelm-faq__aide {
    padding: 20px;
    border: 1px dashed #c4c4c4;
    font-size: 14px;
    color: #666;
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .sqelm-faq__question {
        transition: none;
    }
}
