/* ============================================================
   Charte dooapp — uniformisation arrondi / couleurs (app legacy)
   Aligne onglets, boutons, champs et cartes sur la sidebar
   (radius 6px, bleu #3F5DD9, bordures #e5e8ed, flat, hover bleu léger).
   Chargé en DERNIER dans index.html pour gagner la cascade.
   ============================================================ */
:root {
  --dooapp-blue: #3F5DD9;
  --dooapp-blue-hover: #3450c4;
  --dooapp-border: #e5e8ed;
  --dooapp-radius: 6px;
  --dooapp-tint: rgba(63, 93, 217, 0.08);
}

/* --- Boutons --- */
.btn,
.btn-u,
.btn-default {
  border-radius: var(--dooapp-radius) !important;
  transition: background .15s, color .15s, border-color .15s;
}
.btn-u,
.btn.btn-primary {
  background-color: var(--dooapp-blue) !important;
  border: 1px solid var(--dooapp-blue) !important;
  color: #fff !important;
}
.btn-u:hover,
.btn.btn-primary:hover {
  background-color: var(--dooapp-blue-hover) !important;
  border-color: var(--dooapp-blue-hover) !important;
}
.btn-default {
  background-color: #fff !important;
  border: 1px solid var(--dooapp-border) !important;
  color: #2c3e50 !important;
}
.btn-default:hover {
  background-color: var(--dooapp-tint) !important;
  border-color: var(--dooapp-blue) !important;
  color: var(--dooapp-blue) !important;
}

/* --- Champs / inputs --- */
.form-control {
  border-radius: var(--dooapp-radius) !important;
  border: 1px solid var(--dooapp-border) !important;
  box-shadow: none !important;
}
.form-control:focus {
  border-color: var(--dooapp-blue) !important;
  box-shadow: 0 0 0 2px var(--dooapp-tint) !important;
}
/* input-group : arrondir uniquement les extrémités du groupe */
.input-group > .form-control:first-child {
  border-radius: var(--dooapp-radius) 0 0 var(--dooapp-radius) !important;
}
.input-group > .input-group-btn:last-child > .btn {
  border-radius: 0 var(--dooapp-radius) var(--dooapp-radius) 0 !important;
}

/* --- Onglets (tab-v1 / nav-tabs) --- */
.tab-v1 .nav-tabs {
  border: none !important;
}
.tab-v1 .nav-tabs > li > a {
  border-radius: var(--dooapp-radius) !important;
  border: 1px solid var(--dooapp-border) !important;
  color: #2c3e50 !important;
  background: #fff !important;
  margin-right: 6px;
}
.tab-v1 .nav-tabs > li.active > a,
.tab-v1 .nav-tabs > li > a.router-link-active {
  background: var(--dooapp-blue) !important;
  border-color: var(--dooapp-blue) !important;
  color: #fff !important;
}
.tab-v1 .nav-tabs > li > a:hover {
  background: var(--dooapp-tint) !important;
  border-color: var(--dooapp-blue) !important;
  color: var(--dooapp-blue) !important;
}

/* --- Cartes / panels --- */
/* NB: .profile-body est un simple conteneur (onglets + contenu), pas une carte :
   ne pas le border, sinon grand cadre disgracieux autour de toute la page. */
.panel {
  border-radius: 8px !important;
  border: 1px solid var(--dooapp-border) !important;
  box-shadow: none !important;
}
.panel > .panel-heading {
  border-radius: 8px 8px 0 0 !important;
}
.panel-dooapp-blue > .panel-heading {
  background: var(--dooapp-blue) !important;
  border-color: var(--dooapp-blue) !important;
  color: #fff !important;
}
.rounded {
  border-radius: var(--dooapp-radius) !important;
}

/* ============================================================
   Écran Profil — bandeau identité (direction C) + cartes + form
   ============================================================ */
.profile-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--dooapp-blue);
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 16px;
  color: #fff;
}
.profile-hero__avatar {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, .6);
  flex: 0 0 auto;
  background: transparent;
}
/* Le host <app-image-editor> est inline par défaut (taille indéfinie) : on le
   force à remplir le cadre, sinon le % du .cloud-thumbnail ne se calcule pas. */
.profile-hero__avatar app-image-editor {
  display: block;
  width: 100%;
  height: 100%;
}
/* Vraie image : app-image-editor rend un <div class="cloud-thumbnail"> en
   background-image (208x208) ; on l'affiche ENTIÈRE (contain) centrée, sur fond
   blanc pour combler les bandes. Sélecteur plus spécifique (0,2,0) que le
   .cloud-thumbnail (0,1,0) du composant. */
.profile-hero__avatar .cloud-thumbnail,
.profile-hero__avatar .cloud-thumbnail-editable {
  width: 100% !important;
  height: 100% !important;
  background-color: #fff !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
}
/* Fallback sans image : initiales centrées, pastille blanche translucide. */
.profile-hero__initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 26px;
  font-weight: 600;
  color: #fff;
  background: rgba(255, 255, 255, .2);
}
.profile-hero__id h2 {
  margin: 0;
  color: #fff;
  font-size: 21px;
}
.profile-hero__sub {
  color: rgba(255, 255, 255, .85);
  font-size: 13px;
  margin-top: 3px;
}
.profile-hero__sub span + span::before {
  content: " · ";
}

.profile-card {
  background: #fff;
  border: 1px solid var(--dooapp-border);
  border-radius: 8px;
  padding: 16px 18px;
  margin-bottom: 14px;
}
.profile-card__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--dooapp-blue);
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 12px;
}
.kv {
  display: flex;
  gap: 12px;
  font-size: 14px;
  color: #2c3e50;
  padding: 5px 0;
}
.kv__k {
  color: #7a8693;
  width: 110px;
  flex: 0 0 auto;
}

/* En-tête de carte : titre à gauche, action (Éditer) à droite */
.profile-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.profile-card__header .profile-card__title {
  margin-bottom: 0;
}

/* Actions du form édition : alignées à droite. Le bouton flottant « Aide et
   contact » est fixe en bas à droite (~210px de large) ; on réserve un
   padding-right pour que Enregistrer/Annuler restent à gauche de cette zone. */
.profile-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 16px 0 40px;
  padding-right: 230px;
}

/* Onglet Paramètres : champs courts (pas pleine largeur) + actions à droite */
.profile-settings .input-group,
.profile-settings select.form-control {
  max-width: 420px;
}
.profile-settings__actions {
  text-align: right;
  margin-top: 10px;
}

/* Form édition : libellés au-dessus, pleine largeur */
.profile-edit .form-group.row { margin: 0 0 12px; }
.profile-edit .form-group .col-sm-4,
.profile-edit .form-group .col-sm-8 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}
.profile-edit .form-control-label,
.profile-edit .col-form-label {
  display: block;
  font-size: 12px;
  color: #7a8693;
  margin-bottom: 4px;
  padding: 0;
}
