/* CSS to be applied everywhere in admin theme */

.form-type-commerce-price,
.field--type-commerce-price > .form-wrapper {
  display: flex;
  gap: 10px;
  .form-item:not(.form-no-label) + .form-no-label {
    padding-top: 1.35em;
  }
}

/**
 * Shootings admin view: "On/Off Form" fieldset — one bordered tile per checkbox.
 * Fieldset: data-drupal-selector="edit-views-fields-on-off-form"
 */
fieldset[data-drupal-selector="edit-views-fields-on-off-form"] #edit-views-fields-on-off-form.form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: stretch;
}

fieldset[data-drupal-selector="edit-views-fields-on-off-form"]
  #edit-views-fields-on-off-form.form-checkboxes
  > .form-item.form-type-checkbox {
  border: 1px solid #b5b5b5;
  border-radius: 4px;
  padding: 0.35rem 0.6rem;
  background: #f7f7f7;
  margin: 0;
}

fieldset[data-drupal-selector="edit-views-fields-on-off-form"]
  #edit-views-fields-on-off-form.form-checkboxes
  .form-checkbox {
  margin-right: 0.35rem;
  vertical-align: middle;
}

fieldset[data-drupal-selector="edit-views-fields-on-off-form"]
  #edit-views-fields-on-off-form.form-checkboxes
  label.option {
  vertical-align: middle;
}

/* On/Off : barre d’actions (contenu dans le wrapper type .seven-details__wrapper) */
.mpa-shootings-on-off-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

/**
 * Fieldset repliable : même esprit que Seven .seven-details (fermé = encadré
 * comme les autres blocs admin, pas seulement un filet bleu).
 */
fieldset.mpa-on-off-fieldset {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 1em;
  margin-bottom: 1em;
  border: 1px solid #bfbfbf;
  border-radius: 3px;
  background-color: #fcfcfa;
  padding: 0;
  min-width: 0;
  min-inline-size: 0;
  overflow: hidden;
  clear: both;
}

/* Pleine largeur comme les <details> Seven : conteneurs flex du formulaire exposé */
.views-exposed-form fieldset.mpa-on-off-fieldset,
form.views-exposed-form fieldset.mpa-on-off-fieldset,
.view-filters form fieldset.mpa-on-off-fieldset {
  flex: 1 1 100%;
  flex-basis: 100%;
  align-self: stretch;
}

.mpa-on-off-fieldset > legend {
  /* Un <legend> floaté ne "coupe" plus la bordure du fieldset : la tuile a
     alors une bordure complète et arrondie (comme les rubriques <details>),
     avec le résumé rendu à l'intérieur. */
  float: left;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.mpa-on-off-fieldset > .fieldset-wrapper {
  clear: both;
}

/* Équivalent .seven-details__summary */
.mpa-on-off-fieldset__toggle {
  cursor: pointer;
  color: #0074bd;
  text-shadow: 0 1px 0 #fff;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: 0.65em 1em;
  border: 0;
  background: transparent;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  box-sizing: border-box;
}

.mpa-on-off-fieldset__toggle:hover,
.mpa-on-off-fieldset__toggle:focus {
  color: #004f80;
  outline: 0;
}

.mpa-on-off-fieldset:not(.mpa-on-off-fieldset--collapsed) .mpa-on-off-fieldset__toggle {
  color: #004f80;
}

.mpa-on-off-fieldset__toggle::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.35rem 0 0.35rem 0.5rem;
  border-color: transparent transparent transparent #0074bd;
  transform: rotate(0deg);
  transition: transform 0.15s ease;
  flex-shrink: 0;
}

.mpa-on-off-fieldset:not(.mpa-on-off-fieldset--collapsed) .mpa-on-off-fieldset__toggle::before {
  transform: rotate(90deg);
  border-left-color: #004f80;
}

/* Équivalent .seven-details__wrapper */
.mpa-on-off-fieldset .fieldset-wrapper {
  padding: 0 1.5em 1em 1.5em;
  clear: both;
}

