/* Portail LemonLDAP::NG aux couleurs de solstice.coop (géré par solstice-playbooks).
   Jetons repris du design système du site (css/solstice.css de solstice.coop) : police Quicksand,
   fond doux (jamais de blanc pur), encre #13302F, boutons #2B7F7C, coin en L du logo. */

@font-face {
  font-family: "Quicksand";
  src: url("quicksand.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --sol-logo-turquoise: #26b7bd; /* formes uniquement */
  --sol-logo-rouge: #ee2850;     /* le L du logo */
  --sol-primaire: #2b7f7c;
  --sol-primaire-fonce: #226a67;
  --sol-encre: #13302f;
  --sol-texte-secondaire: #45605f;
  --sol-texte-secondaire-sombre: #c9e3e1;
  --sol-fond: #f4f7f7;           /* fond de page */
  --sol-fond-doux: #e9efee;      /* blocs en retrait */
  --sol-bordure: #d5e5e5;
  --sol-bordure-champ: #6f8786;
  --sol-soleil: #ffc600;
  --sol-danger: #b81f3b;
  --sol-focus: #13302f;
  --sol-carte-secondaire-fond: #e6f3f2;   /* variante par défaut de CarteIdee */
  --sol-carte-secondaire-lisere: #26b7bd;
}

html,
body {
  background: var(--sol-fond);
  color: var(--sol-encre);
  font-family: Quicksand, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 700;
  color: var(--sol-encre);
}

.text-muted {
  color: var(--sol-texte-secondaire) !important;
}

/* Logo */
#header img {
  background: none;
  border-radius: 0 !important;
  max-width: min(320px, 75vw);
  margin: 2rem auto 2rem;
}

/* Liens */
a,
.btn-link {
  color: var(--sol-primaire-fonce);
  text-underline-offset: .15em;
}
a:hover,
a:focus,
.btn-link:hover,
.btn-link:focus {
  color: var(--sol-encre);
}

/* Focus : contour plein, jamais un halo transparent */
a:focus-visible,
.btn:focus,
.btn:focus-visible,
.form-control:focus,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--sol-focus);
  outline-offset: 3px;
  box-shadow: none !important;
}

/* Boutons : principal plein, secondaire en contour */
.btn {
  font-weight: 700;
  border-width: 2px;
  border-radius: .5rem;
}
.btn:not(.btn-sm):not(.btn-floating) {
  min-height: 44px;
  padding: .625rem 1.375rem;
}
.btn-primary,
.btn-success {
  background-color: var(--sol-primaire);
  border-color: var(--sol-primaire);
  color: #fff;
}
.btn-primary:hover,
.btn-success:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active {
  background-color: var(--sol-primaire-fonce);
  border-color: var(--sol-primaire-fonce);
  color: #fff;
}
.btn-secondary,
.btn-outline-secondary,
.btn-light {
  background-color: transparent;
  border-color: var(--sol-primaire-fonce);
  color: var(--sol-primaire-fonce);
}
.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-secondary:not(:disabled):not(.disabled):active {
  background-color: var(--sol-primaire-fonce);
  border-color: var(--sol-primaire-fonce);
  color: #fff;
}
.btn-danger {
  background-color: var(--sol-danger);
  border-color: var(--sol-danger);
}

/* Champs */
.form-control {
  min-height: 48px;
  border: 2px solid var(--sol-bordure-champ);
  background-color: var(--sol-fond);
  color: var(--sol-encre);
  font-weight: 500;
}
.form-control:focus {
  border-color: var(--sol-encre);
  background-color: var(--sol-fond);
}
.input-group-text {
  min-width: 3rem;
  justify-content: center;
  border: 2px solid var(--sol-bordure-champ);
  background-color: var(--sol-fond-doux);
  color: var(--sol-encre);
}
.input-group > .input-group-prepend > .input-group-text {
  border-right: 0;
}
.custom-control-input:checked ~ .custom-control-label::before,
input[type="checkbox"]:checked {
  background-color: var(--sol-primaire);
  border-color: var(--sol-primaire);
  accent-color: var(--sol-primaire);
}

