/*! spipWysiwyg — styles (Bootstrap 5 + Font Awesome 6)
 *  Apparence allégée : boutons ronds gris clair au-dessus d'une zone de saisie aux coins arrondis.
 *  Personnalisation : surcharger les variables ci-dessous, ex. .sw { --sw-radius: 8px; --sw-height: 400px; } */
.sw{
  --sw-text:#212529;            /* texte */
  --sw-muted:#6c757d;           /* texte secondaire, indicatif */
  --sw-icon:#495057;            /* icônes de la barre */
  --sw-btn:#f5f6f7;             /* fond des boutons */
  --sw-btn-hover:#e9ecef;
  --sw-border:#dee2e6;          /* bordure de la zone de saisie */
  --sw-primary:#1C3260;         /* couleur primaire du site */
  --sw-red:#E8424C;             /* rouge du site */
  --sw-focus:#a4adc0;           /* bordure au focus */
  --sw-accent:var(--sw-primary);/* bouton actif, liens */
  --sw-soft:#e4e7ee;            /* fond d'un bouton actif */
  --sw-bg:#fff;                 /* fond de la zone de saisie */
  --sw-radius:1rem;             /* arrondi de la zone de saisie */
  --sw-height:300px;            /* hauteur initiale (redimensionnable) */
  --sw-btn-size:36px;
  /* Intertitre {{{…}}} */
  --sw-h-color:var(--sw-primary);
  --sw-h-bar:var(--sw-red);
  /* Poésie <poesie> */
  --sw-poesie:var(--sw-primary);
  position:relative;color:var(--sw-text)
}

/* ---------- Barre d'outils ---------- */
.sw-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}
.sw-group{display:inline-flex;gap:2px}
.sw-btn{height:var(--sw-btn-size);min-width:var(--sw-btn-size);padding:0;border:0;border-radius:50rem;
  background:var(--sw-btn);color:var(--sw-icon);cursor:pointer;font-size:15px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s,color .15s}
.sw-btn:hover{background:var(--sw-btn-hover)}
.sw-btn:focus-visible{outline:2px solid var(--sw-focus);outline-offset:1px}
.sw-btn.is-on,.sw-btn.show{background:var(--sw-soft);color:var(--sw-accent)}
.sw-btn:disabled{cursor:default;background:var(--sw-btn);color:var(--sw-icon);opacity:.35}
.sw-btn.dropdown-toggle{padding:0 14px 0 16px}
.sw-btn.dropdown-toggle::after{margin-left:0;border-top-width:.36em;border-right-width:.32em;border-left-width:.32em}
.sw-txt{font:600 11px/1 system-ui,sans-serif;letter-spacing:.02em}

/* Menus déroulants */
.sw .dropdown-menu{--bs-dropdown-min-width:0;z-index:20;border:0;border-radius:1rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.12)}
.sw-menu-icons{padding:6px}
.sw-menu-icons.show{display:flex;gap:4px}

