/********************************************************\
 *
 * Extension Html pour le framework AKTONE
 *
 * Gestion des entités Html
 * et composants principaux pour la mise en page
 *
 * © april 2011 - 2024	/ All rights reserved
 * NETLAB && Samuel Tronçon
 *
\********************************************************/
/* Par défaut : aktone-bloc-corps est en row (existant) */

/* Empile en dessous de sm (576px) */
@media (max-width: 575.98px) {
  .aktone-bloc-corps.aktone-pile-sm > * { flex: 0 0 100%; }
}
/* Empile en dessous de md (768px) — le plus courant */
@media (max-width: 767.98px) {
  .aktone-bloc-corps.aktone-pile-md > * { flex: 0 0 100%; }
}
/* Empile en dessous de lg (992px) */
@media (max-width: 991.98px) {
  .aktone-bloc-corps.aktone-pile-lg > * { flex: 0 0 100%; }
}
/******************************************************************************/
/* TYPOGRAPHIE
/******************************************************************************/
body {
  font-family: "ak-screen-texte", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--ak-font-base);
  font-weight: var(--ak-font-weight);
  line-height: var(--ak-line-height);
  color: var(--ak-body-color);
  background-color: var(--ak-body-bg);

  /* Bootstrap 5 — composants calés sur le font-size de body
     1em = relatif à body → ils scalent quand aktone-font-base change
     Surchargé par autopublic.css pour les pages publiques */
  --bs-body-font-size:           var(--ak-font-base);
  --bs-btn-font-size:            1em;
  --bs-btn-font-size-sm:         0.875em;
  --bs-btn-font-size-lg:         1.125em;
  --bs-form-control-font-size:   1em;
  --bs-nav-link-font-size:       1em;
  --bs-navbar-brand-font-size:   1.125em;
  --bs-dropdown-font-size:       1em;

  /* Gouttière Bootstrap disponible globalement — colonnes fonctionnent
     avec ou sans .row parent (notamment dans aktone-bloc-corps) */
  --bs-gutter-x:                 var(--ak-ecart-unite);
  --bs-gutter-y:                 0;
}
h1, .h1       { font-size: var(--ak-h1); }
h2, .h2       { font-size: var(--ak-h2); }
h3, .h3       { font-size: var(--ak-h3); }
h4, .h4       { font-size: var(--ak-h4); }
h5, .h5       { font-size: var(--ak-h5); }
h6, .h6       { font-size: var(--ak-h6); }