/* Listings admin (ex. /admin/superviseurs) : compteur de résultats déplacé sous
   les filtres, en gros et gras, juste au-dessus du tableau. */
.admin-view-result-count {
  font-size: 1rem;
  font-weight: bold;
  margin: 0 0 0.75rem;
}

/* Bouton d'export « Télécharger le tableau », sous le compteur de résultats. */
.admin-view-export-link {
  display: inline-block;
  margin: 0 0 1rem;
}

/* ==========================================================================
   Style réutilisable pour les listings admin : ajouter la classe CSS
   « mpa-admin-view » à la vue (css_class) pour obtenir :
   en-tête figé au scroll + séparateurs de colonnes + filtres uniformes.
   ========================================================================== */

/* En-tête de tableau figé au scroll (comme /admin/shootings).
   On cible toute table de résultats (Views table « views-table » OU table
   « flexible » cols-N) dans .view-content. */
.mpa-admin-view .view-content table thead th {
  position: sticky;
  /* Tient compte de la barre d'admin fixe (drupal.displace). */
  top: var(--drupal-displace-offset-top, 0px);
  z-index: 2;
  background-color: #e1e2dc;
  box-shadow: 0 1px 0 #bebfb9;
}

/* Séparateurs verticaux entre colonnes. */
.mpa-admin-view .view-content table th,
.mpa-admin-view .view-content table td {
  border-right: 1px solid #d9d9d6;
}

/* Figer les 2 premières colonnes au scroll horizontal.
   --mpa-col1-width = largeur fixe de la 1re colonne (= offset gauche de la 2e). */
.mpa-admin-view .view-content table {
  --mpa-col1-width: 10rem;
}

.mpa-admin-view .view-content table th:first-child,
.mpa-admin-view .view-content table td:first-child {
  width: var(--mpa-col1-width);
  min-width: var(--mpa-col1-width);
  max-width: var(--mpa-col1-width);
  position: sticky;
  left: 0;
}

.mpa-admin-view .view-content table th:nth-child(2),
.mpa-admin-view .view-content table td:nth-child(2) {
  position: sticky;
  left: var(--mpa-col1-width);
}

/* Fonds opaques pour que le contenu défilé ne transparaisse pas dessous. */
.mpa-admin-view .view-content table tbody td:first-child,
.mpa-admin-view .view-content table tbody td:nth-child(2) {
  background-color: #fff;
  z-index: 1;
}

/* En-têtes des colonnes figées : sticky sur les deux axes, au-dessus du reste. */
.mpa-admin-view .view-content table thead th:first-child,
.mpa-admin-view .view-content table thead th:nth-child(2) {
  z-index: 3;
}

/* Variante : figer 3 colonnes (ajouter la classe « mpa-sticky-3col » au css_class,
   en plus de « mpa-admin-view »). On fixe alors la largeur de la 2e colonne pour
   caler l'offset gauche de la 3e. */
.mpa-admin-view.mpa-sticky-3col .view-content table {
  --mpa-col2-width: 10rem;
}

.mpa-admin-view.mpa-sticky-3col .view-content table th:nth-child(2),
.mpa-admin-view.mpa-sticky-3col .view-content table td:nth-child(2) {
  width: var(--mpa-col2-width);
  min-width: var(--mpa-col2-width);
  max-width: var(--mpa-col2-width);
}

.mpa-admin-view.mpa-sticky-3col .view-content table th:nth-child(3),
.mpa-admin-view.mpa-sticky-3col .view-content table td:nth-child(3) {
  position: sticky;
  left: calc(var(--mpa-col1-width) + var(--mpa-col2-width));
}

.mpa-admin-view.mpa-sticky-3col .view-content table tbody td:nth-child(3) {
  background-color: #fff;
  z-index: 1;
}

.mpa-admin-view.mpa-sticky-3col .view-content table thead th:nth-child(3) {
  z-index: 3;
}

/* Variante : figer 4 colonnes (classe « mpa-sticky-4col »). On fixe les largeurs
   des colonnes 2 et 3 pour caler les offsets des colonnes 3 et 4. */
