.af-element{border:1px solid var(--bord);background:var(--surface);border-radius:1rem;transition:border-color .25s,box-shadow .3s,background-color .3s;position:relative;overflow:hidden}.af-element:before{content:"";background:var(--or-brillant);transform-origin:top;pointer-events:none;width:3px;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;inset-block:0;inset-inline-start:0;transform:scaleY(0)}.af-element[data-ouvert]{border-color:color-mix(in srgb, var(--menthe) 45%, var(--bord));background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--menthe-pale) 45%, var(--surface)) 100%);box-shadow:var(--ombre-douce)}.af-element[data-ouvert]:before,.af-element:focus-within:before{transform:scaleY(1)}@media (hover:hover){.af-element:hover{border-color:color-mix(in srgb, var(--menthe) 55%, var(--bord));box-shadow:var(--ombre-survol)}.af-element:hover:before{transform:scaleY(1)}}.af-bouton{text-align:start;width:100%;color:var(--texte);cursor:pointer;border-radius:inherit;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-weight:600;display:flex}.af-bouton:focus-visible{outline:2px solid var(--menthe-fonce);outline-offset:-2px}.af-icone{background:var(--menthe-pale);width:2rem;height:2rem;color:var(--menthe-fonce);border-radius:9999px;flex-shrink:0;place-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background-color .25s,color .25s;display:grid}.af-icone svg{width:1rem;height:1rem}.af-element[data-ouvert] .af-icone{background:var(--menthe);color:var(--nuit);transform:rotate(135deg)}@media (hover:hover){.af-element:not([data-ouvert]) .af-bouton:hover .af-icone{transform:rotate(90deg)scale(1.08)}}.af-panneau{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1);display:grid}.af-element[data-ouvert] .af-panneau{grid-template-rows:1fr}.af-contenu{min-height:0;overflow:hidden}.af-texte{color:var(--texte-doux);overflow-wrap:anywhere;opacity:0;padding:0 1.25rem 1.1rem;font-size:.875rem;line-height:1.65;transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1);transform:translateY(-6px)}.af-element[data-ouvert] .af-texte{opacity:1;transition-delay:80ms;transform:none}@media (prefers-reduced-motion:reduce){.af-element,.af-element:before,.af-icone,.af-panneau,.af-texte{transition:none!important}.af-texte{transform:none}}