.display-1    { font-size: var(--ak-display-1); }
.display-2    { font-size: var(--ak-display-2); }
.display-3    { font-size: var(--ak-display-3); }
.display-4    { font-size: var(--ak-display-4); }
.display-5    { font-size: var(--ak-display-5); }
.display-6    { font-size: var(--ak-display-6); }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "ak-screen-titraille", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.btn         { font-family: "ak-screen-actions", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.nav         { font-family: "ak-screen-actions", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.navbar      { font-family: "ak-screen-actions", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.panel-title { font-family: "ak-screen-actions", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; text-transform: uppercase; }

/******************************************************************************/
/* COULEURS BOOTSTRAP 5 — mappées depuis cssvars.php
/*
/* Niveau body : variables sémantiques BS5 (utilities bg-*, text-*, border-*)
/* Niveau composant : boutons, alertes, badges, nav-pills
/* default → secondary BS5 + classe .btn-default custom
/******************************************************************************/

/* --- Variables sémantiques BS5 sur body --- */
body {
  /* PRIMARY */
  --bs-primary:                    var(--primary-base);
  --bs-primary-rgb:                var(--primary-base-rgb);
  --bs-primary-bg-subtle:          var(--primary-subtle);
  --bs-primary-border-subtle:      var(--primary-hover);
  --bs-primary-text-emphasis:      var(--primary-hover);
  /* WARNING */
  --bs-warning:                    var(--warning-base);
  --bs-warning-rgb:                var(--warning-base-rgb);
  --bs-warning-bg-subtle:          var(--warning-subtle);
  --bs-warning-border-subtle:      var(--warning-hover);
  --bs-warning-text-emphasis:      var(--warning-hover);
  /* DANGER */
  --bs-danger:                     var(--danger-base);
  --bs-danger-rgb:                 var(--danger-base-rgb);
  --bs-danger-bg-subtle:           var(--danger-subtle);
  --bs-danger-border-subtle:       var(--danger-hover);
  --bs-danger-text-emphasis:       var(--danger-hover);
  /* SUCCESS */
  --bs-success:                    var(--success-base);
  --bs-success-rgb:                var(--success-base-rgb);
  --bs-success-bg-subtle:          var(--success-subtle);
  --bs-success-border-subtle:      var(--success-hover);
  --bs-success-text-emphasis:      var(--success-hover);
  /* INFO */
  --bs-info:                       var(--info-base);
  --bs-info-rgb:                   var(--info-base-rgb);
  --bs-info-bg-subtle:             var(--info-subtle);
  --bs-info-border-subtle:         var(--info-hover);
  --bs-info-text-emphasis:         var(--info-hover);
  /* SECONDARY (= default aktone) */
  --bs-secondary:                  var(--default-base);
  --bs-secondary-rgb:              var(--default-base-rgb);
  --bs-secondary-bg-subtle:        var(--default-subtle);
  --bs-secondary-border-subtle:    var(--default-hover);
  --bs-secondary-text-emphasis:    var(--default-texte);
  /* LINK */
  --bs-link-color:                 var(--primary-base);
  --bs-link-hover-color:           var(--primary-hover);
  
  /* BODY */
  --bs-body-color:                 var(--ak-body-color);
  --bs-body-bg:                    var(--ak-body-bg);

}

/* --- BOUTONS PLEINS --- */
.btn-primary {
  --bs-btn-color:              var(--primary-texte);
  --bs-btn-bg:                 var(--primary-base);
  --bs-btn-border-color:       var(--primary-base);
  --bs-btn-hover-color:        var(--primary-texte);
  --bs-btn-hover-bg:           var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary-hover);
  --bs-btn-focus-shadow-rgb:   var(--primary-base-rgb);
  --bs-btn-active-color:       var(--primary-texte);
  --bs-btn-active-bg:          var(--primary-hover);
  --bs-btn-active-border-color:var(--primary-hover);
  --bs-btn-disabled-bg:        var(--primary-base);
  --bs-btn-disabled-border-color:var(--primary-base);
}
.btn-warning {
  --bs-btn-color:              var(--warning-texte);
  --bs-btn-bg:                 var(--warning-base);
  --bs-btn-border-color:       var(--warning-base);
  --bs-btn-hover-color:        var(--warning-texte);
  --bs-btn-hover-bg:           var(--warning-hover);
  --bs-btn-hover-border-color: var(--warning-hover);
  --bs-btn-focus-shadow-rgb:   var(--warning-base-rgb);
  --bs-btn-active-color:       var(--warning-texte);
  --bs-btn-active-bg:          var(--warning-hover);
  --bs-btn-active-border-color:var(--warning-hover);
}
.btn-danger {
  --bs-btn-color:              var(--danger-texte);
  --bs-btn-bg:                 var(--danger-base);
  --bs-btn-border-color:       var(--danger-base);
  --bs-btn-hover-color:        var(--danger-texte);
  --bs-btn-hover-bg:           var(--danger-hover);
  --bs-btn-hover-border-color: var(--danger-hover);
  --bs-btn-focus-shadow-rgb:   var(--danger-base-rgb);
  --bs-btn-active-color:       var(--danger-texte);
  --bs-btn-active-bg:          var(--danger-hover);
  --bs-btn-active-border-color:var(--danger-hover);
}
.btn-success {
  --bs-btn-color:              var(--success-texte);
  --bs-btn-bg:                 var(--success-base);
  --bs-btn-border-color:       var(--success-base);
  --bs-btn-hover-color:        var(--success-texte);
  --bs-btn-hover-bg:           var(--success-hover);
  --bs-btn-hover-border-color: var(--success-hover);
  --bs-btn-focus-shadow-rgb:   var(--success-base-rgb);
  --bs-btn-active-color:       var(--success-texte);
  --bs-btn-active-bg:          var(--success-hover);
  --bs-btn-active-border-color:var(--success-hover);
}
.btn-info {
  --bs-btn-color:              var(--info-texte);
  --bs-btn-bg:                 var(--info-base);
  --bs-btn-border-color:       var(--info-base);
  --bs-btn-hover-color:        var(--info-texte);
  --bs-btn-hover-bg:           var(--info-hover);
  --bs-btn-hover-border-color: var(--info-hover);
  --bs-btn-focus-shadow-rgb:   var(--info-base-rgb);
  --bs-btn-active-color:       var(--info-texte);
  --bs-btn-active-bg:          var(--info-hover);
  --bs-btn-active-border-color:var(--info-hover);
}
.btn-secondary {
  --bs-btn-color:              var(--default-texte);
  --bs-btn-bg:                 var(--default-base);
  --bs-btn-border-color:       var(--default-hover);
  --bs-btn-hover-color:        var(--default-texte);
  --bs-btn-hover-bg:           var(--default-hover);
  --bs-btn-hover-border-color: var(--default-hover);
  --bs-btn-focus-shadow-rgb:   var(--default-base-rgb);
  --bs-btn-active-color:       var(--default-texte);
  --bs-btn-active-bg:          var(--default-hover);
  --bs-btn-active-border-color:var(--default-hover);
}
/* Classe historique BS3 — alias de secondary */
.btn-default {
  --bs-btn-color:              var(--default-texte);
  --bs-btn-bg:                 var(--default-base);
  --bs-btn-border-color:       var(--default-hover);
  --bs-btn-hover-color:        var(--default-texte);
  --bs-btn-hover-bg:           var(--default-hover);
  --bs-btn-hover-border-color: var(--default-hover);
  --bs-btn-active-color:       var(--default-texte);
  --bs-btn-active-bg:          var(--default-hover);
  --bs-btn-active-border-color:var(--default-hover);
}
/* --- BOUTONS OUTLINE --- */
.btn-outline-primary {
  --bs-btn-color:              var(--primary-base);
  --bs-btn-border-color:       var(--primary-base);
  --bs-btn-hover-color:        var(--primary-texte);
  --bs-btn-hover-bg:           var(--primary-base);
  --bs-btn-hover-border-color: var(--primary-base);
  --bs-btn-active-color:       var(--primary-texte);
  --bs-btn-active-bg:          var(--primary-base);
  --bs-btn-active-border-color:var(--primary-base);
}
.btn-outline-warning {
  --bs-btn-color:              var(--warning-base);
  --bs-btn-border-color:       var(--warning-base);
  --bs-btn-hover-color:        var(--warning-texte);
  --bs-btn-hover-bg:           var(--warning-base);
  --bs-btn-hover-border-color: var(--warning-base);
  --bs-btn-active-color:       var(--warning-texte);
  --bs-btn-active-bg:          var(--warning-base);
  --bs-btn-active-border-color:var(--warning-base);
}
.btn-outline-danger {
  --bs-btn-color:              var(--danger-base);
  --bs-btn-border-color:       var(--danger-base);
  --bs-btn-hover-color:        var(--danger-texte);
  --bs-btn-hover-bg:           var(--danger-base);
  --bs-btn-hover-border-color: var(--danger-base);
  --bs-btn-active-color:       var(--danger-texte);
  --bs-btn-active-bg:          var(--danger-base);
  --bs-btn-active-border-color:var(--danger-base);
}
.btn-outline-success {
  --bs-btn-color:              var(--success-base);
  --bs-btn-border-color:       var(--success-base);
  --bs-btn-hover-color:        var(--success-texte);
  --bs-btn-hover-bg:           var(--success-base);
  --bs-btn-hover-border-color: var(--success-base);
  --bs-btn-active-color:       var(--success-texte);
  --bs-btn-active-bg:          var(--success-base);
  --bs-btn-active-border-color:var(--success-base);
}
.btn-outline-info {
  --bs-btn-color:              var(--info-base);
  --bs-btn-border-color:       var(--info-base);
  --bs-btn-hover-color:        var(--info-texte);
  --bs-btn-hover-bg:           var(--info-base);
  --bs-btn-hover-border-color: var(--info-base);
  --bs-btn-active-color:       var(--info-texte);
  --bs-btn-active-bg:          var(--info-base);
  --bs-btn-active-border-color:var(--info-base);
}

/* --- ALERTES --- */
.alert-primary  { --bs-alert-color: var(--primary-hover);      --bs-alert-bg: var(--primary-subtle);   --bs-alert-border-color: var(--primary-hover); }
.alert-warning  { --bs-alert-color: var(--warning-hover);   --bs-alert-bg: var(--warning-subtle);   --bs-alert-border-color: var(--warning-hover); }
.alert-danger   { --bs-alert-color: var(--danger-hover);    --bs-alert-bg: var(--danger-subtle);    --bs-alert-border-color: var(--danger-hover); }
.alert-success  { --bs-alert-color: var(--success-hover);   --bs-alert-bg: var(--success-subtle);   --bs-alert-border-color: var(--success-hover); }
.alert-info     { --bs-alert-color: var(--info-hover);      --bs-alert-bg: var(--info-subtle);      --bs-alert-border-color: var(--info-hover); }
.alert-secondary{ --bs-alert-color: var(--default-texte); --bs-alert-bg: var(--default-subtle);   --bs-alert-border-color: var(--default-hover); }

/* --- BADGES --- */
.text-bg-primary  { background-color: var(--primary-base)   !important; color: var(--primary-texte)        !important; }
.text-bg-warning  { background-color: var(--warning-base)   !important; color: var(--warning-texte)        !important; }
.text-bg-danger   { background-color: var(--danger-base)    !important; color: var(--danger-texte)         !important; }
.text-bg-success  { background-color: var(--success-base)   !important; color: var(--success-texte)        !important; }
.text-bg-info     { background-color: var(--info-base)      !important; color: var(--info-texte)           !important; }
.text-bg-secondary{ background-color: var(--default-base)   !important; color: var(--default-texte)   !important; }

/* --- NAV PILLS --- */
.nav-pills {
  --bs-nav-pills-link-active-color: var(--primary-texte);
  --bs-nav-pills-link-active-bg:    var(--primary-base);
}

/* --- NAVBAR --- */
.navbar.bg-primary {
  background-color: var(--nav-base) !important;
  --bs-navbar-color:        var(--nav-texte);
  --bs-navbar-hover-color:  var(--nav-texte);
  --bs-navbar-active-color: var(--nav-texte);
  --bs-navbar-brand-color:  var(--nav-texte);
}
.navbar.bg-dark {
  background-color: var(--nav-base-defaut) !important;
  --bs-navbar-color:        var(--nav-texte);
  --bs-navbar-hover-color:  var(--nav-texte);
  --bs-navbar-active-color: var(--nav-texte);
  --bs-navbar-brand-color:  var(--nav-texte);
}

/******************************************************************************/
/* COMPOSANT MATRIX (html-intra)
/* Grille interne flexible pour formulaires et tableaux imbriqués
/******************************************************************************/
.html-intra {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
}
.html-intra-t {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
}
.html-intra-l {
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
}
.html-intra-c,
.html-intra-h {
  max-width: 100%;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
  padding-right: 5px;
}
.html-intra-c:last-child,
.html-intra-h:last-child { padding-right: 0; }
.html-intra-c .bs_form_groupe { width: 100%; }
.html-intra-txt { flex-direction: column; }
.html-intra-noflex { display: block; }

/* Actions alignées à droite dans la matrice */
.html-intra-x { flex: 1 1 auto; }
.html-intra-x.html-intra-xd {
  display: flex;
  justify-content: flex-end;
}
.html-intra-x.html-intra-xd .btn,
.html-intra-x.html-intra-xd .bs_btngrp { flex-shrink: 0; }

/* Espacement identique table/matrice */
.html-intra-form .html-intra-c,
.html-intra-form .html-intra-h,
.html-intra-form .html-intra-x        { padding: calc(var(--ak-ecart-unite) / 2); }
.html-intra-form .html-intra-c:first-child,
.html-intra-form .html-intra-h:first-child { padding-left: 0; }
.html-intra-form .html-intra-c:last-child,
.html-intra-form .html-intra-h:last-child  { padding-right: 0; }

/* Pas de bordure dans les cellules table */
td.html-intra-mono {
  border-width: 0 !important;
  padding: var(--ak-ecart-unite) 0 !important;
}

/* Version compacte */
.aktone-compact .html-intra-form .html-intra-c,
.aktone-compact .html-intra-form .html-intra-h,
.aktone-compact .html-intra-form .html-intra-x { padding: 0; }

/******************************************************************************/
/* COMPOSANTS AKTONE
/******************************************************************************/
.aktone-link { cursor: pointer; }

/* Champ fichier */
.file_input                    { position: relative; display: block; width: 100%; }
.file_input .thumbnail         { width: 100%; height: auto; }
.file_input input              { visibility: hidden; display: none; }

/* Zone de contrôle */
.akControle .bs_drop_toggle_btn,
.akControle .bs_bouton,
.akControle .bs_form_groupe    { margin-bottom: 5px !important; }

/* Spinner sur input */
.inputspin { position: relative; }
.inputspin::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f110";
  color: lightgrey;
  position: absolute;
  left: 8px;
  top: 4px;
  animation: spin 2000ms linear infinite;
}
.inputspin input[type="text"] { padding-left: 28px; }
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/******************************************************************************/
/* NAVBAR — ADAPTATIONS BOOTSTRAP
/******************************************************************************/
/* Nav verticale — nouvelle structure */
body.ak-nav-verticale #aktone-page-nav .navbar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  width: 100%;
}
body.ak-nav-verticale #aktone-page-nav .navbar-nav {
  flex-direction: column;
  width: 100%;
}
body.ak-nav-verticale #aktone-page-nav a.navbar-brand {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
body.ak-nav-verticale #aktone-page-nav .bs_navbaritem,
body.ak-nav-verticale #aktone-page-nav .bs_navbaritem_drop { width: 100%; }