.mpa-admin-view.mpa-sticky-4col .view-content table {
  --mpa-col2-width: 10rem;
  --mpa-col3-width: 10rem;
}

.mpa-admin-view.mpa-sticky-4col .view-content table th:nth-child(2),
.mpa-admin-view.mpa-sticky-4col .view-content table td:nth-child(2) {
  width: var(--mpa-col2-width);
  min-width: var(--mpa-col2-width);
  max-width: var(--mpa-col2-width);
}

.mpa-admin-view.mpa-sticky-4col .view-content table th:nth-child(3),
.mpa-admin-view.mpa-sticky-4col .view-content table td:nth-child(3) {
  width: var(--mpa-col3-width);
  min-width: var(--mpa-col3-width);
  max-width: var(--mpa-col3-width);
  position: sticky;
  left: calc(var(--mpa-col1-width) + var(--mpa-col2-width));
}

.mpa-admin-view.mpa-sticky-4col .view-content table th:nth-child(4),
.mpa-admin-view.mpa-sticky-4col .view-content table td:nth-child(4) {
  position: sticky;
  left: calc(var(--mpa-col1-width) + var(--mpa-col2-width) + var(--mpa-col3-width));
}

.mpa-admin-view.mpa-sticky-4col .view-content table tbody td:nth-child(3),
.mpa-admin-view.mpa-sticky-4col .view-content table tbody td:nth-child(4) {
  background-color: #fff;
  z-index: 1;
}

.mpa-admin-view.mpa-sticky-4col .view-content table thead th:nth-child(3),
.mpa-admin-view.mpa-sticky-4col .view-content table thead th:nth-child(4) {
  z-index: 3;
}

/* Vue photographes : colonnes figées = Date d'inscription, Nom, Prénom
   (mpa-sticky-3col). On ajuste les largeurs des 2 premières colonnes figées. */
.view-photographes.mpa-admin-view .view-content table {
  --mpa-col1-width: 8.5rem;   /* Date d'inscription */
  --mpa-col2-width: 11rem;    /* Nom */
}

/* Colonne Actions : bouton d'opération sur une seule ligne (pas de wrap qui
   casse le dropbutton). La colonne étant à droite, on lui donne une largeur
   suffisante ; l'accès se fait via le scroll horizontal + colonnes gauche figées. */
.mpa-admin-view .view-content table td:last-child,
.mpa-admin-view .view-content table th:last-child {
  min-width: 14rem;
}

.mpa-admin-view .view-content .dropbutton .dropbutton-action a,
.mpa-admin-view .view-content .dropbutton .dropbutton-action button {
  white-space: nowrap;
}

.mpa-admin-view .view-content table th:last-child,
.mpa-admin-view .view-content table td:last-child {
  border-right: 0;
}

/* Filtres exposés : items de largeur fixe (uniformes) qui s'enchaînent et
   passent à la ligne, sans transformer le formulaire en grid (qui le rétrécit).
   align en bas pour que labels + champs soient alignés. */
.mpa-admin-view form.views-exposed-form .form-item {
  display: inline-block;
  vertical-align: bottom;
  width: 15rem;
  margin: 0 1rem 0.75rem 0;
}

.mpa-admin-view form.views-exposed-form .form-actions {
  display: block;
  clear: both;
  margin-top: 0.25rem;
}

/* Clients : filtres groupés en rubriques (details). Mise en page identique aux
   autres listings admin (entreprises/agences/shootings) : grille dans le
   .details-wrapper, qui a une largeur définie → le fieldset date reste dans sa
   cellule sans déborder. */
#views-exposed-form-clients-page-1 .details-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem 1.5rem;
  align-items: start;
}

#views-exposed-form-clients-page-1 .details-wrapper > * {
  margin: 0;
  min-width: 0;
}

/* La vue clients porte aussi la classe .mpa-admin-view, dont la règle
   « .form-item { display:inline-block; width:15rem } » casse la grille des
   rubriques (Min/Max du fieldset date empilés avec gros espaces). On la
   neutralise à l'intérieur des rubriques : chaque item remplit sa cellule. */