/* Sélecteur de taille de tableau */
.sw-gridmenu{padding:10px}
.sw-grid-cells{display:grid;grid-template-columns:repeat(8,18px);gap:3px}
.sw-grid-cells span{width:18px;height:18px;border:1px solid #d5dae0;border-radius:4px;background:#fff;cursor:pointer}
.sw-grid-cells span.on{background:var(--sw-soft);border-color:var(--sw-accent)}
.sw-grid-label{font-size:12px;color:var(--sw-muted);text-align:center;margin-top:6px}

/* Emojis */
.sw-emoji{width:340px;max-width:calc(100vw - 32px);padding:12px}
.sw-emoji-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.sw-emoji-tabs .nav-link{padding:4px 7px;font-size:17px;line-height:1.2;border-radius:10px 10px 0 0;cursor:pointer}
.sw-emoji-tabs .nav-link i{font-size:14px;color:var(--sw-muted)}
.sw-emoji-head{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sw-muted);margin:8px 2px 4px}
.sw-emoji-grid{max-height:250px;overflow:auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px;padding-top:2px}
.sw-emoji-item{width:36px;height:36px;font-size:22px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;cursor:pointer;user-select:none}
.sw-emoji-item:hover,.sw-emoji-item.is-first{background:var(--sw-btn)}
.sw-emoji-grid.is-search .sw-emoji-item{width:100%;height:auto;justify-content:flex-start;gap:10px;padding:3px 8px;font-size:20px}
.sw-emoji-grid.is-search .sw-emoji-item small{font-size:12px;color:#555}
.sw-emoji-grid.is-search mark{padding:0;background:#d3f2dc;color:inherit}
.sw-emoji-empty{width:100%;text-align:center;color:var(--sw-muted);font-size:13px;padding:16px 0}

/* ---------- Zone de saisie ---------- */
.sw-editor,.sw-source{display:block;box-sizing:border-box;width:100%;height:var(--sw-height);min-height:120px;
  overflow:auto;resize:vertical;border:1px solid var(--sw-border);border-radius:var(--sw-radius);background:var(--sw-bg);
  transition:border-color .15s,box-shadow .15s}
.sw-editor{position:relative;padding:12px 16px;outline:none;line-height:1.6;font-size:1rem}
.sw-editor:focus,.sw-source:focus{border-color:var(--sw-focus);box-shadow:0 0 0 .2rem rgba(28,50,96,.08)}
.sw-editor.is-empty::before{content:attr(data-placeholder);position:absolute;pointer-events:none;color:var(--sw-muted)}
.sw-editor>:first-child{margin-top:0}
.sw-editor>:last-child{margin-bottom:0}
.sw-editor p{margin:0 0 1em}

/* Intertitre {{{…}}} — reproduit le rendu du site :
   <div class="mt-5"><div class="bg-red rounded-pill float-start mt-4 me-2" style="height:7px;width:35px"></div>
   <h2 class="spip text-uppercase fw-bold text-primary">…</h2></div>
   Le trait est un pseudo-élément : aucun balisage supplémentaire dans l'éditeur. */
.sw-editor h3{display:flow-root;margin:3rem 0 .5rem;font-size:calc(1.325rem + .9vw);line-height:1.2;
  font-weight:700;text-transform:uppercase;color:var(--sw-h-color)}
.sw-editor h3::before{content:"";float:left;width:35px;height:7px;margin:1.5rem .5rem 0 0;
  border-radius:50rem;background:var(--sw-h-bar)}
@media (min-width:1200px){.sw-editor h3{font-size:2rem}}

/* Citation <quote> */
.sw-editor blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid #c9d3df;background:#f7f9fb;color:#444}
.sw-editor blockquote p:last-child{margin-bottom:0}
/* Poésie <poesie> — rendu du site : <blockquote class="spip_poesie"> */
.sw-editor blockquote.spip_poesie{margin:1em 0;padding:1rem 0;border:0;border-top:2px solid var(--sw-poesie);
  border-bottom:2px solid var(--sw-poesie);background:none;text-align:center;font-style:normal;font-weight:bold;
  font-size:1.5em;color:var(--sw-poesie)}

.sw-editor pre{background:#1e2430;color:#e6e6e6;padding:12px 14px;border-radius:8px;
  font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap}
.sw-editor code{color:inherit;background:#f0f2f4;padding:1px 4px;border-radius:3px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em}
.sw-editor a{color:var(--sw-accent)}
.sw-editor ul,.sw-editor ol{margin:0 0 1em;padding-left:1.6em}

/* Alignements {{< <}} {{^ ^}} {{> >}} {{= =}} */
.sw-align{position:relative;border-left:2px dotted #c9d3df;padding-left:10px;margin-left:-12px}
.sw-align>:last-child{margin-bottom:0}
.sw-align+*{margin-top:1em}

/* Tableaux */
.sw-editor table{border-collapse:collapse;margin:1em 0;min-width:50%}
.sw-editor td,.sw-editor th{border:1px solid var(--sw-border);padding:6px 10px;min-width:80px;vertical-align:top}
.sw-editor th{background:var(--sw-btn);text-align:left}
.sw-editor caption{caption-side:top;text-align:left;font-style:italic;color:#555;padding:0 0 6px}
.sw-editor table.is-active{outline:2px solid var(--sw-soft);outline-offset:2px}
.sw-editor .sw-cell-on{background:#f3f8fd}
.sw-editor th.sw-cell-on{background:#e8f0fa}
.sw-editor td.sw-cell-sel,.sw-editor th.sw-cell-sel{background:var(--sw-soft);box-shadow:inset 0 0 0 1px var(--sw-accent)}

/* Séparateur ---- */
.sw-hr{position:relative;padding:10px 34px 10px 0;margin:.6em 0;cursor:pointer;user-select:none;border-radius:6px}
.sw-hr hr{margin:0;border:0;border-top:2px solid var(--sw-border);opacity:1;color:inherit}
.sw-hr:hover hr{border-top-color:#b8c2cc}
.sw-hr.is-selected{background:#f3f8fd}
.sw-hr.is-selected hr{border-top-color:var(--sw-accent)}
.sw-hr-del{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;
  border:0;background:var(--sw-btn);color:var(--sw-red);opacity:0;cursor:pointer;font-size:11px;
  display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}
.sw-hr:hover .sw-hr-del,.sw-hr.is-selected .sw-hr-del{opacity:1}
.sw-hr-del:hover{background:#fdecec}

/* Barre contextuelle des tableaux */
.sw-tbar{position:absolute;z-index:4;display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:4px;max-width:calc(100% - 16px);
  background:#fff;border-radius:50rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.14);font-size:12px}
.sw-tbar[hidden]{display:none}
.sw-tbar .sw-lbl{color:var(--sw-muted);padding:0 2px 0 8px}
.sw-tbar .sw-sep{width:1px;align-self:stretch;background:var(--sw-border);margin:4px}
.sw-tbtn{height:28px;min-width:28px;padding:0 8px;border:0;border-radius:50rem;background:transparent;cursor:pointer;color:var(--sw-icon);
  font-size:12px;display:inline-flex;gap:5px;align-items:center;justify-content:center;white-space:nowrap}
.sw-tbtn:hover{background:var(--sw-btn)}
.sw-tbtn.is-on{background:var(--sw-soft);color:var(--sw-accent)}
.sw-tbtn.danger:hover{background:#fdecec;color:var(--sw-red)}
.sw-tbtn:disabled{opacity:.35;cursor:default;background:transparent}

/* Îlots protégés et vue source */
.spip-raw{display:inline-block;padding:0 6px;margin:0 1px;border-radius:4px;background:#fff4d6;
  border:1px dashed #e0b84c;color:#7a5a00;font:12px/1.7 ui-monospace,Menlo,monospace;font-weight:normal;cursor:default;user-select:all}
.sw-source{padding:12px 16px;font:13px/1.6 ui-monospace,Menlo,monospace;outline:none;background:#fbfbfc;color:var(--sw-text)}

/* <small> / <big> */
.sw-editor small{font-size:.875em}   /* comme Bootstrap */
.sw-editor big{font-size:1.25em}
.sw-txt-mark{font-size:.85em;margin-left:1px}