/* Nav verticale — ancienne structure (rétrocompat) */
#aktone-page-conteneur-nav .navbar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}
#aktone-page-conteneur-nav .navbar-nav   { flex-direction: column; width: 100%; }
#aktone-page-conteneur-nav nav           { height: 100%; }
#aktone-page-conteneur-nav a.navbar-brand {
  margin-left: 0; margin-right: 0;
  width: 100%;
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
#aktone-page-conteneur-nav .bs_navbaritem,
#aktone-page-conteneur-nav .bs_navbaritem_drop { width: 100%; }

/* Alignement à gauche dans la nav verticale */
#aktone-page-conteneur-nav .float-end,
body.ak-nav-verticale #aktone-page-nav .float-end { float: none; margin-left: 0; }

/* Barre horizontale */
#aktone-page-conteneur .navbar-expand-md .navbar-nav.float-start .nav-link { padding-left: 0; }
#aktone-page-conteneur .navbar-expand-md .navbar-nav.float-end  .nav-link  { padding-right: 0; }
#aktone-page-navbar.bs_navbar,
#aktone-page-menu.bs_navbar {
  font-size: 0.8em;
  padding: 0 var(--ak-ecart-unite);
  min-height: var(--ak-navbar-height);
}
#aktone-page-conteneur a.navbar-brand {
  margin-left: var(--ak-ecart-unite);
  margin-right: var(--ak-ecart-unite);
}
a.navbar-brand {
  font-weight: bold;
  padding-top: 7px;
  padding-bottom: 7px;
}
a.navbar-brand img {
  height: var(--ak-navbrand-height);
  width: auto;
}
#aktone-page-navbar { flex-shrink: 0; }
#aktone-page-menu   { flex-shrink: 3; }