#views-exposed-form-clients-page-1 .details-wrapper .form-item {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0 0 0.5rem;
}

#views-exposed-form-clients-page-1 .details-wrapper fieldset,
#views-exposed-form-clients-page-1 .details-wrapper .fieldset,
#views-exposed-form-clients-page-1 .details-wrapper .form-wrapper {
  min-width: 0;
  min-inline-size: 0;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-clients-page-1 .details-wrapper input[type="text"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="email"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="number"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="date"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="datetime-local"],
#views-exposed-form-clients-page-1 .details-wrapper select,
#views-exposed-form-clients-page-1 .details-wrapper .form-text,
#views-exposed-form-clients-page-1 .details-wrapper .form-select,
#views-exposed-form-clients-page-1 .details-wrapper .form-autocomplete {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-clients-page-1 .details-wrapper .chosen-container {
  width: 100% !important;
  max-width: 100%;
}

#views-exposed-form-clients-page-1 .details-wrapper input[type="text"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="email"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="number"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="date"],
#views-exposed-form-clients-page-1 .details-wrapper input[type="datetime-local"],
#views-exposed-form-clients-page-1 .details-wrapper select,
#views-exposed-form-clients-page-1 .details-wrapper .chosen-container-single .chosen-single,
#views-exposed-form-clients-page-1 .details-wrapper .chosen-container-multi .chosen-choices {
  min-height: 2.5rem;
  box-sizing: border-box;
}

#views-exposed-form-clients-page-1 .details-wrapper .chosen-container-single .chosen-single {
  display: flex;
  align-items: center;
}

#views-exposed-form-clients-page-1 .details-wrapper fieldset > legend {
  position: static;
  float: none;
  display: block;
  width: 100%;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

#views-exposed-form-clients-page-1 .details-wrapper fieldset > legend + * {
  margin-top: 0;
}