/* Cartes (CarteIdee, variante secondaire) : rectangulaires, liseré turquoise, le L du logo à cheval
   sur le coin du haut */
.card {
  position: relative;
  background-color: var(--sol-carte-secondaire-fond);
  border: 2px solid var(--sol-carte-secondaire-lisere);
  border-radius: 0;
}
#logincontent > .card {
  max-width: 34rem;
  margin-inline: auto;
  padding: 1.5rem;
}
#logincontent > .card::after,
.category.card::after {
  content: "";
  position: absolute;
  right: -.25rem;
  top: -.5rem;
  width: 2.5rem;
  height: 2.5rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 66% 100%, 66% 34%, 0 34%);
  background: var(--sol-logo-rouge);
  pointer-events: none;
}
.card-header,
.card-footer {
  background: transparent;
  border: 0;
}
.card-header.bg-secondary,
.card-footer.bg-secondary,
.bg-secondary {
  background-color: transparent !important;
  color: var(--sol-encre) !important;
}
.card-header .card-title,
.card-header h4 {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--sol-encre);
}
.border-secondary {
  border-color: transparent !important;
}

/* Messages */
.alert {
  border: 0;
  border-radius: 1rem;
  color: var(--sol-encre);
}
.alert-info,
.message-info { background-color: #e6f3f2; }
.alert-warning,
.message-warning { background-color: #fff5cc; }
.alert-danger,
.message-danger { background-color: #ffe6ea; }
.alert-success,
.message-positive { background-color: #e6f3f2; }

/* Menu du portail connecté : barre claire, onglet actif souligné en turquoise */
.navbar-light,
.navbar-light.bg-light {
  background-color: var(--sol-fond) !important;
  border-bottom: 1px solid var(--sol-bordure);
}
.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
  color: var(--sol-encre);
  font-weight: 600;
  border-bottom: 3px solid transparent;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--sol-encre);
  border-bottom-color: var(--sol-logo-turquoise);
}
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  font-weight: 700;
}
/* Onglets : un filet turquoise que l'onglet actif contourne, en prenant le fond de la page */
.nav-tabs {
  border-bottom: 2px solid var(--sol-logo-turquoise);
}
.nav-tabs .nav-link {
  margin-bottom: -2px;
  border: 2px solid transparent;
}
.nav-tabs .nav-link.active {
  border-color: var(--sol-logo-turquoise);
  border-bottom-color: var(--sol-fond);
  background-color: var(--sol-fond);
  color: var(--sol-encre);
}

/* Tuiles des applications */
#appslist .application {
  background-color: var(--sol-fond);
  border: 2px solid var(--sol-bordure);
  border-radius: .75rem;
}
#appslist .application a {
  color: var(--sol-encre);
  text-decoration: none;
}
#appslist .application .appname {
  font-weight: 700;
}
#appslist .application:hover,
#appslist .application:focus-within {
  border-color: var(--sol-primaire);
  box-shadow: none;
}
#appslist .application:hover .appname {
  text-decoration: underline;
}
/* Hauteur des tuiles : selon leur contenu (le portail la fixe à 80 px), et la même pour les
   tuiles d'une même ligne (colonnes étirées par la rangée flex de Bootstrap, moins la marge) */
#appslist div.application {
  height: calc(100% - 10px);
}

/* Pied de page sur fond encre, comme solstice.coop */
#footer {
  background-color: var(--sol-encre);
  border-top: 0;
  color: var(--sol-texte-secondaire-sombre);
  --sol-focus: var(--sol-soleil);
}
#footer a {
  color: #fff;
}
#footer a:hover,
#footer a:focus {
  color: var(--sol-soleil);
}
#footer .btn-secondary {
  border-color: var(--sol-texte-secondaire-sombre);
  color: #fff;
}
#footer .btn-secondary:hover {
  background-color: #fff;
  border-color: #fff;
  color: var(--sol-encre);
}

/* Bouton « haut de page » */
#btn-back-to-top {
  background-color: var(--sol-encre);
  border-color: var(--sol-encre);
}