/* Icônes dans la navbar */
#aktone-page-tete .navbar {
  z-index: var(--zindex-nav);
  min-height: auto;
  width: 100%;
}
#aktone-page-tete nav {
  position: relative;
  z-index: var(--zindex-nav);
  width: 100%;
}
#aktone-page-tete nav.navbar-app      { z-index: var(--ak-zindex-nav-sub); }
#aktone-page-tete nav i.fas::after    { content: '\00a0 '; }
#aktone-page-tete .navbar i.fas       { padding-right: 0.3em; width: 22px; text-align: center; }
#aktone-page-tete .navbar i.fas.float-end { padding-right: 0; padding-left: 0.3em; }
#aktone-page-tete .navbar a,
.navbar li                            { text-align: left; }
#aktone-page-tete nav li a            { padding-top: 7px; padding-bottom: 7px; }

/******************************************************************************/
/* EXTENSIONS BOOTSTRAP — COMPOSANTS
/******************************************************************************/
/* Labels/badges custom Aktone
   .label-* : nommage historique conservé (utilisé dans le PHP)
   .badge-* : aliases BS5 — même rendu, nouveaux noms */
.label,
.badge {
  display: inline-block;
  padding: .25em .6em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .35em;
}
.label:empty, .badge:empty          { display: none; }
.btn .label, .btn .badge            { position: relative; top: -1px; }