/* Photos Stars : filtres groupés en rubrique (details), même grille que la vue
   clients (Entreprise / Groupement / Verticale / Email commanditaire / Date). */
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem 1.5rem;
  align-items: start;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper > * {
  margin: 0;
  min-width: 0;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .form-item {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0 0 0.5rem;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper fieldset,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .fieldset,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .form-wrapper {
  min-width: 0;
  min-inline-size: 0;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="text"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="email"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="number"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="date"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="datetime-local"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper select,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .form-text,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .form-select,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .form-autocomplete {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .chosen-container {
  width: 100% !important;
  max-width: 100%;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper select,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper input[type="text"],
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .chosen-container-single .chosen-single,
#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper .chosen-container-multi .chosen-choices {
  min-height: 2.5rem;
  box-sizing: border-box;
}

#views-exposed-form-mpa-photos-stars-page-1 .details-wrapper fieldset > legend {
  position: static;
  float: none;
  display: block;
  width: 100%;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

.mpa-admin-view form.views-exposed-form input[type="text"],
.mpa-admin-view form.views-exposed-form input[type="email"],
.mpa-admin-view form.views-exposed-form input[type="number"],
.mpa-admin-view form.views-exposed-form input[type="date"],
.mpa-admin-view form.views-exposed-form input[type="datetime-local"],
.mpa-admin-view form.views-exposed-form input[type="search"],
.mpa-admin-view form.views-exposed-form select,
.mpa-admin-view form.views-exposed-form .form-text,
.mpa-admin-view form.views-exposed-form .form-select,
.mpa-admin-view form.views-exposed-form .form-autocomplete {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mpa-admin-view form.views-exposed-form .chosen-container {
  width: 100% !important;
  max-width: 100%;
}

.mpa-admin-view form.views-exposed-form input[type="text"],
.mpa-admin-view form.views-exposed-form input[type="email"],
.mpa-admin-view form.views-exposed-form input[type="number"],
.mpa-admin-view form.views-exposed-form input[type="date"],
.mpa-admin-view form.views-exposed-form input[type="datetime-local"],
.mpa-admin-view form.views-exposed-form input[type="search"],
.mpa-admin-view form.views-exposed-form select,
.mpa-admin-view form.views-exposed-form .chosen-container-single .chosen-single,
.mpa-admin-view form.views-exposed-form .chosen-container-multi .chosen-choices {
  min-height: 2.5rem;
}

/* Tableau des chantiers : toutes les colonnes à largeur fixe 15rem. */
.mpa-admin-view.tableau-chantiers .view-content table th,
.mpa-admin-view.tableau-chantiers .view-content table td {
  width: 10rem;
  min-width: 10rem;
  max-width: 10rem;
  white-space: normal;
  word-wrap: break-word;
  vertical-align: top;
}

/* Colonnes « nombre de shoots réalisés / à venir » (2 dernières) : largeur fixe
   20rem, les dates s'enchaînent en ligne et passent à la ligne dans cette largeur. */
.mpa-admin-view.tableau-chantiers .view-content table th:nth-last-child(-n+2),
.mpa-admin-view.tableau-chantiers .view-content table td:nth-last-child(-n+2) {
  width: 20rem;
  min-width: 20rem;
  max-width: 20rem;
}

/* Compteur en gras au-dessus de la liste. */
.tableau-chantiers .shoots-count {
  display: inline-block;
  font-weight: bold;
  font-size: 1.05rem;
}

.tableau-chantiers .shoots-count--empty {
  color: #767676;
  font-weight: normal;
}

/* Liste compacte des dates : en ligne, séparées par des virgules, qui passe à
   la ligne au besoin (au lieu d'une puce par date). */
.tableau-chantiers .shoots-count__list {
  display: block;
  margin: 0.15rem 0 0;
  line-height: 1.4;
}

/* Chaque date (+ éventuel lien) reste insécable pour ne pas couper au milieu. */
.tableau-chantiers .shoots-count__date {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* Clients : largeur fixe 15rem pour Nom / Prénom / Adresse. */
.view-clients .views-field-field-nom,
.view-clients .views-field-field-prenom,
.view-clients .views-field-field-address-address-line1 {
  width: 10rem;
  min-width: 10rem;
  max-width: 10rem;
  white-space: normal;
  word-wrap: break-word;
}

/* Photos Stars : colonnes figées étroites — 1re = cases à cocher VBO (« Action »),
   2e = Numéro du shooting (un simple nid). On réduit leurs largeurs pour ne pas
   gaspiller d'espace ; ça cale aussi les offsets gauches des colonnes suivantes. */
.view-mpa-photos-stars.mpa-admin-view .view-content table {
  --mpa-col1-width: 1.5rem;
  --mpa-col2-width: 6rem;
}

/* Photos Stars : largeur fixe 14rem (avec retour à la ligne) pour
   Verticale / Entreprise / Produit / Date du shooting / Photographe. */
.view-mpa-photos-stars .views-field-field-expertises,
.view-mpa-photos-stars .views-field-field-entite,
.view-mpa-photos-stars .views-field-product-id,
.view-mpa-photos-stars .views-field-field-date-shooting,
.view-mpa-photos-stars .views-field-photographe {
  width: 12rem;
  min-width: 12rem;
  max-width: 12rem;
  white-space: normal;
  word-wrap: break-word;
}

/* Mail logs : filtres exposés (sans <details>) en grille, même présentation
   que les autres listings admin (entreprises/clients). Conteneur = .form--inline
   (le wrapper natif du formulaire exposé). */
#views-exposed-form-mail-logs-page-1 .form--inline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  align-items: start;
}

#views-exposed-form-mail-logs-page-1 .form--inline > * {
  margin: 0;
  min-width: 0;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset,
#views-exposed-form-mail-logs-page-1 .form--inline .fieldset,
#views-exposed-form-mail-logs-page-1 .form--inline .form-wrapper {
  min-width: 0;
  min-inline-size: 0;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-mail-logs-page-1 .form--inline input[type="text"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="email"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="number"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="date"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="datetime-local"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="search"],
#views-exposed-form-mail-logs-page-1 .form--inline select,
#views-exposed-form-mail-logs-page-1 .form--inline .form-text,
#views-exposed-form-mail-logs-page-1 .form--inline .form-select,
#views-exposed-form-mail-logs-page-1 .form--inline .form-autocomplete {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-mail-logs-page-1 .form--inline input[type="text"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="email"],
#views-exposed-form-mail-logs-page-1 .form--inline input[type="date"],
#views-exposed-form-mail-logs-page-1 .form--inline select {
  min-height: 2.5rem;
  box-sizing: border-box;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset > legend {
  position: static;
  float: none;
  display: block;
  width: 100%;
  margin: 0 0 0.5rem;
  line-height: 1.3;
  text-align: center;
}

/* Les actions (Filtrer/Réinitialiser) sur toute la largeur, en bas de la grille. */
#views-exposed-form-mail-logs-page-1 .form--inline .form-actions {
  grid-column: 1 / -1;
}

/* Neutralise l'inline-block de mpa-admin-view dans la grille des filtres :
   chaque item remplit sa cellule (width:100%, pas auto → sinon les champs
   comme le Mailkey chosen rétrécissent au contenu). */
#views-exposed-form-mail-logs-page-1 .form--inline .form-item {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0 0 0.5rem;
  box-sizing: border-box;
}

/* Mail logs : compacter les fieldsets de filtre (Corps / Mailkey / Date) pour
   qu'ils s'alignent proprement avec les inputs simples, comme les autres BO. */
#views-exposed-form-mail-logs-page-1 .form--inline fieldset {
  margin: 0;
  padding: 0.5rem 0.9rem 0.65rem;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset > legend {
  margin-bottom: 0.4rem;
  padding: 0;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset .form-item {
  margin: 0 0 0.4rem;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset .form-item:last-child {
  margin-bottom: 0;
}

/* Légendes des fieldsets de filtres exposés (Date min/max, Rémunération…) :
   CENTRÉES et lisibles, uniformes sur TOUS les BO. Scopé aux rubriques
   (.details-wrapper) des formulaires exposés pour ne pas toucher au fieldset
   On/Off. */
form.views-exposed-form .details-wrapper fieldset > legend,
.view-filters .details-wrapper fieldset > legend {
  text-align: center;
  position: static;
  float: none;
  display: block;
  width: 100%;
  margin: 0 0 0.4rem;
  padding: 0;
  line-height: 1.3;
}

/* Mail logs : dropdown « Filter by Mailkey » (chosen) — mailkeys longs, on
   élargit le menu à la largeur du contenu pour 1 ligne par option (lisible). */
/* Mailkey : le menu reste à la largeur du champ (jamais de débordement quelle
   que soit la position / taille d'écran). Options lisibles = retour à la ligne
   + police légèrement réduite (mailkeys longs, ~2 lignes). */
#views-exposed-form-mail-logs-page-1 .chosen-container .chosen-drop {
  width: 100%;
}

#views-exposed-form-mail-logs-page-1 .chosen-container .chosen-results li {
  white-space: normal;
  word-break: break-word;
  font-size: 0.8rem;
  line-height: 1.25;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}


/* Mail logs : les fieldsets de filtre remplissent toute leur cellule de grille
   (sinon un fieldset au contenu étroit — Date d'envoi — laisse un grand vide
   avant le champ suivant). */
#views-exposed-form-mail-logs-page-1 .form--inline > fieldset,
#views-exposed-form-mail-logs-page-1 .form--inline > .form-wrapper {
  width: 100%;
  box-sizing: border-box;
}

/* Mail logs : fieldsets + leurs inputs à pleine largeur de cellule (uniforme
   avec les champs simples). Les inputs date étaient plus étroits (largeur
   intrinsèque) → on force width:100%. */
#views-exposed-form-mail-logs-page-1 .form--inline fieldset {
  width: 100%;
  box-sizing: border-box;
}

#views-exposed-form-mail-logs-page-1 .form--inline fieldset .form-item,
#views-exposed-form-mail-logs-page-1 .form--inline fieldset input[type="date"],
#views-exposed-form-mail-logs-page-1 .form--inline fieldset input[type="text"],
#views-exposed-form-mail-logs-page-1 .form--inline fieldset select {
  width: 100%;
  box-sizing: border-box;
}

