/* Widgets reconstitues sans The Plus Pro / Elementor Pro - abcinfo.ch */

/* Unfold (carte depliante) */
.abc-unfold{position:relative}
.abc-unfold-contenu{overflow:hidden;position:relative;transition:max-height .4s ease}
.abc-unfold-contenu p{text-align:justify;margin:0 1em 1em}
.abc-unfold-contenu p:first-child{font-weight:600;margin-top:2em;text-align:left}
.abc-unfold:not(.abc-unfold-ouvert) .abc-unfold-contenu:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.abc-unfold-bouton{display:inline-flex;align-items:center;gap:8px;margin:2em;padding:1px 8px 0 7px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.abc-unfold-bouton:hover{background:#000;color:#fff}
.abc-unfold-bouton svg{width:12px;height:12px;fill:currentColor;transition:transform .3s}
.abc-unfold-ouvert .abc-unfold-bouton svg{transform:rotate(180deg)}
@media (max-width:1024px){.abc-unfold-contenu p{font-size:14px}}

/* Table des matieres (The Plus « Table of Content »), fixee en bas a droite comme sur l'original */
.abc-toc{position:fixed;right:0;bottom:0;z-index:4;background:#FF0000;color:#fff;font-family:Consolas,monospace;font-weight:500;font-size:14px;max-width:320px}
.abc-toc-titre{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;cursor:pointer;margin:0;font:inherit;color:inherit;background:none;border:0;width:100%;text-align:left}
.abc-toc-titre:after{content:"\25BE";transition:transform .3s}
.abc-toc.abc-toc-ferme .abc-toc-titre:after{transform:rotate(180deg)}
.abc-toc ul{list-style:none;margin:0;padding:0 12px 10px;max-height:50vh;overflow:auto}
.abc-toc.abc-toc-ferme ul{display:none}
.abc-toc li{margin:2px 0}
.abc-toc a{color:inherit;text-decoration:none}
.abc-toc a:hover{text-decoration:underline}
.abc-toc .abc-toc-hash{opacity:.7;margin-right:4px}

/* Widget global (image « Haut ») */
.abc-global-image figcaption{font-size:12px;text-align:center;margin-top:4px}

/* Menu de navigation (Elementor Pro « Nav Menu ») */
.e-con > .elementor-widget-nav-menu,.e-con > .elementor-widget-gallery{width:auto;flex:0 0 auto;max-width:100%}
.abc-nav .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:.4em 1.6em;list-style:none;margin:0;padding:0;min-width:max-content}
.abc-nav .elementor-item{text-decoration:none;color:inherit;padding:.3em 0;display:inline-block}
.abc-nav .elementor-item:hover{text-decoration:underline}
@media (max-width:767px){.abc-nav .elementor-nav-menu{flex-direction:column;gap:.2em}}
/* version compacte (conteneur etroit) : bouton, liste flottante */
.abc-nav-compact{position:relative}
.abc-nav-bouton{border:0;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:2px}
.abc-nav-compact .elementor-nav-menu{display:none;position:absolute;left:100%;bottom:0;flex-direction:column;gap:.2em;background:#fff;border:1px solid #ddd;padding:8px 12px;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.15);white-space:nowrap}
.abc-nav-compact.abc-nav-ouvert .elementor-nav-menu{display:flex}

/* Galerie (Elementor Pro « Gallery ») */
.abc-galerie{display:grid;grid-template-columns:repeat(var(--abc-cols,4),1fr);gap:10px}
.abc-galerie-item img{width:100%;height:auto;display:block}
@media (max-width:767px){.abc-galerie{grid-template-columns:repeat(2,1fr)}}