.label-default,  .badge-default     { background-color: var(--default-base); }
.label-primary,  .badge-primary     { background-color: var(--primary-base); }
.label-success,  .badge-success     { background-color: var(--success-base); }
.label-info,     .badge-info        { background-color: var(--info-base); }
.label-warning,  .badge-warning     { background-color: var(--warning-base); }
.label-danger,   .badge-danger      { background-color: var(--danger-base); }

.label-default[href]:hover,  .badge-default[href]:hover  { background-color: var(--default-hover); }
.label-primary[href]:hover,  .badge-primary[href]:hover  { background-color: var(--primary-hover); }
.label-success[href]:hover,  .badge-success[href]:hover  { background-color: var(--success-hover); }
.label-info[href]:hover,     .badge-info[href]:hover     { background-color: var(--info-hover); }
.label-warning[href]:hover,  .badge-warning[href]:hover  { background-color: var(--warning-hover); }
.label-danger[href]:hover,   .badge-danger[href]:hover   { background-color: var(--danger-hover); }

/* Card */
.card-title { padding: var(--ak-ecart-unite); }

/* Tabs */
.tab-pane { display: block; width: 100%; background: var(--ak-div-bg); }

/* Gouttière Bootstrap alignée sur l'unité d'espacement Aktone */
.row { --bs-gutter-x: var(--ak-ecart-unite); }