/* Relevés photographes : total global en pied de vue (comparaison rapide). */
.view-releves-photographes .releve-total-global {
  font-weight: bold;
  font-size: 0.9rem;
  text-align: right;
  padding: 0.4rem 1rem;
  border-top: 1px solid #bebfb9;
  background-color: #f5f5f2;
}

/* Photographes : filtres groupés en rubriques (Profil / Expertises / Expérience /
   Autres). Même grille que les autres listings admin. */
#views-exposed-form-photographes-page-1 .details-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem 1.5rem;
  align-items: start;
}

#views-exposed-form-photographes-page-1 .details-wrapper > * {
  margin: 0;
  min-width: 0;
}

#views-exposed-form-photographes-page-1 .details-wrapper .form-item {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0 0 0.5rem;
}

#views-exposed-form-photographes-page-1 .details-wrapper input[type="text"],
#views-exposed-form-photographes-page-1 .details-wrapper input[type="email"],
#views-exposed-form-photographes-page-1 .details-wrapper input[type="date"],
#views-exposed-form-photographes-page-1 .details-wrapper select,
#views-exposed-form-photographes-page-1 .details-wrapper .form-autocomplete,
#views-exposed-form-photographes-page-1 .details-wrapper .chosen-container {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* Dashboards mpa-admin-view : masquer la barre d'info de sélection VBO
   (multi-pages) — « X ÉLÉMENT SÉLECTIONNÉ / Vider la sélection », jugée inutile.
   Les cases à cocher et le menu d'actions restent fonctionnels. */