/* Tables */
.table td                            { vertical-align: middle; }
.table, .table-responsive,
.list-group, .bs_form_label,
.bs_panneau                          { width: 100%; }

/* Tables dans un contexte flex — ne pas s'étirer en hauteur */
.aktone-bloc-corps > .table,
.aktone-bloc-corps > .table-responsive { align-self: flex-start; width: 100%; }

/* Colonnes 1/5 dans une .row Bootstrap */
.col-xs-20, .col-sm-20, .col-md-20,
.col-lg-20, .col-xl-20, .col-xxl-20 { flex: 0 0 20%; max-width: 20%; min-height: 1px; }

/* Pagination */
.page-link                           { color: #000 !important; }
.active > .page-link                 { background-color: #000 !important; border-color: #000 !important; color: #FFF !important; }

/******************************************************************************/
/* EXTENSIONS BOOTSTRAP — FORMULAIRES
/******************************************************************************/
/* Boutons radio et checkbox */
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline  { margin-top: 0; margin-left: 0; }
label.radio-inline                   { margin-right: 10px; }
label.checkbox-inline                { margin-left: 0; margin-right: 10px; }
.radio-inline                        { margin-right: 10px; }
.checkbox-inline                     { margin-left: 0; margin-right: 10px; }
.checkbox-title                      { display: block; color: #CCC; }
label.checkbox:first-child           { margin-top: 0; }
.html-coche-sub                      { padding-left: 45px; }

/* Mises en page de formulaire */
form.form-inline                     { margin-bottom: 0; }
form.form-inline > .form-group       { width: auto; margin-bottom: 0; }
form.form-vertical > .btn-group      { padding-top: var(--ak-ecart-unite); }
form.form-vertical > .form-group:first-child { padding-top: 0; }
.list-group-media                    { padding-top: var(--ak-ecart-unite); }
.dropdown-menu-right                 { right: 0; left: auto; }

/******************************************************************************/
/* EXTENSIONS BOOTSTRAP — TAILLES DE BOUTONS ET INPUTS
/******************************************************************************/
.btn-sm,
.btn-group-sm > .btn {
  height: 30px;
  font-size: 0.8em;
  line-height: 1.5;
  margin: 0;
}
.btn-xs,
.btn-group-xs > .btn {
  height: 22px;
  padding: 1px 5px;
  font-size: 0.75em;
  line-height: 1.5;
  margin: 0;
}
.btn-xs .badge                       { font-size: 0.75em; padding: 2px 5px; }
.input-xs {
  height: 22px;
  padding: 1px 5px;
  font-size: 0.75em;
  line-height: 1.5;
  margin: 0 0 1px;
}
select.input-xs                      { height: 22px; line-height: 22px; }
textarea.input-xs                    { height: auto; }
.btn-group-sm i.fas                  { height: 17px; line-height: 17px; }
.btn-group-xs i.fas                  { height: 22px; line-height: 22px; }

/******************************************************************************/
/* VARIANTES DE DENSITÉ
/* .aktone-moyen = Bootstrap normal (aucune règle nécessaire)
/* Les autres redéfinissent --ak-ecart-unite et font-size en cascade.
/******************************************************************************/
.aktone-mini {
  --ak-ecart-unite: 6px;
  font-size: 0.78rem;
  --bs-btn-padding-y: 0.1rem;
  --bs-btn-padding-x: 0.35rem;
  --bs-btn-font-size: 0.75rem;
}
.aktone-mini .btn                    { padding: 0.1rem 0.35rem;  font-size: 0.75rem; }
.aktone-mini .form-control,
.aktone-mini .form-select            { padding: 0.1rem 0.35rem;  font-size: 0.75rem; }
.aktone-mini .form-label             { font-size: 0.75rem; margin-bottom: 0.1rem; }
.aktone-mini .table td,
.aktone-mini .table th               { padding: 0.15rem 0.35rem; font-size: 0.78rem; }
.aktone-mini .nav-link               { padding: 0.2rem 0.4rem;   font-size: 0.78rem; }
.aktone-mini .card-body              { padding: var(--ak-ecart-unite); }

.aktone-petit {
  --ak-ecart-unite: 10px;
  font-size: 0.875rem;
  --bs-btn-padding-y: 0.22rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.825rem;
}
.aktone-petit .btn                   { padding: 0.22rem 0.5rem;  font-size: 0.825rem; }
.aktone-petit .form-control,
.aktone-petit .form-select           { padding: 0.22rem 0.5rem;  font-size: 0.85rem; }
.aktone-petit .form-label            { font-size: 0.85rem; margin-bottom: 0.2rem; }
.aktone-petit .table td,
.aktone-petit .table th              { padding: 0.28rem 0.5rem;  font-size: 0.875rem; }
.aktone-petit .nav-link              { padding: 0.28rem 0.55rem; font-size: 0.875rem; }
.aktone-petit .card-body             { padding: var(--ak-ecart-unite); }

.aktone-grand {
  --ak-ecart-unite: 20px;
  font-size: 1.05rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.05rem;
}
.aktone-grand .btn                   { padding: 0.5rem 1rem;  font-size: 1.05rem; }
.aktone-grand .form-control,
.aktone-grand .form-select           { padding: 0.5rem 1rem;  font-size: 1.05rem; }
.aktone-grand .form-label            { font-size: 1rem; margin-bottom: 0.4rem; }
.aktone-grand .table td,
.aktone-grand .table th              { padding: 0.65rem 1rem; font-size: 1.05rem; }
.aktone-grand .nav-link              { padding: 0.5rem 1rem;  font-size: 1.05rem; }
.aktone-grand .card-body             { padding: var(--ak-ecart-unite); }

/******************************************************************************/
/* LIBRAIRIE INSIGNA (composant de tags)
/******************************************************************************/
input.nsg-input {
  outline: none;
  border-color: transparent !important;
  padding: 0 !important;
  margin: 4px;
  width: auto !important;
  min-width: 30px !important;
  display: inline-block;
}
.nsg-editor                          { padding: 0; cursor: text; }
.nsg-tag {
  display: inline-block;
  background-color: var(--bs-secondary);
  color: var(--bs-white);
  padding: 2px 7px;
  margin: 4px;
  border-color: transparent;
}
.nsg-tag-remove::after {
  margin-left: 4px;
  padding: 0 4px;
  content: 'x';
  cursor: pointer;
  background-color: transparent !important;
}
.nsg-invalid                         { border-color: #c00; }
.nsg-input[placeholder]              { min-width: 100%; }

/******************************************************************************/
/* WYSIWYG QUILL
/******************************************************************************/
.ql-container                        { height: auto !important; }
.ql-editor                           { min-height: 150px; }

/******************************************************************************/
/* UTILITAIRES
/******************************************************************************/
.couleurgrisclair                    { background-color: #E9EBEC; color: #000; }
.goldorak                            { position: fixed; top: -1000px; left: -1000px; } /* antispam */
.sey-container, .sey-show            { z-index: 1055 !important; } /* compatibilité BS */
.invisible                           { position: absolute; top: -1000px; left: -1000px; }
.help-block                          { padding: 2px 0 0; margin: 0; height: auto; line-height: 1; }
tr.primary                           { color: #FFF; }