.mpa-admin-view .vbo-multipage-selector {
  display: none;
}

/* Photographes : largeur fixe 15rem (avec retour à la ligne) pour
   Entreprises clientes / Expertises / Accréditations / Adresse / Adresse email. */
.view-photographes .views-field-photographe-entreprises,
.view-photographes .views-field-photographe-expertises-list,
.view-photographes .views-field-photographe-accreditations-list,
.view-photographes .views-field-field-address-address-line1,
.view-photographes .views-field-mail,
.view-photographes .views-field-field-objectifs,
.view-photographes .views-field-field-modele-apn {
  width: 15rem;
  min-width: 15rem;
  max-width: 15rem;
  white-space: normal;
  word-wrap: break-word;
}

/* Photographes : listes potentiellement longues (Entreprises clientes,
   Expertises, Accréditations) — nombre en tête + liste à hauteur limitée
   (~10 lignes) avec défilement vertical. */
.view-photographes .entreprises-clientes-scroll,
.view-photographes .mpa-term-list-scroll {
  max-height: 15em;
  overflow-y: auto;
  display: block;
}

/* Photographes : rubrique « À exclure » — mise en page lisible quand les cases
   sont cochées (les champs dépendants apparaissent). Le groupe de cases prend
   toute la largeur (cases en ligne), puis les champs dépendants s'alignent en
   dessous à largeur fixe. */
#views-exposed-form-photographes-page-1 #edit-rubrique4 .details-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.5rem;
}
#views-exposed-form-photographes-page-1 #edit-rubrique4 .details-wrapper > * {
  width: 15rem;
  min-width: 15rem;
  margin: 0;
}
#views-exposed-form-photographes-page-1 #edit-rubrique4 .details-wrapper > [data-drupal-selector="edit-field-a-exclure-value"] {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
}
#views-exposed-form-photographes-page-1 #edit-rubrique4 .form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
}

/* Photographes : label « A exclure » (legend du fieldset) aligné à gauche. */
#views-exposed-form-photographes-page-1 #edit-rubrique4 [data-drupal-selector="edit-field-a-exclure-value"] > legend,
#views-exposed-form-photographes-page-1 #edit-rubrique4 [data-drupal-selector="edit-field-a-exclure-value"] legend .fieldset-legend,
#views-exposed-form-photographes-page-1 #edit-rubrique4 [data-drupal-selector="edit-field-a-exclure-value"] .fieldset-legend {
  text-align: left;
  width: 100%;
}
