
.ui-grid-row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}
.ui-utility-bar {
  position: relative;
  z-index: 40;
  background: var(--color-titre-hero);
  color: var(--white);
  padding: var(--space-2) 0;
}
.ui-utility-bar--filet {
  height: 6px;
  padding: 0;
}
.ui-utility-inner {
  position: relative;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  display: flex;
}
.ui-utility-text {
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
  font-size: var(--fs-caption);
}
.ui-utility-actions {
  align-items: center;
  gap: var(--space-3);
  display: flex;
}
@media (max-width: 767px) {
  .ui-utility-bar {
    height: 3px;
    padding: 0;
    overflow: hidden;
  }
  .ui-utility-inner { display: none; }
}
.ui-site-header {
  z-index: 30;
  min-height: var(--header-h);
  position: relative;
  background: var(--white);
  padding: 0;
}
.ui-header-inner {
  position: relative;
  align-items: center;
  gap: var(--space-4);
  min-height: var(--header-h);
  padding-right: 13.875rem;
  display: flex;
}
.ui-brand {
  position: absolute;
  z-index: 2;
  left: calc(max(32px, calc((100% - 80rem) / 2)) + 27px);
  top: 1.25rem;
  width: 178px;
  display: block;
}
.ui-brand img { width: 100%; height: auto; display: block; }
.ui-brand--horizontal {
  top: 50%;
  width: 194px;
  transform: translateY(-50%);
}
.ui-brand.ui-brand--horizontal {
  margin-left: 0;
}
@media (min-width: 1400px) {
  .ui-brand { left: calc(max(2rem, calc((100% - 1280px) / 2)) + var(--space-6)); }
}
.ui-nav {
  align-items: center;
  gap: var(--space-4);
  margin-left: auto;
  display: flex;
}
.ui-nav.ui-nav--left { margin-left: 11.25rem; }
.ui-nav-link {
  white-space: nowrap;
  font-size: var(--fs-fixe);
  font-weight: var(--fw-semibold);
  position: relative;
  padding: 0;
  color: inherit;
}
.ui-nav-link:after {
  content: '';
  background: var(--color-primary);
  height: 1px;
  transition: all 0.2s;
  position: absolute;
  bottom: -9px;
  left: 0;
  right: 100%;
}
.ui-nav-link:hover { color: var(--color-primary); }
.ui-nav-link:hover:after { right: 0; }
.ui-nav-link.is-current { color: var(--color-primary); }
.ui-nav-link.is-current:after { right: 0; }
.ui-header-actions {
  position: absolute;
  right: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
  align-items: center;
  gap: var(--space-3);
  display: flex;
}
.ui-menu-button {
  font-size: var(--icon-lg);
  line-height: 1;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.ui-menu-button .material-symbols-outlined { font-size: inherit; vertical-align: middle; }
.ui-nav-offcanvas .btn-close {
  background-image: none;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  opacity: 1;
  display: flex;
}
.ui-nav-offcanvas .btn-close::before {
  content: 'close';
  font-family: 'Material Symbols Outlined';
  font-size: var(--icon-md);
  line-height: 1;
  color: var(--text);
}
@media (max-width: 1100px) {
  .ui-site-header { min-height: 62px; background: var(--white); }
  .ui-header-inner { min-height: 62px; gap: var(--space-3); padding-right: 0; }
  .ui-brand { width: 158px; top: 50%; left: 1.25rem; transform: translateY(-50%); }
  .ui-header-actions { right: var(--space-3); }
}
.ui-hero-carte {
  padding: var(--space-5);
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
}
.ui-hero-carte .ui-eyebrow { color: var(--color-brand-pink-ink); }
.ui-hero-carte .ui-eyebrow { color: var(--color-brand-pink-ink); }
.ui-hero-carte > :last-child {
  margin-bottom: 0;
}
@media (max-width: 560px) {
  .ui-hero-carte {
    padding: var(--space-4);
  }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .ui-brand { width: 178px; left: 2rem; transform: translateY(calc(-50% + 20px)); }
  .ui-header-actions { transform: translateY(calc(-50% + 20px)); }
}
@media (max-width: 767px) {
  .ui-brand { width: 142px; transform: translateY(calc(-50% + 10px)); }
  .ui-header-actions { transform: translateY(calc(-50% + 10px)); }
}
@media (min-width: 1101px) {
  .ui-brand--horizontal {
    left: calc(max(0px, (100% - 1320px) / 2) + var(--space-4));
  }
}
@media (max-width: 1100px) {
  .ui-brand--horizontal {
    width: 162px;
    left: calc(max(0px, (100% - 1320px) / 2) + var(--space-3));
    transform: translateY(-50%);
  }
  .ui-site-header:has(.ui-brand--horizontal) .ui-header-actions {
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .ui-brand--horizontal { width: 156px; }
}
@media (max-width: 560px) {
  .ui-brand--horizontal {
    width: 136px;
    left: calc(max(0px, (100% - 1320px) / 2) + var(--space-3));
  }
  .ui-brand.ui-brand--horizontal {
    margin-left: 0;
  }
}
.ui-header-link-icone { display: none; }
@media (max-width: 479.98px) {
  .ui-header-link:not(:has(.ui-header-link-icone)) { display: none; }
  .ui-header-link:has(.ui-header-link-icone) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: var(--radius-pill);
    background: var(--color-bouton);
    color: var(--white);
    box-shadow: var(--shadow-md);
    transition: transform 0.25s ease, background-color 0.25s ease;
  }
  .ui-header-link:has(.ui-header-link-icone):hover,
  .ui-header-link:has(.ui-header-link-icone):focus-visible {
    background: var(--color-bouton-hover);
    color: var(--white);
    transform: translateY(-2px);
  }
  .ui-header-actions .ui-btn:has(.ui-header-link-icone) {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: var(--radius-pill);
  }
  .ui-header-link-icone { display: block; font-size: var(--icon-md); }
  .ui-header-link-texte { display: none; }
  .ui-site-header .ui-header-actions { gap: var(--space-2); }
}
@media (max-width: 1199.98px) {
  .ui-nav { display: none; }
}
.ui-nav-offcanvas .offcanvas-header {
  align-items: center;
}
.ui-nav-offcanvas .offcanvas-title {
  margin: 0;
}
.ui-nav-offcanvas .ui-side-nav .nav-link {
  padding: var(--space-3) var(--space-3);
  font-size: var(--fs-base);
}
.ui-nav-offcanvas,
.ui-nav-offcanvas .offcanvas-header,
.ui-nav-offcanvas .offcanvas-body {
  background: var(--white);
}
.ui-nav-offcanvas .offcanvas-body {
  flex-direction: column;
  display: flex;
}
.ui-nav-panel-utility {
  display: none;
  background: var(--surface-douce);
  margin: auto calc(-1 * var(--bs-offcanvas-padding-x, 1rem)) calc(-1 * var(--bs-offcanvas-padding-y, 1rem));
  padding: 0 var(--bs-offcanvas-padding-x, 1rem) var(--space-4);
}
@media (max-width: 767px) {
  .ui-nav-panel-utility { display: block; }
}
.ui-nav-panel-divider {
  border: 0;
  border-top: 1px solid var(--border);
  opacity: 1;
  margin: 0 calc(-1 * var(--bs-offcanvas-padding-x, 1rem)) var(--space-3);
}
.ui-nav-offcanvas--plein.offcanvas-end { width: 100%; border-left: 0; }
.ui-nav-offcanvas--plein .offcanvas-header { padding: var(--space-4) var(--space-4) var(--space-3); }
.ui-nav-offcanvas--plein .ui-close-button { width: var(--control-h-sm); height: var(--control-h-sm); margin: 0 0 0 auto; }
.ui-nav-offcanvas--plein .ui-close-button::before { color: var(--color-dark); }
.ui-nav-plein-marque img { display: block; height: 20px; width: auto; }
.ui-nav-offcanvas--plein .offcanvas-body { padding: var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom)); }
.ui-nav-plein-liste { margin: 0; padding: 0; list-style: none; }
.ui-nav-plein-liste li { border-bottom: 1px solid var(--border); }
.ui-nav-plein-lien,
.ui-menu-mobile-lien {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 56px;
  color: var(--color-titre);
  font-family: var(--font-display);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  text-decoration: none;
}
.ui-nav-plein-lien .material-symbols-outlined,
.ui-menu-mobile-lien .material-symbols-outlined { color: var(--text-muted); font-size: var(--icon-lg); }
.ui-nav-plein-lien:hover,
.ui-nav-plein-lien:focus,
.ui-nav-plein-lien:focus-visible,
.ui-nav-plein-lien.is-current { color: var(--color-brand-pink-ink); text-decoration: none; }
.ui-nav-plein-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  margin-top: auto;
  border-radius: var(--radius-md);
  background: var(--surface-douce);
  padding: var(--space-4);
}
.ui-nav-plein-accroche { margin: 0; color: var(--color-titre); font-family: var(--font-display); font-size: var(--fs-h5); font-weight: var(--fw-bold); line-height: 1.25; text-align: center; }
.ui-nav-plein-principal { justify-content: center; width: 100%; }
.ui-nav-plein-secondaire { order: 1; color: var(--color-titre); font-weight: var(--fw-semibold); text-align: center; text-decoration: none; }
.ui-nav-plein-secondaires { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-1) var(--space-4); margin-top: var(--space-3); }
.ui-nav-plein-secondaires a { color: var(--text-muted); font-size: var(--fs-sm); text-decoration: none; }
.ui-nav-plein-secondaires a:hover,
.ui-nav-plein-secondaires a[aria-current] { color: var(--color-titre); }
.ui-nav-panel-language {
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-3);
  padding: 0 var(--space-3);
  font-size: var(--fs-sm);
  color: var(--text);
  display: flex;
}
.ui-hero-scroll-zone { position: relative; }
.ui-hero-scroll-zone--degrade {
  background: linear-gradient(to bottom, var(--white), var(--section-teinte-7));
  background-size: 100% calc(100% - var(--search-bar-h, 0px) / 2);
  background-repeat: no-repeat;
}
.ui-hero-scroll-zone--degrade .ui-hero {
  background: transparent;
}
.ui-hero {
  position: relative;
  min-height: 680px;
  margin-top: var(--space-4);
  padding-block: var(--space-6);
  display: flex;
  align-items: center;
}
@keyframes ui-hero-in { to { opacity: 1; } }
.ui-hero.ui-hero--recherche:has(.ui-hero-fond) {
  min-height: var(--hero-tete-h);
  padding-block: var(--space-6);
}
.ui-hero-recherche .ui-filtres {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--hero-tete-barre-h);
}
.ui-hero:has(.ui-hero-fond) {
  background: transparent;
  margin-top: 0;
}
.ui-hero-fond {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}
.ui-hero--recherche .ui-hero-fond {
  height: calc(100% + var(--search-bar-h, 0px) / 2);
}
.ui-hero-voile {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--white) 94%, transparent) 0%,
    color-mix(in srgb, var(--white) 88%, transparent) 40%,
    color-mix(in srgb, var(--white) 45%, transparent) 68%,
    rgb(from var(--white) r g b / 0) 92%);
}
@media (max-width: 991.98px) {
  .ui-hero-voile {
    background: linear-gradient(180deg,
      rgb(from var(--white) r g b / 0) 0%,
      color-mix(in srgb, var(--white) 70%, transparent) 22%,
      color-mix(in srgb, var(--white) 94%, transparent) 42%,
      color-mix(in srgb, var(--white) 97%, transparent) 100%);
  }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .ui-hero-image { object-position: calc(50% - 100px) bottom; }
}
@media (max-width: 820px) {
  .ui-hero-image { object-position: 60% bottom; }
}
@media (max-width: 820px) {
  .ui-hero-overlay { background: linear-gradient(90deg, color-mix(in srgb, var(--white) 90.1961%, transparent), color-mix(in srgb, var(--white) 45.098%, transparent) 70%, transparent); }
}
@media (max-width: 767px) {
  .ui-hero-overlay { background: linear-gradient(90deg, var(--white) 0%, color-mix(in srgb, var(--white) 65.098%, transparent) 70%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .ui-hero { opacity: 1; animation: none; }
  .ui-hero-bulle { animation: none; }
}
.ui-hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
}
.ui-hero-visual > img {
  width: 100%;
  max-width: 560px;
  height: auto;
  border-radius: var(--radius);
}
.ui-hero-visual--detoure::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 100%;
  max-width: 620px;
  aspect-ratio: 620 / 580;
  border-radius: 46% 54% 58% 42% / 47% 43% 57% 53%;
  background: color-mix(in srgb, var(--surface-appuyee) 40%, transparent);
  transform: translate(-50%, -50%) rotate(-6deg);
}
.ui-hero-visual--detoure > img {
  position: relative;
  z-index: 1;
}
.ui-hero-visual--detoure > img {
  max-width: 38.5rem;
  border-radius: 0;
  filter:
    drop-shadow(0 0 var(--space-5) color-mix(in srgb, var(--color-primary) 25%, transparent))
    drop-shadow(var(--shadow-md));
}
@media (min-width: 992px) {
  .ui-hero-visual--detoure {
    align-self: flex-end;
    translate: 0 3.75rem;
  }
  .ui-hero-visual--detoure > img {
    --sujet-hauteur: 35.375rem;
    --sujet-grossi: 1;
    width: calc(115% * var(--sujet-grossi));
    max-width: calc(44.25rem * var(--sujet-grossi));
    max-height: calc(var(--sujet-hauteur) * var(--sujet-grossi));
    margin-block-start: calc(var(--sujet-hauteur) * (1 - var(--sujet-grossi)));
    flex-shrink: 0;
    object-fit: contain;
    object-position: bottom;
    transform: translateX(calc(-1.875rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translateX(-1.875rem) rotate(-6deg);
  }
}
@media (min-width: 1100px) {
  .ui-hero-visual--detoure > img {
    transform: translateX(calc(-3.75rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translateX(-3.75rem) rotate(-6deg);
  }
}
.ui-hero-content {
  position: relative;
  z-index: 2;
  align-content: stretch;
}
.ui-hero-copy { align-self: center; }
.ui-hero-copy-primary { align-self: center; }
@media (max-width: 1100px) {
  .ui-hero-copy-primary { margin-top: 11.875rem; }
  .ui-hero--recherche:has(.ui-hero-fond) .ui-hero-copy-primary {
    margin-top: 0;
  }
  .ui-hero--recherche .ui-hero-copy-primary { margin-top: 0; }
}
@media (max-width: 767px) {
  .ui-hero-copy { align-self: center; }
}
.ui-hero .ui-hero-copy-primary .ui-display-title {
  top: 0;
  opacity: 0;
  transform: translateY(26px);
  animation: ui-hero-copy-in 800ms cubic-bezier(0.16, 1, 0.3, 1) 280ms forwards;
}
.ui-hero .ui-display-title {
  color: var(--color-titre-hero);
  margin-bottom: var(--space-4);
  position: relative;
  top: 1.25rem;
}
.ui-hero--recherche .ui-hero-copy-primary {
  position: relative;
  top: -3.75rem;
}
.ui-hero--recherche:has(.ui-hero-fond) .ui-hero-copy-primary,
.ui-hero--recherche:has(.ui-hero-fond) .ui-display-title {
  top: 0;
}
.ui-hero .ui-display-title .ui-accent { color: var(--color-brand-pink); }
@media (max-width: 767px) {
  .ui-hero .ui-display-title { margin-bottom: var(--space-4); }
}
@media (max-width: 560px) {
  .ui-hero .ui-display-title { margin-bottom: calc(var(--space-3) * 2); }
  .ui-hero--recherche .ui-hero-copy-primary { margin-top: 0; }
}
.ui-hero-lead {
  margin-bottom: var(--space-4);
  font-size: var(--fs-lead);
  line-height: var(--lh-base);
  max-width: 460px;
}
.ui-hero-lead-titre,
.ui-hero-lead-texte {
  margin: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}
@media (max-width: 767px) { .ui-hero-lead { margin-inline: auto; } }
@media (max-width: 560px) {
  .ui-hero-lead { max-width: 290px; font-size: var(--fs-lead); margin-bottom: var(--space-6); }
}
.ui-hero-copy-primary .ui-hero-lead {
  opacity: 0;
  transform: translateY(20px);
  animation: ui-hero-copy-in 720ms cubic-bezier(0.16, 1, 0.3, 1) 520ms forwards;
}
@keyframes ui-hero-copy-in { to { opacity: 1; transform: translateY(0); } }
.ui-hero-bulle {
  position: absolute;
  z-index: 2;
  inset-block-start: calc(8% - 20px);
  inset-inline-start: -1.875rem;
  max-width: 13rem;
  margin: 0;
  padding: var(--space-4) var(--space-5);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  background: var(--white);
  color: var(--color-dark);
  font-family: var(--font-display);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  line-height: var(--lh-heading);
  text-align: center;
  animation: ui-hero-bulle-flotte 2.016s ease-in-out infinite alternate;
}
@keyframes ui-hero-bulle-flotte {
  from { transform: translateY(0); }
  to   { transform: translateY(-0.9rem); }
}
.ui-hero-bulle::before,
.ui-hero-bulle::after {
  content: "";
  position: absolute;
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  background: var(--white);
}
.ui-hero-bulle::before {
  inset-block-end: -1.125rem;
  inset-inline-end: 2.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.ui-hero-bulle::after {
  inset-block-end: -2.125rem;
  inset-inline-end: 1.25rem;
  width: 0.75rem;
  height: 0.75rem;
}
@media (min-width: 1200px) {
  .ui-hero-bulle { inset-inline-start: -8.125rem; }
}
@media (max-width: 991px) {
  .ui-hero-visual--detoure {
    margin-block-start: calc(var(--space-6) * -1 + var(--space-4));
  }
}
@media (min-width: 992px) {
  .ui-hero-bulle--haut { inset-block-start: -4.5rem; }
}
@media (min-width: 992px) {
  .ui-hero:has(.ui-hero-visual--detoure) { overflow-x: clip; }
}
@media (min-width: 992px) and (max-width: 1099px) {
  .ui-hero--recherche .ui-hero-copy-primary { width: calc(50% - 3.125rem); }
  .ui-hero-visual--detoure {
    margin-inline-start: auto;
    translate: 0 1.25rem;
  }
  .ui-hero-visual--detoure > img {
    --sujet-hauteur: 28rem;
    --sujet-grossi: 1.276;
    transform: translateX(calc(-1rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translate(-1rem, -3.875rem) rotate(-6deg) scale(1.2);
  }
}
@media (min-width: 1100px) and (max-width: 1199px) {
  .ui-hero-visual--detoure > img {
    --sujet-hauteur: 28rem;
    --sujet-grossi: 1.3;
    transform: translateX(calc(-0.75rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translate(-0.75rem, -4.1875rem) rotate(-6deg) scale(1.2);
  }
  .ui-hero--recherche .ui-hero-copy-primary { width: calc(50% - 3.125rem); }
  .ui-hero-visual--detoure {
    margin-inline-start: auto;
    translate: 0 1.25rem;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .ui-hero-visual--detoure > img {
    --sujet-grossi: 1.2;
    transform: none;
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translateY(-3.5625rem) rotate(-6deg) scale(1.2);
  }
}
@media (min-width: 1300px) and (max-width: 1399px) {
  .ui-hero-visual--detoure > img {
    --sujet-grossi: 1.38;
    transform: translateX(calc(-1rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translate(-1rem, -6.75rem) rotate(-6deg) scale(1.2);
  }
}
@media (min-width: 1400px) {
  .ui-hero-visual--detoure { translate: 0 5.25rem; }
  .ui-hero-visual--detoure > img {
    --sujet-grossi: 1.386;
    transform: translateX(calc(-1.875rem * var(--sujet-grossi)));
  }
  .ui-hero-visual--detoure::before {
    transform: translate(-50%, -50%) translate(-1.875rem, -6.8125rem) rotate(-6deg) scale(1.2);
  }
  .ui-hero-bulle--haut {
    inset-block-start: -8.5rem;
    inset-inline-start: -10.625rem;
  }
}
@media (max-width: 991px) {
  .ui-hero-bulle {
    inset-inline-start: 0;
    max-width: 10rem;
    padding: var(--space-3) var(--space-4);
    font-size: var(--fs-base);
  }
}
.ui-hero.ui-hero--recherche {
  min-height: 0;
  padding-bottom: 0;
}
.ui-hero-recherche {
  position: relative;
  z-index: 2;
  margin-bottom: calc(-1 * var(--search-bar-h, 0px) / 2);
}
.ui-hero-scroll-zone:has(.ui-hero-recherche) + .ui-section {
  position: relative;
  padding-top: calc(var(--space-7) + var(--search-bar-h, 0px) / 2);
}
.ui-hero-load-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  opacity: 0;
  transform: translateY(16px);
  animation: ui-hero-actions-in 650ms cubic-bezier(0.16, 1, 0.3, 1) 800ms forwards;
}
@media (max-width: 767px) { .ui-hero-load-actions { align-items: center; } }
@media (max-width: 560px) {
  .ui-hero-load-actions { flex-direction: column; align-items: stretch; }
}
@keyframes ui-hero-actions-in { to { opacity: 1; transform: translateY(0); } }
.ui-hero-code {
  margin-top: var(--space-4);
  max-width: 34rem;
  opacity: 0;
  transform: translateY(16px);
  animation: ui-hero-actions-in 650ms cubic-bezier(0.16, 1, 0.3, 1) 800ms forwards;
}
.ui-hero-code-ligne { display: flex; gap: var(--space-2); }
.ui-hero-code-champ { flex: 1 1 auto; min-width: 0; text-transform: uppercase; letter-spacing: 0.08em; }
.ui-hero-code-champ::placeholder { text-transform: none; letter-spacing: normal; }
.ui-hero-code .ui-btn { flex-shrink: 0; }
.ui-hero-code > .ui-form-error,
.ui-hero-code > .ui-form-text { margin-top: var(--space-2); }
@media (max-width: 560px) {
  .ui-hero-code-ligne { flex-direction: column; }
}
.ui-hero-visual--mosaique {
  --cadre-photo: 6px;
  position: relative;
  min-height: 520px;
  align-items: center;
  padding-block: var(--space-5);
}
.ui-hero-mosaique {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--space-3);
  width: min(100%, 460px);
  aspect-ratio: 1;
  transform: rotate(-3deg);
}
.ui-hero-mosaique-photo {
  margin: 0;
  overflow: hidden;
  border: var(--cadre-photo) solid var(--white);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-md);
}
.ui-hero-mosaique-photo:nth-child(odd) { transform: translateY(var(--space-3)); }
.ui-hero-mosaique-photo:nth-child(even) { transform: translateY(calc(var(--space-3) * -1)); }
.ui-hero-mosaique-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ui-hero-etiquette {
  position: absolute;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--white);
  box-shadow: var(--shadow-md);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  white-space: nowrap;
}
.ui-hero-etiquette img {
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  border: 2px solid var(--white);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px var(--border);
}
.ui-hero-etiquette strong { display: block; font-weight: var(--fw-semibold); }
.ui-hero-etiquette small { display: flex; align-items: center; gap: var(--space-1); color: var(--text-muted); font-size: var(--fs-caption); }
.ui-hero-etiquette small .material-symbols-outlined { font-size: var(--icon-sm); color: var(--color-primary); }
.ui-hero-etiquette--1 { top: calc(8% + 150px); left: -2%; }
.ui-hero-etiquette--2 { bottom: 12%; left: 4%; }
.ui-hero-etiquette--3 { top: calc(46% + 40px); right: 0; }
@media (min-width: 991.02px) {
  .ui-hero-visual--mosaique { top: calc((var(--space-4) + var(--space-3)) * -1); }
}
@media (max-width: 991px) {
  .ui-hero-visual--mosaique { min-height: 0; margin-top: 0; padding-top: 0; }
  .ui-hero-etiquette--1 { left: 0; }
}
@media (max-width: 560px) {
  .ui-hero-visual--mosaique { --cadre-photo: 3px; }
  .ui-hero-etiquette { font-size: var(--fs-caption); }
  .ui-hero-etiquette--3 { display: none; }
}
.ui-hero.ui-hero--recherche:has(.ui-hero-code) { padding-top: calc(var(--space-6) + var(--space-4) + var(--space-3)); }
@keyframes ui-lancement-entree { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ui-lancement-logo { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes ui-lancement-visuel { from { opacity: 0; transform: scale(0.97); } to { opacity: 1; transform: none; } }
body:has(.ui-hero-code) .ui-brand { animation: ui-lancement-logo 400ms cubic-bezier(0.16, 1, 0.3, 1) both; }
.ui-hero:has(.ui-hero-code) .ui-hero-copy-primary > .ui-eyebrow { animation: ui-lancement-entree 450ms cubic-bezier(0.16, 1, 0.3, 1) 100ms both; }
.ui-hero:has(.ui-hero-code) .ui-hero-copy-primary .ui-display-title { animation: ui-lancement-entree 500ms cubic-bezier(0.16, 1, 0.3, 1) 200ms both; }
.ui-hero:has(.ui-hero-code) .ui-hero-copy-primary .ui-hero-lead { animation: ui-lancement-entree 450ms cubic-bezier(0.16, 1, 0.3, 1) 320ms both; }
.ui-hero:has(.ui-hero-code) .ui-hero-code { animation: ui-lancement-entree 450ms cubic-bezier(0.16, 1, 0.3, 1) 440ms both; }
.ui-hero:has(.ui-hero-code) .ui-hero-visual { animation: ui-lancement-visuel 700ms cubic-bezier(0.16, 1, 0.3, 1) 150ms both; }
@media (prefers-reduced-motion: reduce) {
  body:has(.ui-hero-code) .ui-brand,
  .ui-hero:has(.ui-hero-code) .ui-hero-copy-primary > .ui-eyebrow,
  .ui-hero:has(.ui-hero-code) .ui-hero-copy-primary .ui-display-title,
  .ui-hero:has(.ui-hero-code) .ui-hero-copy-primary .ui-hero-lead,
  .ui-hero:has(.ui-hero-code) .ui-hero-code,
  .ui-hero:has(.ui-hero-code) .ui-hero-visual { animation: none; opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ui-hero-code,
  .ui-hero-load-actions,
  .ui-hero .ui-hero-copy-primary .ui-display-title,
  .ui-hero-copy-primary .ui-hero-lead {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.ui-cards-section {
  position: relative;
  overflow: hidden;
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
  background: linear-gradient(color-mix(in srgb, var(--white) 10.1961%, transparent), color-mix(in srgb, var(--white) 10.1961%, transparent)), url('../../images/fond.svg');
  background-size: cover;
  background-position: center calc(50% + var(--commitment-bg-y, 0px));
  background-repeat: no-repeat;
}
.ui-cards-section > .ui-container { position: relative; z-index: 1; }
.ui-showcase {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(115deg, color-mix(in srgb, var(--color-dark) 74.1176%, transparent) 0%, color-mix(in srgb, var(--color-dark-soft) 72.1569%, transparent) 52%, color-mix(in srgb, var(--color-dark) 78.0392%, transparent) 100%),
    url('../../images/fond.svg');
  background-size: cover, cover;
  background-position: center, center calc(50% + var(--collection-bg-y, 0px));
  background-repeat: no-repeat;
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}
.ui-showcase > .ui-container { position: relative; z-index: 1; }
.ui-showcase .ui-section-heading {
  align-items: center;
  margin-bottom: var(--space-6);
}
.ui-showcase .ui-section-heading > div:first-child {
  position: relative;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5 + var(--space-3));
}
.ui-showcase .ui-section-heading > div:first-child::before,
.ui-showcase .ui-eyebrow--accent { color: var(--on-dark-muted); }
.ui-showcase .ui-section-title {
  color: var(--surface-douce);
  text-shadow: 0 2px 18px color-mix(in srgb, var(--shadow-color) 40%, transparent);
}
.ui-showcase .ui-section-title .ui-accent { color: var(--accent-sur-sombre); }
.ui-showcase .ui-showcase-lead {
  color: var(--on-dark-muted);
  max-width: 440px;
  margin-bottom: 0;
}
.ui-showcase--dark .ui-showcase-lead { color: var(--on-dark-muted); }
.ui-showcase--dark .ui-eyebrow--accent { color: var(--on-dark-muted); }
@media (max-width: 820px) {
  .ui-showcase--dark .ui-grid-row { max-width: 680px; margin-inline: auto; }
}
.ui-groupes-grille {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}
.ui-groupes-grille > .ui-grid-item { display: flex; }
.ui-groupes-grille .ui-groupe-carte { width: 100%; }
.ui-groupes-action {
  margin-top: var(--space-6);
  text-align: center;
}
.ui-content-heading {
  text-align: center;
  margin-bottom: var(--space-5);
}
.ui-content-row { align-items: start; }
.ui-content-section--cale-haut > .ui-container > .ui-content-row { align-items: flex-start !important; }
.ui-apropos-activites { margin-top: calc(var(--space-4) + var(--space-2)); }
.ui-apropos-activites > .ui-eyebrow { margin-bottom: var(--space-2); }
.ui-apropos-activites > ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-apropos-activites li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--surface-card);
}
.ui-apropos-activites li > .material-symbols-outlined {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  background: var(--surface-appuyee);
  color: var(--color-primary);
  font-size: var(--icon-md);
}
.ui-apropos-activites li > span:last-child {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-apropos-activites strong { color: var(--color-titre); }
.ui-apropos-sorties li { padding: 0; }
.ui-apropos-sorties li > a {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}
.ui-apropos-sorties img {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  object-fit: cover;
}
.ui-apropos-sorties li > a > span {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-apropos-sorties li > a:hover strong,
.ui-apropos-sorties li > a:focus-visible strong { color: var(--color-primary); }
.ui-apropos-questions {
  display: grid;
  gap: var(--space-2);
  margin-top: calc(var(--space-4) + var(--space-3) + var(--space-1));
}
.ui-apropos-questions > .ui-eyebrow { margin-bottom: 0; }
.ui-apropos-sponsor { margin-top: var(--space-4); }
.ui-apropos-sponsor > .ui-eyebrow { margin-bottom: var(--space-2); }
.ui-content-section--cale-haut .ui-content-media > img,
.ui-content-section--inclinee .ui-content-media > img,
.ui-apropos-sponsor > a {
  transform: rotate(var(--inclinaison, 0deg));
  transition: transform 0.25s ease;
}
.ui-content-section--cale-haut .ui-content-media > img { --inclinaison: -1.2deg; }
.ui-content-section--inclinee .ui-content-media > img { --inclinaison: 1.2deg; }
.ui-content-section--carree .ui-content-media > img { aspect-ratio: 1; }
.ui-apropos-sponsor > a { --inclinaison: 1.1deg; }
.ui-apropos-sponsor > a {
  display: block;
  overflow: hidden;
  border: 11px solid var(--white);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-photo);
}
.ui-apropos-sponsor img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.ui-apropos-sponsor-mention {
  margin: var(--space-2) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-caption);
  text-align: right;
}
.ui-apropos-questions details {
  padding: 0 var(--space-3);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--surface-card);
}
.ui-apropos-questions summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-3) 0;
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}
.ui-apropos-questions summary::-webkit-details-marker { display: none; }
.ui-apropos-questions summary > .material-symbols-outlined { transition: transform 0.2s ease; }
.ui-apropos-questions details[open] summary > .material-symbols-outlined { transform: rotate(180deg); }
.ui-apropos-questions details > p { margin: 0 0 var(--space-3); color: var(--text-muted); font-size: var(--fs-sm); }
.ui-content-media > img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
  display: block;
}
.ui-content-body > p {
  color: var(--text-muted);
  line-height: var(--lh-base);
}
.ui-content-body > p + p { margin-top: var(--space-4); }
.ui-content-body > .ui-section-title { margin-top: var(--space-5); }
.ui-content-body > .ui-content-chapo { font-size: var(--fs-lead); }
.ui-legal .ui-content-body > h2 {
  margin: var(--space-5) 0 var(--space-2);
  color: var(--color-titre);
  font-size: var(--fs-h5);
  line-height: var(--lh-heading);
}
.ui-legal .ui-content-body > ul > li + li { margin-top: var(--space-2); }
.ui-legal .ui-content-body a { color: var(--color-primary); text-decoration: underline; }
.ui-legal .ui-content-body strong { color: var(--text); }
.ui-legal-maj { font-size: var(--fs-sm); }
.ui-content-body > ul {
  color: var(--text-muted);
  margin: var(--space-4) 0 0;
  padding-left: var(--space-4);
  line-height: var(--lh-base);
}
@media (max-width: 991.98px) {
.ui-content-section--blanc {
  background: var(--white);
}
.ui-content-media { margin-bottom: var(--space-4); }
  .ui-content-media + .ui-content-body { margin-top: 0; }
  .ui-content-body + .ui-content-media { margin-top: var(--space-4); margin-bottom: 0; }
}
.ui-cta-band {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: var(--space-7) 0;
  color: var(--surface-douce);
  background-image:
    linear-gradient(115deg, color-mix(in srgb, var(--color-dark) 74.1176%, transparent) 0%, color-mix(in srgb, var(--color-dark-soft) 72.1569%, transparent) 52%, color-mix(in srgb, var(--color-dark) 78.0392%, transparent) 100%),
    url('../../images/fond.svg');
  background-size: cover;
  background-position: center 46%;
}
.ui-cta-band-row {
  position: relative;
  z-index: 1;
  --bs-gutter-y: 2.75rem;
}
.ui-cta-band-copy {
  position: relative;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5 + var(--space-3));
}
.ui-cta-band-copy .ui-eyebrow { margin-bottom: var(--space-4); color: var(--on-dark-muted); }
.ui-cta-band-copy h2 {
  margin: 0 0 var(--space-4);
  color: var(--surface-douce);
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  font-weight: var(--fw-medium);
  line-height: var(--lh-heading);
  text-shadow: 0 2px 18px color-mix(in srgb, var(--shadow-color) 40%, transparent);
}
.ui-cta-band-copy h2 span { color: var(--accent-clair); }
.ui-cta-band-copy > p:last-child {
  max-width: 650px;
  color: var(--on-dark-muted);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
}
.ui-faq {
  position: relative;
  overflow: hidden;
  background: var(--section-teinte-7);
}
.ui-faq-row {
  --bs-gutter-x: 6.25rem;
  --bs-gutter-y: 6.25rem;
}
@media (max-width: 767px) {
  .ui-faq-row > div:first-child > p:not(.ui-eyebrow) { margin-bottom: var(--space-5); }
}
@media (max-width: 560px) {
  .ui-faq-row { --bs-gutter-x: 3.125rem; --bs-gutter-y: 3.125rem; }
}
.ui-page-hero {
  min-height: 180px;
  color: var(--color-dark);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--white) 74.902%, transparent) 0%, color-mix(in srgb, var(--white) 57.6471%, transparent) 36%, color-mix(in srgb, var(--white) 35.2941%, transparent) 61%, rgb(from var(--white) r g b / 0) 82%),
    url('../../images/fond.svg') center 58% / cover;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 820px) {
  .ui-page-hero { min-height: 166px; }
}
.ui-breadcrumb-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
}
.ui-breadcrumb-bar--filet { border-top: 1px solid var(--border); }
.ui-footer {
  isolation: isolate;
  background: var(--section-pied);
  color: var(--on-dark);
  padding: 0 0 var(--space-4);
  position: relative;
  overflow: hidden;
}
.ui-footer > .ui-container { position: relative; z-index: 1; }
.ui-footer-cta {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--space-3);
  padding: var(--space-6) 0 var(--space-4);
}
@media (max-width: 560px) { .ui-footer-cta { padding: var(--space-5) 0 var(--space-4); } }
.ui-footer-cta .ui-eyebrow { text-align: center; color: var(--on-dark); }
.ui-footer-cta .ui-section-title {
  margin: 0;
  font-size: var(--fs-display-5);
  color: var(--text);
  text-shadow: 0 2px 18px color-mix(in srgb, var(--shadow-color) 40%, transparent);
}
.ui-footer-cta .ui-section-title .ui-accent { color: var(--color-brand-pink); }
.ui-footer-grid {
  padding-top: var(--space-5);
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}
@media (max-width: 560px) {
  .ui-footer-grid {
    padding-top: var(--space-4);
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 2.1875rem;
  }
}
.ui-footer-logo {
  display: block;
  width: 243px;
  max-width: 100%;
  height: auto;
  margin-bottom: var(--space-3);
}
@media (max-width: 560px) {
  .ui-footer-logo {
    width: 178px;
    margin: 0 auto var(--space-3);
  }
}
.ui-footer-brand > p {
  color: var(--on-dark-soft);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.ui-footer-contact {
  flex-direction: column;
  margin-top: var(--space-4);
  display: flex;
}
.ui-footer-contact span,
.ui-footer-brand .ui-footer-contact a {
  color: var(--on-dark-soft);
  font-size: var(--fs-sm);
  line-height: var(--lh-base);
}
.ui-footer-contact span { margin-bottom: var(--space-2); }
.ui-footer-contact .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-footer-address { align-items: center; gap: var(--space-2); display: inline-flex; }
.ui-footer-address svg { flex-shrink: 0; }
.ui-footer-brand .ui-footer-contact a {
  align-items: center;
  gap: var(--space-2);
  display: inline-flex;
  transition: color 0.2s ease;
}
.ui-footer-contact a svg { flex-shrink: 0; }
.ui-footer-brand .ui-footer-contact a:hover { color: var(--on-dark); }
.ui-footer-grid h3 { color: var(--on-dark); margin-bottom: var(--space-3); }
.ui-footer-grid a {
  color: var(--on-dark-soft);
  margin-bottom: var(--space-3);
  font-size: var(--fs-sm);
  display: block;
  transition: color 0.2s ease, transform 0.2s ease;
}
.ui-footer-grid a:hover { color: var(--on-dark); }
.ui-footer-signature {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  justify-self: center;
  flex-wrap: wrap;
}
.ui-footer-signature .material-symbols-outlined {
  color: var(--color-brand-pink);
  font-size: var(--icon-sm);
  font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 20;
}
.ui-footer-bottom {
  color: var(--on-dark-soft);
  border-top: 1px solid var(--border-on-dark);
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  font-size: var(--fs-sm);
  display: grid;
}
.ui-footer-bottom a { color: inherit; }
.ui-footer-legal { text-align: center; }
.ui-footer-credit { color: var(--on-dark-soft); }
.ui-footer-credit:hover { color: var(--on-dark); }
.ui-footer-social {
  justify-self: end;
  align-items: center;
  gap: var(--space-3);
  display: flex;
}
.ui-footer-social a {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-on-dark-strong);
  border-radius: 50%;
  color: var(--on-dark-soft);
  display: inline-grid;
  place-items: center;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.ui-footer-social a:hover {
  color: var(--color-dark);
  background: var(--accent-clair);
  border-color: var(--accent-clair);
  transform: translateY(-2px);
}
@media (max-width: 560px) {
  .ui-footer-bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: var(--space-3);
  }
  .ui-footer-social { justify-self: center; }
}
.ui-testimonials .ui-section-heading { margin-bottom: var(--space-5); }
.ui-testimonials .ui-section-heading .ui-text-link { font-size: inherit; }
.ui-testimonial-carousel {
  --ui-carousel-foot: 0px;
  position: relative;
  padding-bottom: var(--ui-carousel-foot);
}
.ui-testimonial-carousel .ui-testimonial-card {
  padding-inline: var(--space-7);
  padding-bottom: var(--space-6);
}
.ui-testimonial-carousel .carousel-control-prev,
.ui-testimonial-carousel .carousel-control-next {
  top: calc((100% - var(--ui-carousel-foot)) / 2);
  bottom: auto;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--surface-douce);
  box-shadow: var(--shadow-md);
  opacity: 1;
  transition: background-color 0.2s ease;
}
.ui-testimonial-carousel .carousel-control-prev { left: 1.25rem; }
.ui-testimonial-carousel .carousel-control-next { right: 1.25rem; }
.ui-testimonial-carousel .carousel-control-prev:hover,
.ui-testimonial-carousel .carousel-control-next:hover,
.ui-testimonial-carousel .carousel-control-prev:focus-visible,
.ui-testimonial-carousel .carousel-control-next:focus-visible {
  background: var(--surface-appuyee);
  opacity: 1;
}
.ui-testimonial-carousel .carousel-control-prev-icon,
.ui-testimonial-carousel .carousel-control-next-icon {
  width: auto;
  height: auto;
  background-image: none;
}
.ui-testimonial-carousel .carousel-control-prev-icon::before,
.ui-testimonial-carousel .carousel-control-next-icon::before {
  font-family: 'Material Symbols Outlined';
  font-size: var(--icon-md);
  line-height: 1;
  color: var(--white);
}
.ui-testimonial-carousel .carousel-control-prev-icon::before { content: 'chevron_left'; }
.ui-testimonial-carousel .carousel-control-next-icon::before { content: 'chevron_right'; }
.ui-testimonial-carousel .carousel-indicators {
  bottom: calc(var(--ui-carousel-foot) + 1.25rem);
  margin: 0;
  gap: var(--space-3);
}
.ui-testimonial-carousel .carousel-indicators [data-bs-target] {
  width: 8px;
  height: 8px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--color-dark-soft);
  opacity: 0.28;
}
.ui-testimonial-carousel .carousel-indicators .active {
  background-color: var(--color-primary);
  opacity: 1;
}
@media (max-width: 560px) {
  .ui-testimonial-carousel { --ui-carousel-foot: 56px; }
  .ui-testimonial-carousel .ui-testimonial-card {
    padding-inline: var(--space-4);
    padding-bottom: var(--space-5);
  }
  .ui-testimonial-carousel .carousel-control-prev,
  .ui-testimonial-carousel .carousel-control-next {
    top: auto;
    bottom: 0;
    transform: none;
    width: 40px;
    height: 40px;
  }
  .ui-testimonial-carousel .carousel-control-prev { left: 0; }
  .ui-testimonial-carousel .carousel-control-next { right: 0; }
}
.ui-hero-selection {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  min-height: 575px;
  padding: var(--space-7) 0 0;
}
.ui-hero-selection .ui-selection-mini {
  position: relative;
  z-index: 2;
}
.ui-selection-forme {
  position: absolute;
  z-index: -1;
  width: 510px;
  height: 505px;
  border-radius: 46% 54% 58% 42% / 47% 43% 57% 53%;
  background: color-mix(in srgb, var(--surface-appuyee) 40%, transparent);
  transform: rotate(-5deg);
}
.ui-selection-forme::after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: 10px;
  width: 255px;
  height: 280px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 25%, transparent);
}
.ui-selection-token-rangee {
  position: absolute;
  z-index: 4;
  top: 0.0625rem;
  left: 0;
  right: 0;
}
.ui-selection-token {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-md);
}
.ui-selection-token::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  height: 32px;
  border-left: 2px dashed color-mix(in srgb, var(--color-primary) 40%, transparent);
}
.ui-selection-carre {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: var(--white);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-selection-token > img {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: var(--radius-sm);
  object-fit: cover;
}
.ui-selection-token div {
  display: grid;
}
.ui-selection-token strong {
  font-size: var(--fs-base);
}
.ui-selection-token small {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.3;
}
.ui-hero-selection--concept {
  padding: 0 0 var(--space-7);
  top: 1.875rem;
}
.ui-hero-selection--concept .ui-selection-token-rangee {
  top: auto;
  bottom: 0.0625rem;
}
.ui-hero-selection--concept .ui-selection-token::after {
  top: auto;
  bottom: 100%;
}
.ui-hero-board {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: var(--space-4);
  width: 100%;
  min-height: 620px;
  padding: var(--space-4) 0;
}
.ui-hero-board::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 620px;
  height: 580px;
  border-radius: 46% 54% 58% 42% / 47% 43% 57% 53%;
  background: color-mix(in srgb, var(--surface-appuyee) 40%, transparent);
  transform: rotate(-6deg);
}
.ui-board-bloc {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  align-items: start;
  gap: 0;
  width: min(640px, 100%);
}
.ui-board-fiche {
  position: relative;
  left: 10px;
  z-index: 1;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
  transform: rotate(-2deg);
}
.ui-board-fiche img {
  display: block;
  width: 100%;
  height: 319px;
  object-fit: cover;
}
.ui-board-identite {
  display: grid;
  gap: 0.125rem;
  padding: var(--space-3) var(--space-3) var(--space-3);
}
.ui-board-identite strong {
  font-size: var(--fs-h5);
  letter-spacing: -0.025em;
}
.ui-board-identite span {
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-board-identite > span {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.ui-board-identite .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-board-panneau {
  position: relative;
  z-index: 2;
  margin-top: var(--space-5);
  margin-left: calc(var(--space-4) * -1);
  padding: var(--space-4) var(--space-4) var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
  transform: rotate(1.5deg);
}
.ui-board-criteres {
  width: 100%;
  border-collapse: collapse;
}
.ui-board-criteres th {
  padding: 0 0 var(--space-3);
  border-bottom: 1px solid var(--border);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: 800;
  letter-spacing: 0.13em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.ui-board-criteres th:last-child,
.ui-board-criteres td:last-child {
  width: 1%;
  padding-left: var(--space-3);
  padding-right: var(--space-3);
  border-left: 1px solid var(--border);
  text-align: center;
  white-space: nowrap;
}
.ui-board-criteres td {
  padding: var(--space-2) var(--space-3) var(--space-2) 0;
  font-size: var(--fs-sm);
  line-height: 1.3;
  vertical-align: middle;
}
.ui-board-criteres tbody tr + tr td {
  border-top: 1px solid var(--border-soft);
}
.ui-board-criteres td .material-symbols-outlined {
  margin-right: var(--space-2);
  font-size: var(--icon-md);
  color: var(--color-success);
  vertical-align: -4px;
}
.ui-board-critere--vide td {
  color: var(--text-muted);
}
.ui-board-critere--vide td .material-symbols-outlined {
  color: var(--border);
}
.ui-board-valeur,
.ui-board-score b {
  display: inline-block;
  border-radius: var(--radius-pill);
  background: var(--color-brand-pink-soft);
  color: var(--color-brand-pink-ink);
  font-weight: 550;
}
.ui-board-valeur {
  padding: 0.0625rem var(--space-2);
  font-size: var(--fs-sm);
}
.ui-board-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.4;
  text-align: center;
}
.ui-board-score b {
  padding: 0.1875rem var(--space-2);
  font-size: var(--fs-h5);
  font-weight: 550;
  letter-spacing: -0.03em;
  white-space: nowrap;
  vertical-align: -2px;
}
.ui-board-suite {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-board-suite .ui-hero-confiance-avatars img {
  width: 34px;
  height: 34px;
}
.ui-board-suite b {
  color: var(--color-brand-pink-ink);
  font-weight: 800;
}
.ui-hero-confiance {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.ui-hero-confiance p {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-hero-confiance strong {
  color: var(--text);
}
.ui-hero-confiance-avatars {
  display: flex;
}
.ui-hero-confiance-avatars img {
  width: 35px;
  height: 35px;
  margin-left: calc(var(--space-2) * -1);
  border: 3px solid var(--surface-card);
  border-radius: var(--radius-photo);
  object-fit: cover;
}
.ui-hero-confiance-avatars img:first-child {
  margin-left: 0;
}
.ui-mur-demo {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: 650px;
}
.ui-mur-forme {
  position: absolute;
  z-index: -1;
  width: 485px;
  height: 550px;
  border-radius: 51% 49% 43% 57% / 48% 56% 44% 52%;
  background: color-mix(in srgb, var(--surface-appuyee) 40%, transparent);
  transform: rotate(-6deg);
}
.ui-mur-fenetre {
  width: min(445px, 100%);
  padding: var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
  transform: rotate(1.5deg);
}
.ui-mur-entete {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: var(--space-2);
  padding: 0.125rem 0.1875rem var(--space-3);
}
.ui-mur-entete img {
  width: 50px;
  height: 50px;
  border-radius: var(--radius-md);
  object-fit: cover;
}
.ui-mur-entete div {
  display: grid;
  gap: 0.1875rem;
}
.ui-mur-entete strong {
  font-size: var(--fs-base);
}
.ui-mur-entete span:not(.material-symbols-outlined) {
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-mur-entete .material-symbols-outlined {
  color: var(--text-muted);
  font-size: var(--icon-md);
}
.ui-mur-publications {
  display: grid;
  gap: var(--space-2);
}
.ui-mur-publication {
  display: grid;
  grid-template-columns: 92px 1fr;
  min-height: 96px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
}
.ui-mur-visuel {
  width: 92px;
  height: 100%;
  min-height: 96px;
  object-fit: cover;
}
.ui-mur-icone {
  display: grid;
  place-items: center;
  width: 92px;
  min-height: 96px;
  background: var(--surface-douce);
  color: var(--color-primary);
}
.ui-mur-icone .material-symbols-outlined {
  font-size: var(--icon-xl);
}
.ui-mur-icone--primary {
  background: var(--color-primary);
  color: var(--white);
}
.ui-mur-icone--peach {
  background: var(--color-secondary);
  color: var(--color-dark);
}
.ui-mur-corps {
  display: grid;
  align-content: center;
  padding: var(--space-2) var(--space-3);
}
.ui-mur-corps > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ui-mur-corps small {
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-mur-corps > div:first-child .material-symbols-outlined {
  color: var(--text-muted);
  font-size: var(--icon-sm);
}
.ui-mur-corps p {
  margin: var(--space-1) 0 var(--space-2);
  font-size: var(--fs-base);
  font-weight: 650;
  line-height: 1.3;
}
.ui-mur-reactions {
  display: flex;
  gap: var(--space-1);
}
.ui-mur-reactions span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-card);
  color: var(--text-muted);
  font-size: var(--icon-sm);
}
.ui-mur-lead {
  max-width: 610px;
  margin: var(--space-4) 0 var(--space-4);
  color: var(--text-muted);
  font-size: var(--fs-lead);
  line-height: 1.7;
}
.ui-mur-lead:has(+ .ui-mur-lead) { margin-bottom: 0; }
.ui-mur-lead + .ui-mur-lead {
  margin-top: var(--space-3);
  font-size: var(--fs-base);
}
.ui-etapes {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-etapes li {
  display: grid;
  grid-template-columns: 39px 1fr;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border);
}
.ui-etapes li > span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: var(--radius-sm);
  background: var(--surface-douce);
  color: var(--color-primary);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-etapes p {
  display: grid;
  gap: var(--space-1);
  margin: 0;
}
.ui-etapes strong {
  font-size: var(--fs-base);
}
.ui-etapes small {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.ui-mur-legende {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: max-content;
  max-width: 100%;
  margin: var(--space-5) auto 0;
  padding: var(--space-3) var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-align: center;
}
.ui-mur-legende .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-sm);
}
.ui-communaute-section {
  overflow: hidden;
}
.ui-communaute-section .ui-etapes li {
  border-top-color: var(--border);
}
.ui-communaute-section .ui-etapes li > span {
  background: var(--surface-card);
}
.ui-communaute-visuel {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: 620px;
}
.ui-communaute-forme {
  position: absolute;
  z-index: -1;
  width: 495px;
  height: 535px;
  border-radius: 54% 46% 43% 57% / 49% 56% 44% 51%;
  background: color-mix(in srgb, var(--surface-appuyee) 55%, transparent);
  transform: rotate(7deg);
}
.ui-communaute-carte {
  width: min(405px, 100%);
  overflow: hidden;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
  transform: rotate(-2deg);
}
.ui-communaute-photo {
  position: relative;
  height: 255px;
}
.ui-communaute-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ui-communaute-photo::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(rgb(from var(--color-dark) r g b / 0), color-mix(in srgb, var(--color-dark) 55%, transparent));
}
.ui-communaute-photo > span {
  position: absolute;
  z-index: 2;
  left: 1.0625rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 90%, transparent);
  font-size: var(--fs-sm);
  font-weight: 700;
}
.ui-communaute-photo > span .material-symbols-outlined {
  color: var(--color-success);
  font-size: var(--icon-sm);
}
.ui-communaute-corps {
  padding: var(--space-4) var(--space-4) var(--space-4);
}
.ui-communaute-corps small {
  color: var(--color-primary);
  font-size: var(--fs-sm);
  font-weight: 700;
}
.ui-communaute-corps h3 {
  margin: var(--space-1) 0 0;
  font-size: var(--fs-h4);
  letter-spacing: -0.03em;
}
.ui-communaute-corps > p {
  margin: var(--space-3) 0 var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-base);
  line-height: 1.55;
}
.ui-communaute-membres {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
}
.ui-communaute-membres > div {
  display: flex;
}
.ui-communaute-membres img {
  width: 34px;
  height: 34px;
  margin-left: calc(var(--space-2) * -1);
  border: 3px solid var(--surface-card);
  border-radius: var(--radius-photo);
  object-fit: cover;
}
.ui-communaute-membres img:first-child {
  margin-left: 0;
}
.ui-communaute-membres strong {
  font-size: var(--fs-sm);
}
.ui-communaute-evenement {
  position: absolute;
  z-index: 3;
  right: -5px;
  bottom: 3.6875rem;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: min(290px, 90%);
  padding: var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
  transform: rotate(3deg);
}
.ui-communaute-date {
  flex: 0 0 auto;
  display: grid;
  place-content: center;
  width: 53px;
  height: 58px;
  border-radius: var(--radius-sm);
  background: var(--surface-douce);
  color: var(--color-primary);
  text-align: center;
}
.ui-communaute-date b {
  font-size: var(--fs-caption);
  letter-spacing: 0.08em;
}
.ui-communaute-date strong {
  font-size: var(--fs-h5);
  line-height: 1;
}
.ui-communaute-evenement > div {
  display: grid;
  gap: 0.1875rem;
}
.ui-communaute-evenement small,
.ui-communaute-evenement > div > span {
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-communaute-evenement > div > strong {
  font-size: var(--fs-base);
}
.ui-appel-copy {
  text-align: center;
}
.ui-appel-lead {
  max-width: 620px;
  margin: var(--space-4) auto var(--space-4);
  color: var(--text-muted);
  font-size: var(--fs-lead);
  line-height: 1.65;
}
.ui-appel-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
}
.ui-hero-communaute {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 740px;
  padding-block: var(--space-6);
  background: var(--white);
}
.ui-hero-communaute > .ui-container { width: 100%; }
.ui-hero-communaute-fond {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.ui-hero-communaute-copy {
  position: relative;
  z-index: 1;
  padding: var(--space-5);
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-photo);
}
.ui-hero-communaute-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.ui-hero-communaute-kicker .ui-eyebrow { margin-bottom: 0; }
.ui-hero-communaute-lieu {  }
.ui-hero-communaute .ui-display-title {
  margin: 0 0 var(--space-4);
  font-size: var(--fs-display-4);
  color: var(--color-titre);
}
.ui-hero-communaute.ui-hero-communaute--compacte {
  min-height: 0;
  padding-block: var(--space-5);
}
.ui-hero-communaute--compacte .ui-hero-communaute-copy { padding: var(--space-4); }
.ui-hero-communaute--compacte .ui-display-title {
  margin-bottom: var(--space-3);
  font-size: var(--fs-h2);
}
.ui-hero-communaute--compacte :is(.ui-hero-communaute-lead, .ui-hero-communaute-meta) { display: none; }
.ui-hero-communaute-lead {
  margin: 0;
  max-width: 46ch;
  color: var(--text);
  font-size: var(--fs-lead);
  line-height: 1.65;
}
.ui-hero-communaute-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
}
.ui-hero-communaute-meta li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text);
  font-size: var(--fs-sm);
}
.ui-hero-communaute-meta .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
}
.ui-hero-communaute-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-5);
}
.ui-hero-communaute-form { display: contents; }
.ui-hero-communaute-membres {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.ui-hero-communaute-avatars { display: inline-flex; }
.ui-hero-communaute-avatars img {
  width: 38px;
  height: 38px;
  margin-left: calc(var(--space-2) * -1);
  border: 3px solid var(--surface-card);
  border-radius: var(--radius-photo);
  object-fit: cover;
}
.ui-hero-communaute-avatars img:first-child { margin-left: 0; }
.ui-hero-communaute-compteur {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding-inline: var(--space-2);
  white-space: nowrap;
  margin-left: calc(var(--space-2) * -1);
  border: 3px solid var(--surface-card);
  border-radius: var(--radius-pill);
  background: var(--color-brand-pink-ink);
  color: var(--on-dark);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
}
.ui-hero-communaute-membres-texte {
  display: flex;
  flex-direction: column;
  margin: 0;
  line-height: var(--lh-heading);
}
.ui-hero-communaute-membres-texte strong {
  color: var(--text);
  font-size: var(--fs-base);
}
.ui-hero-communaute-membres-texte span {
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-hero-communaute-nav {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface-card);
}
.ui-hero-communaute-nav > .ui-fil-filtres {
  margin-bottom: 0;
  padding-block: var(--space-3);
}
.ui-hero-communaute-verrou {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-douce);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-hero-communaute-verrou .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
}
@media (max-width: 991.98px) {
  .ui-section.ui-hero-communaute {
    min-height: 0;
    padding-top: calc(18rem - var(--space-5));
    background: var(--white);
  }
  .ui-hero-communaute-fond {
    inset: 0 0 auto;
    height: 18rem;
  }
}
@media (max-width: 560px) {
  .ui-section.ui-hero-communaute { padding-top: calc(13rem - var(--space-4)); }
  .ui-hero-communaute-fond { height: 13rem; }
  .ui-hero-communaute-copy { padding: var(--space-4); }
  .ui-hero-communaute-actions,
  .ui-hero-communaute-membres {
    align-items: flex-start;
    flex-direction: column;
  }
}
.ui-hero-evenement {
  padding-block: var(--space-6);
  background: var(--white);
}
.ui-hero-evenement-cadre {
  position: relative;
  margin: 0;
  aspect-ratio: var(--hero-evenement-ratio, 4 / 3);
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--surface-appuyee);
  box-shadow: var(--shadow-photo);
}
.ui-hero-evenement-cadre > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ui-hero-evenement-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.ui-hero-evenement-cadre .ui-hero-evenement-lieu {
  position: absolute;
  z-index: 1;
  top: var(--space-3);
  left: var(--space-3);
  box-shadow: var(--shadow-md);
}
.ui-hero-evenement-date {
  position: absolute;
  z-index: 1;
  inset-block-start: var(--space-4);
  inset-inline-end: var(--space-4);
  display: grid;
  place-content: center;
  min-width: 56px;
  padding: var(--space-2) var(--space-2);
  border-radius: var(--radius-sm);
  background: var(--surface-card);
  color: var(--color-brand-pink-ink);
  text-align: center;
  line-height: 1.1;
  box-shadow: var(--shadow-md);
}
.ui-hero-evenement-date b {
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ui-hero-evenement-date strong { font-size: var(--fs-h5); }
.ui-hero-evenement-date i {
  font-size: var(--fs-caption);
  font-style: normal;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ui-hero-evenement-lieu {  }
.ui-hero-evenement-lead {
  max-width: 34rem;
  margin-bottom: var(--space-4);
  font-size: var(--fs-lead);
  line-height: var(--lh-base);
}
.ui-hero-evenement-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  margin: 0 0 var(--space-5);
  padding: 0;
  list-style: none;
}
.ui-hero-evenement-meta li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-hero-evenement-meta .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
}
.ui-hero-evenement-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}
.ui-hero-evenement-form { display: contents; }
.ui-hero-evenement-participants {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ui-hero-evenement-avatars { display: inline-flex; }
.ui-hero-evenement-avatars img,
.ui-hero-evenement-compteur {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-photo);
  border: 2px solid var(--white);
  object-fit: cover;
}
.ui-hero-evenement-avatars img + img,
.ui-hero-evenement-compteur { margin-left: calc(var(--space-3) * -1); }
.ui-hero-evenement-compteur {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-brand-pink-ink);
  color: var(--on-dark);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
}
.ui-hero-evenement-participants-texte {
  display: flex;
  flex-direction: column;
  margin: 0;
  line-height: var(--lh-heading);
}
.ui-hero-evenement-participants-texte strong {
  color: var(--text);
  font-size: var(--fs-base);
}
.ui-hero-evenement-participants-texte span {
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
@media (max-width: 991.98px) {
  .ui-hero-evenement-visuel {
    order: -1;
    margin-bottom: var(--space-5);
  }
}
.ui-hero-evenement-visuel {
  position: relative;
  z-index: 0;
}
.ui-breadcrumb-bar--evenement {
  border-bottom: 1px solid var(--border);
  background: var(--surface-card);
}
.ui-hero-evenement {
  padding-block: var(--space-6);
  background: linear-gradient(to bottom, var(--white), var(--surface-appuyee));
}
@media (min-width: 992px) {
  .ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-visuel {
    order: -1;
  }
  .ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-copy {
    padding-left: var(--space-5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
  }
}
.ui-hero-evenement-copy { padding-right: var(--space-5); }
.ui-hero-evenement-kicker {
  align-items: center;
  gap: var(--space-3) var(--space-4);
  margin-bottom: var(--space-3);
}
.ui-hero-evenement-kicker .ui-eyebrow { margin: 0; }
.ui-hero-evenement--banniere .ui-hero-evenement-row {
  --bs-gutter-y: 0;
  align-items: flex-start;
}
.ui-section.ui-hero-evenement--banniere {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: var(--space-5) 0 var(--space-6);
}
.ui-hero-evenement--banniere .ui-hero-evenement-row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
}
.ui-hero-evenement--banniere .ui-hero-evenement-visuel {
  flex: 0 0 100%;
  max-width: 100%;
  order: -1;
}
.ui-hero-evenement--banniere .ui-hero-evenement-cadre {
  border-radius: 0;
  box-shadow: none;
}
.ui-hero-evenement--banniere .ui-hero-evenement-copy {
  flex: 0 0 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--space-5);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.ui-hero-evenement--banniere .ui-hero-evenement-cadre {
  position: relative;
  z-index: 1;
}
.ui-hero-evenement--banniere .ui-hero-evenement-date {
  inset-block-start: var(--space-3);
  inset-block-end: auto;
  inset-inline-start: var(--space-3);
  inset-inline-end: auto;
}
.ui-hero-evenement--banniere .ui-hero-evenement-lieu {
  left: auto;
  right: var(--space-3);
}
@media (min-width: 992px) {
  .ui-hero-evenement--banniere .ui-hero-evenement-copy {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: var(--space-6);
    align-content: start;
  }
  .ui-hero-evenement--banniere .ui-hero-evenement-copy > .ui-display-title { grid-area: 1 / 1; }
  .ui-hero-evenement--banniere .ui-hero-evenement-lead { grid-area: 2 / 1; }
  .ui-hero-evenement--banniere .ui-hero-evenement-actions { grid-area: 3 / 1; }
  .ui-hero-evenement--banniere .ui-hero-evenement-service { grid-area: 1 / 2; }
  .ui-hero-evenement--banniere .ui-hero-evenement-meta { grid-area: 2 / 2; }
  .ui-hero-evenement--banniere .ui-hero-evenement-pied { grid-area: 3 / 2; }
  .ui-hero-evenement--banniere .ui-hero-evenement-service,
  .ui-hero-evenement--banniere .ui-hero-evenement-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) var(--space-4);
  }
  .ui-hero-evenement--banniere .ui-hero-evenement-service,
  .ui-hero-evenement--banniere .ui-hero-evenement-meta,
  .ui-hero-evenement--banniere .ui-hero-evenement-pied {
    align-self: start;
  }
}
.ui-hero-evenement--banniere .ui-hero-evenement-meta {
  max-width: none;
  margin: var(--space-3) 0 var(--space-4);
}
.ui-hero-evenement--banniere .ui-hero-evenement-service {
  margin: 0;
}
.ui-hero-evenement--banniere .ui-hero-evenement-copy > .ui-display-title {
  margin-bottom: var(--space-3);
}
.ui-hero-evenement--banniere .ui-hero-evenement-lead {
  max-width: 46rem;
  margin: 0;
}
.ui-hero-evenement--banniere .ui-hero-evenement-actions {
  margin: 0 0 var(--space-5);
}
.ui-hero-evenement--banniere .ui-hero-evenement-pied {
  margin: 0;
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-date {
  inset-block-start: var(--space-3);
  inset-block-end: auto;
  inset-inline-start: var(--space-3);
  inset-inline-end: auto;
  min-width: 73px;
  padding: var(--space-2) var(--space-2);
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-date b,
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-date i {
  font-size: var(--fs-caption);
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-date strong {
  font-size: var(--fs-h2);
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-lieu {
  left: auto;
  right: var(--space-3);
}
.ui-hero-evenement-retour {
  margin: 0 0 var(--space-5);
  font-size: var(--fs-sm);
}
.ui-hero-evenement-retour a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) 0;
  color: var(--text-muted);
  font-weight: var(--fw-semibold);
  text-decoration: none;
}
.ui-hero-evenement-retour a:hover,
.ui-hero-evenement-retour a:focus-visible { color: var(--color-primary); }
.ui-hero-evenement-retour .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-hero-evenement-pied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-6);
  margin-top: var(--space-5);
}
.ui-hero-evenement-pied > .ui-hero-evenement-organisateur {
  margin-inline-start: auto;
}
@media (max-width: 991.98px) {
  .ui-hero-evenement-pied > .ui-hero-evenement-organisateur {
    margin-inline-start: 0;
  }
}
.ui-hero-evenement-service {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-5);
  margin-bottom: var(--space-3);
}
.ui-hero-evenement-service-fait {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
}
.ui-hero-evenement-service-fait .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
}
.ui-hero-evenement-service .ui-hero-evenement-organisateur {
  margin: 0;
}
.ui-hero-evenement-organisateur {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-hero-evenement-organisateur .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
}
.ui-hero-evenement-organisateur a,
.ui-hero-evenement-organisateur strong {
  color: var(--text);
  font-weight: var(--fw-semibold);
  text-decoration: none;
}
.ui-hero-evenement-organisateur a:hover,
.ui-hero-evenement-organisateur a:focus-visible { color: var(--color-primary); }
.ui-hero-evenement-lead {
  max-width: 42rem;
  margin: var(--space-4) 0 var(--space-5);
  color: var(--text-muted);
  font-size: var(--fs-lead);
  line-height: 1.7;
}
.ui-hero-evenement-lead + .ui-hero-evenement-meta { margin-top: calc(var(--space-4) * -1); }
.ui-hero-evenement-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  max-width: 42rem;
  margin: var(--space-4) 0 var(--space-6);
}
.ui-hero-evenement-meta > div {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}
.ui-hero-evenement-meta dt {
  display: flex;
  align-items: center;
  margin: 0;
}
.ui-hero-evenement-meta dd {
  margin: 0;
  color: var(--text);
  font-weight: var(--fw-semibold);
}
.ui-hero-evenement-meta .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-sm);
}
.ui-hero-evenement-actions {
  margin-top: calc(var(--space-4) * -1);
  margin-bottom: 0;
}
.ui-hero-evenement-action-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  max-width: 39rem;
  margin: 0 0 var(--space-4);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-hero-evenement-action-note .material-symbols-outlined {
  flex: 0 0 auto;
  color: var(--color-primary);
  font-size: var(--icon-sm);
}
.ui-hero-evenement-placeholder {
  width: 100%;
  height: 100%;
}
.ui-hero-evenement-placeholder {
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--space-2);
  background: linear-gradient(145deg, var(--surface-douce), var(--surface-appuyee));
  color: var(--text-muted);
  text-align: center;
}
.ui-hero-evenement-placeholder .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-2xl);
}
.ui-hero-evenement-date {
  inset-block-start: auto;
  inset-block-end: var(--space-3);
  inset-inline-start: var(--space-3);
  inset-inline-end: auto;
}
.ui-hero-evenement-date strong { font-size: var(--fs-h4); }
.ui-evenement-nav {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface-card);
}
.ui-evenement-nav > .ui-fil-filtres {
  margin-bottom: 0;
  padding-block: var(--space-3);
}
.ui-evenement-detail-layout { --bs-gutter-y: var(--space-5); }
.ui-evenement-detail-main > p { color: var(--text-muted); }
.ui-evenement-programme { margin-top: var(--space-5); }
.ui-evenement-programme ol { margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.ui-evenement-programme li {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border);
}
.ui-evenement-programme time {
  color: var(--color-primary);
  font-weight: var(--fw-bold);
}
.ui-evenement-pratique { align-self: flex-start; }
.ui-evenement-pratique > .ui-eyebrow { margin-bottom: 0; }
.ui-evenement-pratique > ul { margin: 0 0 var(--space-4); padding: 0; list-style: none; }
.ui-evenement-pratique > ul > li {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border);
}
.ui-evenement-pratique > ul .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-md);
}
.ui-evenement-pratique > ul li > span:last-child {
  display: flex;
  flex-direction: column;
  color: var(--text-muted);
}
.ui-evenement-pratique > ul strong { color: var(--text); }
.ui-evenement-prive {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--surface-douce);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-evenement-prive .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-sm);
}
.ui-evenement-organisateur {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
@media (max-width: 991.98px) {
  .ui-hero-evenement-copy { padding-right: calc(var(--bs-gutter-x) * 0.5); }
  .ui-hero-evenement-visuel { margin: 0 0 var(--space-5); }
  .ui-hero-evenement-cadre { max-width: 38rem; }
}
@media (max-width: 560px) {
  .ui-hero-evenement { padding-block: var(--space-5); }
  .ui-hero-evenement-meta { grid-template-columns: 1fr; gap: var(--space-3); }
  .ui-hero-evenement-actions .ui-btn { width: 100%; }
  .ui-hero-evenement-participants { align-items: flex-start; flex-direction: column; }
  .ui-evenement-nav > .ui-container { gap: var(--space-4); }
}
@media (max-width: 560px) {
  .ui-hero-communaute-nav > .ui-container { gap: var(--space-4); }
}
.ui-evenements-filtres {
  margin-bottom: var(--space-5);
}
.ui-evenements-grille {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}
.ui-evenements-grille > .ui-grid-item > .ui-evenement-carte {
  height: 100%;
}
.ui-evenements-pagination,
.ui-groupes-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--space-6);
}
.ui-evenements-action {
  margin-top: var(--space-6);
  text-align: center;
}
.ui-page-membre {
  background-image:
    radial-gradient(ellipse 322px 266px at 90% 26%, var(--decor-disque) 0 99%, transparent 100%),
    radial-gradient(ellipse 231px 301px at 4% 58%, var(--decor-disque) 0 99%, transparent 100%),
    radial-gradient(ellipse 364px 280px at 46% 88%, var(--decor-disque) 0 99%, transparent 100%),
    linear-gradient(to bottom, color-mix(in srgb, var(--surface-douce) 50%, var(--white)), var(--surface-appuyee));
  background-repeat: repeat-y, repeat-y, repeat-y, no-repeat;
  background-size: 100% 1900px, 100% 2600px, 100% 3300px, 100% 100%;
  background-position: 0 780px, 0 190px, 0 2600px, 0 0;
  background-attachment: scroll;
}
.ui-header-membre {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--white);
  border-bottom: 1px solid var(--border);
}
.ui-header-membre-inner {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 68px;
}
.ui-header-membre-marque {
  flex: 0 0 calc(240px + var(--space-5));
  display: block;
}
.ui-header-membre-marque img {
  width: 154px;
  position: relative;
  top: var(--space-1);
  height: auto;
  margin-inline-start: var(--space-2);
  display: block;
}
.ui-membre-rond {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  border-radius: 50%;
  background: var(--surface-douce);
  color: var(--color-titre);
  flex-shrink: 0;
  transition: background 0.2s ease;
}
.ui-membre-rond:hover,
.ui-membre-rond:focus-visible { background: var(--surface-appuyee); }
.ui-header-membre .ui-membre-rond,
.ui-header-membre .ui-membre-burger { border-radius: var(--radius-photo); }
.ui-membre-nav { flex: 0 0 auto; }
.ui-membre-nav-liste {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-membre-nav-item { position: relative; }
.ui-membre-nav-lien {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}
.ui-membre-nav-lien .material-symbols-outlined { font-size: var(--icon-md); }
.ui-membre-nav-chevron { font-size: var(--icon-md) !important; }
.ui-membre-nav-lien:hover,
.ui-membre-nav-lien:focus-visible {
  background: var(--surface-douce);
  color: var(--color-titre);
}
.ui-membre-nav-lien.is-current,
.ui-membre-nav-lien.is-current:hover,
.ui-membre-nav-lien.is-current:focus-visible {
  background: var(--color-titre);
  color: var(--white);
}
.ui-membre-nav-lien.is-current:hover {
  background: var(--color-primary-hover);
}
.ui-membre-sous-nav {
  position: absolute;
  z-index: 10;
  inset-block-start: 100%;
  inset-inline-start: 0;
  min-width: 232px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: var(--space-2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.ui-membre-nav-item--groupe:hover .ui-membre-sous-nav,
.ui-membre-nav-item--groupe:focus-within .ui-membre-sous-nav {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.ui-membre-sous-nav-titre {
  margin: var(--space-1) var(--space-3) var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ui-membre-sous-nav-lien {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.ui-membre-sous-nav-compteur {  }
.ui-header-membre-compte {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
  margin-inline-start: auto;
}
.ui-membre-cloche-pastille {
  position: absolute;
  inset-block-start: -2px;
  inset-inline-end: -2px;
}
.ui-membre-compte-menu { position: relative; }
.ui-membre-sous-nav--compte {
  inset-inline: auto 0;
  min-width: 240px;
}
.ui-membre-compte-tete {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--text);
  text-decoration: none;
  transition: background 0.15s ease;
}
.ui-membre-compte-tete:hover,
.ui-membre-compte-tete:focus-visible { background: var(--teinte-neutre); }
.ui-membre-compte-tete > img {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-photo);
  object-fit: cover;
  flex-shrink: 0;
}
.ui-membre-compte-tete-corps {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ui-membre-compte-tete-nom {
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  line-height: 1.35;
}
.ui-membre-compte-tete-mention {
  color: var(--text-muted);
  font-size: var(--fs-caption);
  line-height: 1.35;
}
.ui-membre-sous-nav--compte .ui-membre-sous-nav-lien { justify-content: flex-start; }
.ui-membre-sous-nav--compte .ui-membre-sous-nav-lien > .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-primary);
  flex-shrink: 0;
}
.ui-membre-sous-nav-filet {
  margin: var(--space-2) calc(var(--space-2) * -1);
  border: 0;
  border-top: 1px solid var(--border);
  opacity: 1;
}
.ui-membre-compte-menu.is-open .ui-membre-sous-nav {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
button.ui-membre-rond { border: 0; padding: 0; font: inherit; cursor: pointer; }
.ui-membre-sous-nav--notifs {
  inset-inline: auto 0;
  width: min(360px, calc(100vw - 2 * var(--space-3)));
  max-height: min(480px, 70vh);
  overflow-y: auto;
}
@media (max-width: 640px) {
  .ui-membre-notifs { position: static; }
  .ui-membre-notifs .ui-membre-sous-nav--notifs {
    inset-inline: var(--space-3);
    width: auto;
  }
}
.ui-membre-notifs-tete {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
}
.ui-membre-notifs-toutlu {
  border: 0;
  background: none;
  padding: var(--space-1) var(--space-2);
  color: var(--color-primary);
  font-size: var(--fs-caption);
  font-weight: 600;
  cursor: pointer;
}
.ui-membre-notifs-toutlu:hover { text-decoration: underline; }
.ui-membre-notifs-liste {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-membre-notif {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--text);
  font-size: var(--fs-sm);
  line-height: 1.4;
  text-decoration: none;
  transition: background 0.15s ease;
}
.ui-membre-notif:hover,
.ui-membre-notif:focus-visible { background: var(--teinte-neutre); }
.ui-membre-notif.is-non-lu { background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.ui-membre-notif.is-non-lu .ui-membre-notif-quand::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-inline-end: var(--space-2);
  border-radius: 50%;
  background: var(--color-brand-pink-ink);
  vertical-align: 1px;
}
.ui-membre-notif-avatar,
.ui-membre-notif-icone {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: var(--radius-photo);
}
.ui-membre-notif-avatar { object-fit: cover; }
.ui-membre-notif-icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--surface-douce);
  color: var(--color-primary);
}
.ui-membre-notif-icone .material-symbols-outlined { font-size: var(--icon-md); }
.ui-membre-notif-corps {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.ui-membre-notif-texte strong { color: var(--color-titre); font-weight: var(--fw-semibold); }
.ui-membre-notif-quand {
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-membre-notifs-vide {
  margin: var(--space-2) var(--space-3) var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-membre-avatar {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border-radius: var(--radius-sm);
  padding: var(--space-1) var(--space-3) var(--space-1) var(--space-1);
  color: var(--text);
  font-size: var(--fs-sm);
  font-weight: 600;
  transition: background 0.2s ease;
}
.ui-membre-avatar:hover { background: var(--surface-douce); }
button.ui-membre-avatar {
  border: 0;
  background: none;
  font-family: inherit;
  cursor: pointer;
}
.ui-membre-compte-groupe { display: none; }
.ui-membre-compte-groupe > summary { list-style: none; cursor: pointer; }
.ui-membre-compte-groupe > summary::-webkit-details-marker { display: none; }
.ui-membre-compte-groupe-chevron { margin-inline-start: auto; transition: transform 0.2s ease; }
.ui-membre-compte-groupe[open] .ui-membre-compte-groupe-chevron { transform: rotate(180deg); }
.ui-membre-compte-groupe-lien { padding-inline-start: var(--space-4); }
@media (max-width: 900px) {
  .ui-membre-sous-nav-lien--large { display: none; }
  .ui-membre-compte-groupe { display: block; }
}
.ui-header-membre-compte > .ui-membre-compte-menu { display: flex; }
.ui-membre-avatar img {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-photo);
  object-fit: cover;
}
@media (max-width: 1200px) {
  .ui-header-membre-marque { flex-basis: calc(220px + var(--space-5)); }
  .ui-membre-nav-libelle,
  .ui-membre-nav-chevron,
  .ui-membre-avatar-nom { display: none; }
  .ui-membre-nav-lien { padding: var(--space-2); }
  .ui-membre-avatar { padding: 0; border-radius: var(--radius-photo); }
  .ui-membre-sous-nav { inset-inline: auto 0; }
}
@media (max-width: 900px) {
  .ui-header-membre-marque { flex: 0 0 auto; margin-inline-end: var(--space-3); }
}
@media (max-width: 640px) {
  .ui-header-membre-inner {
    flex-wrap: wrap;
    padding-block: var(--space-2);
    min-height: 0;
  }
  .ui-header-membre-marque { margin-inline-end: 0; }
  .ui-membre-nav {
    order: 3;
    flex-basis: 100%;
    margin-block-start: var(--space-2);
  }
  .ui-membre-nav-liste { justify-content: center; }
}
.ui-fil { padding-block: var(--space-5) var(--space-6); }
.ui-fil-inner {
  display: grid;
  grid-template-columns: 240px 636px 300px;
  justify-content: center;
  align-items: start;
  gap: var(--space-5);
}
.ui-fil-inner > .ui-fil-rail--gauche { grid-column: 1; }
.ui-fil-inner > .ui-fil-centre { grid-column: 2; }
.ui-fil-centre { min-width: 0; }
.ui-fil-inner > .ui-fil-rail--droit { grid-column: 3; }
.ui-monprofil-inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-3) var(--space-4);
  --cadre-photo: 6px;
  --saillie-photo: 10px;
}
.ui-fil-rail {
  position: sticky;
  top: calc(68px + var(--space-5));
}
@media (min-width: 1200.02px) {
  .ui-fil:not(.ui-fil--ecran) > .ui-fil-inner > .ui-fil-rail--droit {
    max-height: calc(100dvh - 68px - var(--space-5));
    padding-bottom: var(--space-5);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}
.ui-membre-onglet {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.ui-membre-onglet .ui-pastille-nouveaux { margin-inline-start: auto; }
.ui-membre-groupe-tete { position: relative; }
.ui-membre-groupe-tete > .ui-membre-onglet { padding-inline-end: var(--space-5); }
.ui-membre-sous { display: flex; flex-direction: column; gap: 1px; padding-top: 1px; }
.ui-membre-chevron {
  position: absolute;
  inset-block: 0;
  right: var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-1);
  border: 0;
  background: none;
  color: var(--color-primary);
}
.ui-membre-chevron .material-symbols-outlined { font-size: var(--icon-md); transition: transform 0.2s ease; }
.ui-membre-chevron[aria-expanded="true"] .material-symbols-outlined { transform: rotate(180deg); }
@media (min-width: 900.02px) {
  .ui-membre-onglet--sous { margin-inline-start: var(--space-4); }
}
.ui-membre-onglet .material-symbols-outlined {
  color: var(--color-primary);
  font-size: var(--icon-md);
  flex-shrink: 0;
}
.ui-fil-composer {
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  padding: var(--space-2) var(--space-4);
}
@media (max-width: 560px) {
  .ui-fil-composer { padding-inline: var(--space-3); }
}
.ui-fil-composer-champ {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ui-fil-composer-champ img {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-photo);
  object-fit: cover;
  flex-shrink: 0;
}
.ui-fil-composer-champ button {
  flex: 1;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--surface-douce);
  padding: var(--space-3) var(--space-4);
  color: var(--text-muted);
  font-family: inherit;
  font-size: var(--fs-base);
  text-align: start;
  cursor: pointer;
  transition: background 0.2s ease;
}
.ui-fil-composer-champ button:hover { background: var(--surface-appuyee); }
.ui-fil-composer-champ .ui-fil-composer-photo {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: var(--control-h-tactile);
  height: var(--control-h-tactile);
  border-radius: 50%;
  background: var(--surface-douce);
  padding: 0;
  color: var(--color-titre);
}
.ui-fil-composer-photo .material-symbols-outlined { font-size: var(--icon-lg); }
@media (max-width: 576px) {
  .ui-fil-composer-champ { gap: var(--space-2); }
  .ui-fil-composer-champ button:not(.ui-fil-composer-photo) {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
.ui-fil-filtres {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  overflow-x: auto;
  scrollbar-width: none;
}
.ui-fil-filtres::-webkit-scrollbar { display: none; }
.ui-fil-filtre {
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--surface-card);
  display: inline-flex;
  align-items: center;
  min-height: var(--control-h-sm);
  padding: 0 var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ui-fil-filtre:hover { color: var(--color-titre); border-color: var(--color-titre); }
.ui-fil-filtre.is-current {
  background: var(--color-titre);
  border-color: var(--color-titre);
  color: var(--white);
}
.ui-fil-filtre > .ui-count-badge,
.ui-fil-filtre > .ui-pastille-nouveaux { margin-inline-start: var(--space-2); }
.ui-fil-filtrer {
  display: flex;
  justify-content: flex-start;
  margin-bottom: var(--space-3);
}
.ui-fil-filtrer-bouton {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 0;
  border-radius: var(--radius-md);
  background: none;
  margin-inline-start: calc(var(--space-2) * -1);
  min-height: var(--control-h-sm);
  padding: 0 var(--space-2);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: 600;
  cursor: pointer;
}
.ui-fil-filtrer-bouton:hover,
.ui-fil-filtrer-bouton.show { background: var(--surface-douce); }
.ui-fil-filtrer-bouton > .material-symbols-outlined { font-size: var(--icon-md); }
.ui-fil-filtrer-compte {  }
.ui-fil-filtrer-menu {
  width: 240px;
  padding: var(--space-3);
}
.ui-fil-filtrer-titre {
  margin: 0 0 var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-fil-filtrer-choix {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-2) 0;
  font-size: var(--fs-sm);
  cursor: pointer;
}
.ui-fil-filtrer-choix .form-check-input { margin: 0; float: none; cursor: pointer; }
.ui-fil-filtrer-menu > .ui-btn { width: 100%; margin-top: var(--space-2); }
.ui-liste-filtrer-menu {
  width: 300px;
  max-height: min(70vh, 560px);
  overflow-y: auto;
}
.ui-liste-filtrer-champs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.ui-liste-filtrer-champ { grid-column: 1 / -1; }
.ui-liste-filtrer-champ--court { grid-column: auto; }
.ui-liste-filtrer-champ > .ui-fil-filtrer-titre { display: block; margin-bottom: var(--space-1); }
.ui-liste-filtrer-menu > .ui-liste-avances-bouton { margin-top: var(--space-3); }
.ui-fil-filtrer-choix + .ui-fil-filtrer-titre { margin-top: var(--space-3); }
.ui-liste-alerte { align-items: flex-start; margin-bottom: var(--space-3); }
.ui-liste-alerte > .material-symbols-outlined { line-height: 1.5; }
.ui-liste-alerte a { color: inherit; font-weight: 600; }
@media (max-width: 1200px) {
  .ui-fil-inner { grid-template-columns: 240px minmax(0, 636px); }
  .ui-fil-rail--droit { display: none; }
  .ui-fil-inner > .ui-fil-rail--droit {
    display: block;
    position: static;
    grid-column: 1 / -1;
  }
  .ui-fil-inner > .ui-fil-rail--droit > .ui-fil-encart:not(.ui-fil-encart--essentiel) { display: none; }
  .ui-monprofil-inner > .ui-fil-rail--droit { display: grid; }
  .ui-monprofil-inner > .ui-monprofil-onglets,
  .ui-monprofil-inner:has(> .ui-fil-rail--droit) > .ui-liste-contenu,
  .ui-monprofil-inner > .ui-liste-contenu { grid-column: 2 / span 10; }
  .ui-monprofil-inner > .ui-fil-rail--droit {
    grid-column: 2 / span 10;
    grid-row: 4;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .ui-fil-inner { grid-template-columns: minmax(0, 636px); }
  .ui-fil-rail--gauche { position: static; min-width: 0; }
  .ui-fil-inner > .ui-fil-centre { grid-column: 1 / -1; }
}
.ui-liste-section { padding-block: var(--space-5) var(--space-6); }
.ui-liste-inner {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  align-items: start;
  gap: var(--space-5);
}
.ui-liste-section--centree > .ui-liste-inner,
.ui-fil--centre > .ui-fil-inner {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}
.ui-liste-section--centree .ui-liste-rail,
.ui-fil--centre .ui-fil-rail--droit { display: none; }
.ui-liste-section--centree > .ui-liste-inner > .ui-liste-contenu,
.ui-fil--centre > .ui-fil-inner > .ui-fil-centre { grid-column: 2 / span 10; }
@media (max-width: 1200px) {
  .ui-liste-section--centree > .ui-liste-inner > .ui-liste-contenu,
  .ui-fil--centre > .ui-fil-inner > .ui-fil-centre { grid-column: 1 / -1; }
}
.ui-liste-rail {
  position: sticky;
  top: calc(68px + var(--space-5));
}
.ui-liste-tete {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.ui-liste-titres {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  flex: 1 1 auto;
  min-width: 0;
}
.ui-liste-titres > .ui-eyebrow { margin: 0; }
.ui-liste-titre {
  margin: 0;
  color: var(--color-titre);
  font-size: var(--fs-h2);
}
.ui-liste-action { flex: 0 0 auto; }
.ui-membre-onglets {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ui-liste-lead {
  max-width: 62ch;
  margin: 0 0 var(--space-4);
  color: var(--text-muted);
  line-height: var(--lh-base);
}
.ui-liste-lead a {
  color: var(--color-titre);
  font-weight: var(--fw-semibold);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.ui-liste-lead a:hover { color: var(--color-brand-pink-ink); }
.ui-liste-lead .material-symbols-outlined {
  font-size: 1.1em;
  vertical-align: -0.15em;
}
.ui-liste-lead--large { max-width: none; }
.ui-liste-filtres {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--space-3);
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-5);
}
.ui-liste-champ {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex: 1 1 180px;
  min-width: 0;
}
.ui-liste-champ--court { flex: 0 1 132px; }
.ui-liste-champ label {
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: 700;
}
.ui-liste-filtres .ui-btn { flex: 0 0 auto; margin-inline-start: auto; }
.ui-liste-grille {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}
.ui-liste-grille > .ui-grid-item { display: flex; }
.ui-liste-grille .ui-profil { width: 100%; }
.ui-liste-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--space-6);
}
.ui-monprofil-inner > .ui-monprofil-identite { grid-column: 1 / -1; grid-row: 1; }
.ui-monprofil-inner > .ui-monprofil-identite:has(.ui-menu-actions-menu.show) { z-index: 5; }
.ui-monprofil-inner > .ui-monprofil-onglets { grid-column: 2 / span 10; grid-row: 2; }
.ui-monprofil-inner > .ui-liste-contenu { grid-column: 2 / span 10; grid-row: 3; }
.ui-monprofil-inner > .ui-monprofil-alerte { grid-column: 2 / span 10; grid-row: 2; margin-bottom: var(--space-4); }
@media (min-width: 900.02px) {
  .ui-monprofil-inner > .ui-monprofil-alerte { margin-bottom: 0; }
  .ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-monprofil-onglets { margin-top: calc(var(--space-3) - 2px); }
}
.ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-monprofil-onglets { grid-row: 3; }
.ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-liste-contenu,
.ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-fil-rail--droit { grid-row: 4; }
@media (max-width: 1200px) {
  .ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-fil-rail--droit { grid-row: 5; }
}
@media (max-width: 900px) {
  .ui-monprofil-inner > .ui-monprofil-alerte,
  .ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-monprofil-onglets,
  .ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-liste-contenu,
  .ui-monprofil-inner:has(> .ui-monprofil-alerte) > .ui-fil-rail--droit { grid-column: auto; grid-row: auto; }
}
.ui-monprofil-inner:has(> .ui-fil-rail--droit) > .ui-liste-contenu {
  grid-column: 2 / span 7;
}
@media (min-width: 1200.02px) {
  .ui-monprofil-inner:not(:has(> .ui-fil-rail--droit)) > .ui-liste-contenu:has(.ui-monprofil-fiche) {
    grid-column: 2 / span 7;
  }
}
.ui-monprofil-inner:has(> .ui-fil-rail--droit) > .ui-liste-contenu > :first-child {
  margin-top: 0;
}
.ui-monprofil-inner .ui-fil-encart { margin-bottom: 0; }
.ui-monprofil-inner > .ui-fil-rail--droit {
  grid-column: 9 / span 3;
  grid-row: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: var(--space-4);
  position: static;
}
@media (max-width: 900px) {
  .ui-monprofil-inner { grid-template-columns: minmax(0, 1fr); }
  .ui-monprofil-inner > .ui-monprofil-identite,
  .ui-monprofil-inner > .ui-monprofil-onglets,
  .ui-monprofil-inner > .ui-liste-contenu,
  .ui-monprofil-inner:has(> .ui-fil-rail--droit) > .ui-liste-contenu,
  .ui-monprofil-inner > .ui-fil-rail--droit {
    grid-column: auto;
    grid-row: auto;
  }
  .ui-monprofil-inner > .ui-fil-rail--droit { grid-template-columns: minmax(0, 1fr); }
}
.ui-monprofil-onglets {
  min-width: 0;
  padding-inline-start: calc(2 * (100% - 9 * var(--space-4)) / 10 + 2 * var(--space-4));
  margin-top: calc(var(--space-5) * -1);
  margin-bottom: var(--space-5);
  overflow-x: auto;
  scrollbar-width: none;
}
.ui-monprofil-onglets::-webkit-scrollbar { display: none; }
.ui-monprofil-identite {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-4);
  --ecart-portrait: var(--space-5);
}
.ui-monprofil-identite > .ui-monprofil-couverture { grid-column: 1 / -1; grid-row: 1; }
.ui-monprofil-identite > .ui-monprofil-tete { grid-column: 2 / span 10; grid-row: 2; }
.ui-monprofil-identite > .ui-monprofil-actions {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: end;
  justify-self: end;
  margin: 0 calc(var(--cadre-photo) + var(--space-4))
             calc(var(--cadre-photo) + var(--space-4) + var(--space-3)) 0;
  position: relative;
  z-index: 2;
}
.ui-monprofil-couverture {
  position: relative;
  border: var(--cadre-photo) solid var(--white);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  margin-bottom: var(--space-3);
}
.ui-monprofil-retour {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
  z-index: 2;
  display: grid;
  place-items: center;
  width: var(--control-h-tactile);
  height: var(--control-h-tactile);
  border-radius: var(--radius-photo);
  background: var(--white);
  padding: 0;
  color: var(--color-titre);
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: background 0.2s ease, color 0.2s ease;
}
.ui-monprofil-retour > .material-symbols-outlined { font-size: var(--icon-lg); }
.ui-monprofil-retour--mobile { display: none; }
@media (max-width: 900px) {
  .ui-monprofil-retour--mobile { display: grid; }
}
.ui-monprofil-retour:hover,
.ui-monprofil-retour:focus-visible {
  background: var(--color-bouton);
  color: var(--white);
}
.ui-monprofil-couverture img {
  display: block;
  width: 100%;
  height: clamp(150px, 18vw, 280px);
  object-fit: cover;
  border-radius: calc(var(--radius-md) - var(--cadre-photo));
}
.ui-monprofil-tete {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  column-gap: var(--space-4);
  align-items: end;
}
.ui-monprofil-tete > .ui-monprofil-avatar { grid-column: 1 / span 2; grid-row: 1; }
.ui-monprofil-tete > .ui-monprofil-taux { grid-row: 1; }
.ui-monprofil-tete > .ui-monprofil-detail { grid-column: 3 / span 8; grid-row: 1; }
@media (max-width: 900px) {
  .ui-monprofil-identite { grid-template-columns: minmax(0, 1fr); }
  .ui-monprofil-identite > .ui-monprofil-couverture,
  .ui-monprofil-identite > .ui-monprofil-tete,
  .ui-monprofil-identite > .ui-monprofil-actions {
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
    margin: 0;
  }
  .ui-monprofil-tete {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
  }
  .ui-monprofil-tete > .ui-monprofil-detail {
    flex: 1 1 100%;
  }
  .ui-monprofil-avatar { left: 0; }
  .ui-monprofil-tete > .ui-monprofil-detail { top: 0; left: 0; }
  .ui-monprofil-onglets { padding-inline-start: 0; margin-top: 0; }
}
.ui-monprofil-avatar {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 1;
  height: auto;
  margin-top: calc(-50% - var(--space-3));
  top: calc(var(--saillie-photo) * -1);
  margin-bottom: var(--space-3);
  border: var(--cadre-photo) solid var(--white);
  border-radius: var(--radius-photo);
  object-fit: cover;
}
@media (max-width: 900px) {
  .ui-monprofil-avatar {
    --portrait-mobile: 112px;
    width: var(--portrait-mobile);
    margin-top: calc(var(--portrait-mobile) / -2);
    top: 0;
    margin-bottom: 0;
    align-self: flex-start;
  }
  .ui-monprofil-identite > .ui-monprofil-couverture { justify-self: stretch; }
  .ui-monprofil-identite:not(:has(.ui-monprofil-couverture)) .ui-monprofil-avatar { margin-top: 0; }
}
.ui-monprofil-infos {
  min-width: 0;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.ui-monprofil-detail {
  position: relative;
  top: -45px;
  min-width: 0;
}
.ui-monprofil-nom {
  margin: 0;
  color: var(--color-titre);
  font-size: var(--fs-h3);
}
.ui-monprofil-meta {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-monprofil-meta .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-monprofil-meta { flex-wrap: wrap; column-gap: var(--space-3); row-gap: var(--space-1); }
.ui-monprofil-meta-item { display: inline-flex; align-items: center; gap: var(--space-1); }
.ui-monprofil-statut,
.ui-monprofil-taux {
  position: static;
  flex: 0 0 auto;
  align-self: center;
}
.ui-monprofil-bio {
  max-width: 68ch;
  margin: var(--space-2) 0 0;
  color: var(--text);
  line-height: var(--lh-base);
}
.ui-monprofil-chiffres {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.ui-monprofil-chiffre,
.ui-monprofil-chiffre a {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  text-decoration: none;
}
.ui-monprofil-chiffre strong {
  color: var(--color-brand-pink);
  font-size: var(--fs-base);
  font-weight: 600;
}
.ui-monprofil-chiffre a:hover strong,
.ui-monprofil-chiffre a:focus-visible strong { color: var(--color-brand-pink-ink); }
.ui-monprofil-actions {
  position: relative;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-inline-start: auto;
  align-self: flex-end;
  margin-bottom: var(--space-3);
}
.ui-monprofil-taux {
  justify-content: flex-start;
}
.ui-monprofil-inner .ui-monprofil-presentation,
.ui-monprofil-inner .ui-monprofil-interets,
.ui-monprofil-inner .ui-monprofil-fiche-ligne,
.ui-monprofil-inner .ui-monprofil-citation,
.ui-monprofil-inner .ui-profil,
.ui-monprofil-inner .ui-monprofil-photo,
.ui-monprofil-inner .ui-monprofil-vignette,
.ui-monprofil-inner .ui-publication,
.ui-monprofil-inner .ui-publication-visuel,
.ui-monprofil-inner .ui-fil-composer,
.ui-monprofil-inner .ui-fil-encart {
  box-shadow: var(--shadow-md);
}
.ui-monprofil-inner .ui-publication--vitrine { box-shadow: none; }
.ui-monprofil-editer {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  z-index: 2;
  border-color: var(--border);
  background: var(--white);
  color: var(--text-muted);
  box-shadow: var(--shadow-md);
}
.ui-monprofil-editer > .material-symbols-outlined { font-size: var(--icon-md); }
.ui-monprofil-editer {
  opacity: 0;
  transition: opacity 0.15s ease, background 0.2s ease, color 0.2s ease;
}
.ui-monprofil-presentation:hover > .ui-monprofil-editer,
.ui-monprofil-photo-case:hover > .ui-monprofil-editer,
.ui-monprofil-fiche-ligne:hover > .ui-monprofil-editer,
.ui-monprofil-citation:hover > .ui-monprofil-editer,
.ui-monprofil-interets:hover > .ui-monprofil-editer,
.ui-monprofil-tete:has(> .ui-monprofil-avatar:hover) > .ui-monprofil-editer--portrait,
.ui-monprofil-editer:hover,
.ui-monprofil-editer:focus-visible {
  opacity: 1;
}
.ui-monprofil-editer:hover,
.ui-monprofil-editer:focus-visible {
  border-color: var(--color-bouton);
  background: var(--color-bouton);
  color: var(--white);
}
.ui-monprofil-presentation,
.ui-monprofil-interets,
.ui-monprofil-fiche-ligne,
.ui-monprofil-photo-case { position: relative; }
.ui-monprofil-tete > .ui-monprofil-editer--portrait {
  grid-column: 1 / span 2;
  grid-row: 1;
  position: relative;
  align-self: end;
  justify-self: end;
  top: calc(-50% - var(--space-3) - var(--saillie-photo) + 30px);
  right: 18px;
  border-width: 2px;
  border-color: var(--white);
}
.ui-monprofil-editer--photo {
  border-color: var(--white);
  box-shadow: var(--shadow-md);
}
.ui-monprofil-citation:has(.ui-monprofil-editer) .ui-monprofil-citation-marque {
  right: calc(var(--space-4) + 44px);
}
.ui-monprofil-photo-case { display: block; }
.ui-monprofil-message {
  margin-inline-start: auto;
  align-self: center;
  background: var(--white);
  border-color: var(--genre-lui);
  color: var(--genre-lui);
}
.ui-monprofil-message > .material-symbols-outlined { font-size: var(--icon-md); }
.ui-monprofil-message + .ui-menu-actions {
  margin-inline-start: calc(0.5rem - 20px);
}
.ui-monprofil-message:hover,
.ui-monprofil-message:focus-visible {
  background: var(--genre-lui);
  border-color: var(--genre-lui);
  color: var(--white);
}
.ui-monprofil-groupe + .ui-monprofil-groupe { margin-top: var(--space-4); }
.ui-monprofil-groupe-titre { margin-top: 0; }
.ui-liste-grille + .ui-monprofil-groupe-titre { margin-top: var(--space-5); }
.ui-monprofil-groupe + .ui-monprofil-groupe:has(.ui-monprofil-galerie) {
  margin-top: var(--space-6);
}
.ui-monprofil-vide {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-monprofil-vide-alerte { margin: 0; }
.ui-monprofil-vide-alerte a { color: inherit; font-weight: var(--fw-semibold); }
.ui-monprofil-groupe-compte {
  margin-inline-start: var(--space-2);
  vertical-align: 1px;
}
.ui-monprofil-profils {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}
@media (max-width: 1100px) {
  .ui-monprofil-profils { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ui-monprofil-profils { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1100.02px) {
  .ui-monprofil-profils--quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ui-monprofil-profils--cinq { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.ui-monprofil-album {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
}
.ui-monprofil-vignette {
  display: block;
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.ui-monprofil-vignette img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease;
}
.ui-monprofil-vignette:hover img,
.ui-monprofil-vignette:focus-visible img { transform: scale(1.06); }
.ui-monprofil-fiche {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
}
.ui-monprofil-fiche-ligne {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-3) var(--space-4);
}
.ui-monprofil-fiche dt {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  font-weight: 400;
}
.ui-monprofil-fiche dt .material-symbols-outlined {
  font-size: var(--icon-md);
  color: var(--color-titre);
}
.ui-monprofil-fiche dd {
  margin: var(--space-1) 0 0;
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: 600;
}
.ui-monprofil-tags > span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}
.ui-monprofil-tags > span > .material-symbols-outlined {
  font-size: var(--icon-sm);
  color: var(--color-titre);
}
.ui-monprofil-presentation,
.ui-monprofil-interets {
  margin-top: var(--space-5);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-4);
}
.ui-monprofil-presentation {
  margin-top: var(--space-2);
}
.ui-monprofil-presentation-texte {
  margin: 0 0 var(--space-3);
  color: var(--text);
  font-size: var(--fs-base);
  line-height: 1.6;
}
.ui-monprofil-presentation-texte:last-child {
  margin-bottom: 0;
}
.ui-monprofil-sous-titre {
  margin: 0 0 var(--space-3);
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: 600;
}
.ui-monprofil-citation {
  position: relative;
  margin: var(--space-5) 0 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-4);
}
.ui-monprofil-citation-marque {
  position: absolute;
  top: var(--space-3);
  right: var(--space-4);
  font-size: var(--icon-2xl);
  color: var(--color-brand-pink-soft);
  line-height: 1;
}
.ui-monprofil-citation-question {
  margin: 0 0 var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-monprofil-citation-reponse {
  position: relative;
  max-width: 46ch;
  margin: 0 auto;
  font-style: italic;
  text-align: center;
  color: var(--color-titre);
  font-size: var(--fs-h5);
  line-height: 1.45;
}
.ui-monprofil-zones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}
.ui-liste-vide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  height: 100%;
  min-height: 380px;
  border-radius: var(--radius);
  outline: 1px dashed var(--color-primary);
  outline-offset: -1px;
  background: var(--teinte-neutre);
  padding: var(--space-4);
  color: var(--color-titre);
  text-align: center;
}
.ui-liste-vide > .material-symbols-outlined { font-size: var(--icon-xl); color: var(--color-primary); }
.ui-liste-vide-titre {
  margin: 0;
  font-size: var(--fs-h6);
  font-weight: var(--fw-semibold);
}
.ui-liste-vide-texte {
  margin: 0 0 var(--space-2);
  max-width: 30ch;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.ui-liste-vide--muet { opacity: 0.55; }
.ui-liste-vide--muet > .material-symbols-outlined { font-size: var(--icon-xl); }
@media (max-width: 575.98px) {
  .ui-liste-grille .ui-grid-item:has(.ui-liste-vide--muet) { display: none; }
  .ui-liste-vide { min-height: 260px; }
}
.ui-monprofil-zone-vide {
  border: var(--cadre-photo) solid transparent;
  background-clip: padding-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  aspect-ratio: 1;
  outline: 1px dashed var(--color-primary);
  outline-offset: calc(var(--cadre-photo) * -1);
  border-radius: var(--radius-md);
  background: var(--teinte-neutre);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  transition: background 0.15s ease, outline-color 0.15s ease, color 0.15s ease;
}
.ui-monprofil-zone-vide:hover,
.ui-monprofil-zone-vide:focus-visible {
  background: var(--teinte-neutre-forte);
}
.ui-monprofil-zone-vide > .material-symbols-outlined { font-size: var(--icon-lg); }
.ui-monprofil-zones > .ui-monprofil-photo-case,
.ui-monprofil-photos > .ui-monprofil-photo-case,
.ui-monprofil-galerie-case {
  box-shadow: var(--shadow-md);
  transform: rotate(var(--inclinaison, 0deg));
  border-radius: var(--radius-md);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ui-monprofil-zones > .ui-monprofil-photo-case:nth-child(5n+1),
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(5n+1),
.ui-monprofil-galerie-case:nth-child(5n+1) { --inclinaison: -1.6deg; }
.ui-monprofil-zones > .ui-monprofil-photo-case:nth-child(5n+2),
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(5n+2),
.ui-monprofil-galerie-case:nth-child(5n+2) { --inclinaison: 1.1deg; }
.ui-monprofil-zones > .ui-monprofil-photo-case:nth-child(5n+3),
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(5n+3),
.ui-monprofil-galerie-case:nth-child(5n+3) { --inclinaison: -0.7deg; }
.ui-monprofil-zones > .ui-monprofil-photo-case:nth-child(5n+4),
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(5n+4),
.ui-monprofil-galerie-case:nth-child(5n+4) { --inclinaison: 1.8deg; }
.ui-monprofil-zones > .ui-monprofil-photo-case:nth-child(5n+5),
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(5n+5),
.ui-monprofil-galerie-case:nth-child(5n+5) { --inclinaison: -1.2deg; }
.ui-monprofil-galerie-case:nth-child(2n):not(:nth-child(42n+22)) {
  --inclinaison: 0deg;
}
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(1) { scale: 1.03; }
.ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(2) { scale: 1; --inclinaison: 0deg; }
.ui-monprofil-photos ~ .ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(1) { scale: 1; --inclinaison: 0deg; }
.ui-monprofil-photos ~ .ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(2) { scale: 1.03; --inclinaison: 1.1deg; }
.ui-monprofil-photos ~ .ui-monprofil-photos ~ .ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(1) { scale: 1.03; --inclinaison: -1.6deg; }
.ui-monprofil-photos ~ .ui-monprofil-photos ~ .ui-monprofil-photos > .ui-monprofil-photo-case:nth-child(2) { scale: 1; --inclinaison: 0deg; }
.ui-monprofil-zones > .ui-monprofil-photo-case:hover,
.ui-monprofil-photos > .ui-monprofil-photo-case:hover,
.ui-monprofil-galerie-case:hover,
.ui-monprofil-galerie-case:focus-visible {
  transform: rotate(0) translateY(-3px);
  box-shadow: var(--shadow-md);
}
.ui-monprofil-galerie {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);
  grid-auto-flow: dense;
}
.ui-monprofil-galerie-case:nth-child(42n+1) {
  grid-column: 1 / span 2;
  grid-row: span 2;
}
.ui-monprofil-galerie-case:nth-child(42n+22) {
  grid-column: 5 / span 2;
  grid-row: span 2;
}
.ui-monprofil-plus {
  display: flex;
  justify-content: center;
  margin-top: var(--space-5);
}
@media (max-width: 1200px) {
  .ui-monprofil-galerie-case:nth-child(42n+1),
  .ui-monprofil-galerie-case:nth-child(42n+22) {
    grid-column: auto;
    grid-row: auto;
  }
}
.ui-monprofil-galerie-case {
  display: block;
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.ui-monprofil-zone-vide { border: 0; }
.ui-monprofil-zone-vide { outline-offset: -1px; }
.ui-monprofil-galerie-case > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}
@media (max-width: 1200px) {
  .ui-monprofil-galerie { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 720px) {
  .ui-monprofil-zones { grid-template-columns: repeat(2, 1fr); }
  .ui-monprofil-galerie { grid-template-columns: repeat(3, 1fr); }
}
.ui-monprofil-photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
}
.ui-monprofil-photo {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
}
@media (max-width: 640px) {
  .ui-monprofil-photos,
  .ui-monprofil-fiche { grid-template-columns: 1fr; }
}
.ui-monprofil-titre {
  margin: 0 0 var(--space-4);
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: 600;
}
@media (max-width: 900px) {
  .ui-liste-inner { grid-template-columns: minmax(0, 1fr); }
  .ui-liste-rail { position: static; min-width: 0; }
  .ui-membre-onglets {
    flex-direction: row;
    gap: var(--space-2);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ui-membre-onglets::-webkit-scrollbar { display: none; }
  .ui-membre-onglet {
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    padding: var(--space-2) var(--space-3);
    gap: var(--space-2);
    white-space: nowrap;
  }
  .ui-membre-groupe,
  .ui-membre-groupe-tete,
  .ui-membre-sous,
  .ui-membre-groupe .collapse:not(.show),
  .ui-membre-groupe .collapse.show { display: contents; }
  .ui-membre-groupe-tete > .ui-membre-onglet { padding-inline-end: var(--space-3); }
  .ui-membre-chevron { display: none; }
  .ui-membre-onglet.is-current,
  .ui-membre-onglet.is-current:hover {
    border-color: color-mix(in srgb, var(--color-dark-soft) 12%, transparent);
  }
}
@media (max-width: 720px) {
  .ui-liste-filtres { padding: var(--space-3); }
  .ui-liste-champ { flex-basis: 100%; }
  .ui-liste-champ--court { flex: 1 1 0; }
  .ui-liste-filtres .ui-btn { width: 100%; }
}
.ui-liste-avances-bouton {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: var(--space-2) 0;
  color: var(--color-titre);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 700;
  cursor: pointer;
  transition: color 0.2s ease;
}
.ui-liste-avances-bouton:hover,
.ui-liste-avances-bouton:focus-visible { color: var(--color-primary-hover); }
.ui-liste-avances-bouton .material-symbols-outlined { font-size: var(--icon-md); }
.ui-liste-avances-chevron { transition: transform 0.2s ease; }
.ui-liste-avances-bouton[aria-expanded="true"] .ui-liste-avances-chevron { transform: rotate(180deg); }
.ui-liste-avances { flex: 0 0 100%; }
.ui-liste-avances-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: var(--space-3);
  border-top: 1px solid var(--border);
  margin-top: var(--space-3);
  padding-top: var(--space-4);
}
@media (max-width: 720px) {
  .ui-liste-avances-grille { grid-template-columns: minmax(0, 1fr); }
}
.ui-liste-criteres-lien {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: var(--space-2) 0;
  color: var(--color-titre);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 700;
  cursor: pointer;
  transition: color 0.2s ease;
}
.ui-liste-criteres-lien:hover,
.ui-liste-criteres-lien:focus-visible { color: var(--color-primary-hover); }
.ui-liste-criteres-lien .material-symbols-outlined { font-size: var(--icon-md); }
.ui-liste-criteres-lien { display: none; }
.ui-messagerie {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-card);
  overflow: hidden;
}
.ui-messagerie-entete {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border-bottom: 1px solid var(--border);
  padding: var(--space-3) var(--space-4);
}
.ui-messagerie-entete > img {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-photo);
  object-fit: cover;
  flex-shrink: 0;
}
.ui-messagerie-identite { display: flex; flex-direction: column; min-width: 0; }
.ui-messagerie-entete > .ui-menu-actions { margin-inline-start: auto; }
.ui-messagerie-nom {
  margin: 0;
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: var(--fw-semibold);
}
.ui-messagerie-nom a { color: inherit; }
.ui-messagerie-nom a:hover { text-decoration: underline; }
.ui-messagerie-etat {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-messagerie-fil {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: var(--space-4);
  display: flex;
  flex-direction: column-reverse;
}
.ui-messagerie-pile {
  flex-shrink: 0;
  margin-bottom: auto;
}
.ui-messagerie-chargement {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  height: 0;
  margin: 0;
  overflow: visible;
}
.ui-messagerie-roue {
  display: block;
  flex-shrink: 0;
  width: var(--space-4);
  height: var(--space-4);
  margin-top: var(--space-2);
  border: 2px solid var(--border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
  animation: ui-envoi-tourne 0.8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .ui-messagerie-roue { animation: none; }
}
.ui-messagerie-jour {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-4) 0 var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}
.ui-messagerie-jour::before,
.ui-messagerie-jour::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border);
}
.ui-messagerie-vide {
  margin: var(--space-4) auto;
  max-width: 36ch;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  text-align: center;
}
.ui-fil-encart .ui-messagerie-vide { margin: var(--space-2) 0; text-align: start; }
.ui-messagerie-ferme {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  border-top: 1px solid var(--border);
  padding: var(--space-3) var(--space-4);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-messagerie-ferme .material-symbols-outlined { font-size: var(--icon-md); }
.ui-messagerie-composer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border-top: 1px solid var(--border);
  padding: var(--space-3) var(--space-4);
}
.ui-messagerie-mobile { display: none; }
@media (max-width: 767px) {
  .ui-messagerie-bureau { display: none; }
  .ui-messagerie-mobile { display: block; }
}
.ui-messagerie-composer:has(.ui-messagerie-reponse) { flex-wrap: wrap; }
.ui-messagerie-reponse {
  flex: 1 0 100%;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  border-inline-start: 3px solid var(--color-primary);
  border-radius: var(--radius-sm);
  background: var(--surface-douce);
  padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-messagerie-reponse[hidden] { display: none; }
.ui-messagerie-reponse > .material-symbols-outlined { font-size: var(--icon-md); color: var(--color-primary); }
.ui-messagerie-reponse-texte {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-messagerie-reponse-nom { margin-inline-end: var(--space-2); color: var(--color-titre); font-weight: var(--fw-semibold); }
.ui-messagerie-reponse-annuler {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--text-muted);
  cursor: pointer;
}
.ui-messagerie-reponse-annuler:hover { background: var(--surface-appuyee); }
.ui-messagerie-reponse-annuler .material-symbols-outlined { font-size: var(--icon-md); }
.ui-messagerie-champ {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--surface-douce);
  padding: var(--space-2) var(--space-4);
  color: var(--text);
  font: inherit;
  font-size: var(--fs-sm);
  line-height: 1.45;
  resize: none;
  max-height: calc(6 * 1.45em + 1.375rem);
  overflow-y: auto;
}
.ui-messagerie-composer:has(textarea) { align-items: flex-end; }
.ui-messagerie-champ::placeholder { color: var(--text-placeholder); }
.ui-messagerie-champ:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.ui-messagerie-outils {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  flex-shrink: 0;
}
.ui-messagerie-outil {
  border: 0;
  padding: 0;
}
.ui-messagerie-outil > .material-symbols-outlined { font-size: var(--icon-md); }
.ui-messagerie-saisie { position: relative; flex: 1; min-width: 0; display: flex; }
.ui-messagerie-saisie > .ui-messagerie-champ { padding-inline-end: calc(var(--space-2) + 34px); }
.ui-messagerie-envoi {
  position: absolute;
  inset-inline-end: var(--space-1);
  inset-block-end: 2px;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-titre);
  cursor: pointer;
  transition: background 0.2s ease;
}
.ui-messagerie-envoi:hover,
.ui-messagerie-envoi:focus-visible { background: var(--surface-appuyee); }
@media (max-width: 767px) {
  .ui-messagerie-champ { font-size: var(--fs-base); }
}
@media (max-width: 1200px) {
  .ui-fil-inner > .ui-messagerie { grid-column: 2; }
}
.ui-page-membre--ecran {
  display: flex;
  flex-direction: column;
  height: var(--ecran-h, 100dvh);
  overflow: hidden;
}
.ui-page-membre--ecran > main {
  flex: 1;
  min-height: 0;
  display: flex;
}
.ui-fil--ecran {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-block: var(--space-5) var(--space-4);
}
.ui-fil--ecran .ui-messagerie { border-radius: var(--radius-md); }
.ui-fil--ecran > .ui-fil-inner {
  flex: 1;
  min-height: 0;
  align-items: stretch;
}
.ui-fil--ecran .ui-fil-rail {
  position: static;
  min-height: 0;
  overflow-y: auto;
}
.ui-header-inscription {
  position: relative;
  z-index: 30;
  background: var(--white);
  border-bottom: 1px solid var(--border);
}
.ui-header-inscription-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 84px;
  padding-block: var(--space-3);
}
.ui-header-inscription-marque {
  display: block;
  width: 194px;
}
.ui-header-inscription-marque img {
  width: 100%;
  height: auto;
  display: block;
}
.ui-header-inscription-etapes {
  border-top: 1px solid var(--border-soft);
  background: var(--surface-douce);
}
.ui-header-inscription-fil {
  max-width: 56rem;
  margin-inline: auto;
}
@media (max-width: 640px) {
  .ui-header-inscription-inner { min-height: 68px; }
  .ui-header-inscription-marque { width: 145px; }
}
.ui-inscription-section {
  --entete-h: 154px;
  padding-block: var(--space-6) var(--space-7);
  min-height: calc(100vh - var(--entete-h));
  min-height: calc(100dvh - var(--entete-h));
  background: linear-gradient(to bottom, var(--surface-douce), var(--section-teinte-7));
}
.ui-inscription-carte {
  max-width: 40rem;
  margin-inline: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
  padding: var(--space-5);
  position: relative;
}
.ui-inscription-autre { margin-top: var(--space-4); padding: var(--space-4); text-align: center; }
.ui-inscription-autre .ui-btn { background: color-mix(in srgb, var(--color-bouton) 12%, var(--white)); border: 1px solid color-mix(in srgb, var(--color-bouton) 25%, transparent); color: var(--color-bouton); font-weight: var(--fw-bold); }
.ui-inscription-autre .ui-btn:hover { background: color-mix(in srgb, var(--color-bouton) 25%, var(--white)); color: var(--color-bouton); }
.ui-inscription-autre-texte { margin: 0 0 var(--space-3); color: var(--text-muted); }
.ui-inscription-autre-titre { margin: 0 0 var(--space-2); font-size: var(--fs-h5); line-height: var(--lh-heading); color: var(--color-titre); }
.ui-inscription-entete {
  text-align: center;
  margin-bottom: var(--space-4);
}
.ui-inscription-annonce {
  text-align: left;
  margin-bottom: var(--space-4);
}
.ui-inscription-annonce-pied {
  display: block;
  padding-top: var(--space-2);
}
.ui-inscription-annonce-pied a {
  color: inherit;
  text-decoration: underline;
}
.ui-inscription-sceau {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 auto var(--space-3);
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-success) 12%, var(--white));
  color: var(--color-success);
}
.ui-inscription-sceau .material-symbols-outlined { font-size: var(--icon-xl); }
.ui-inscription-titre {
  margin: 0;
  font-size: var(--fs-h4);
  line-height: var(--lh-heading);
  color: var(--color-titre);
}
.ui-inscription-intro {
  margin: var(--space-2) 0 0;
  color: var(--text-muted);
}
.ui-inscription-section--porte .ui-inscription-entete { margin-bottom: calc(var(--space-4) + 20px); }
.ui-inscription-section--porte .ui-inscription-reperes { margin-top: calc(var(--space-4) + 20px); }
.ui-inscription-section--porte .ui-inscription-actions { justify-content: center; }
.ui-inscription-section--porte .ui-inscription-actions .ui-btn-primary { margin-inline-start: 0; }
.ui-inscription-mention-suite { display: block; margin-top: var(--space-2); }
.ui-inscription-section--porte .ui-inscription-mention a { color: var(--color-brand-pink-ink); }
.ui-inscription-bloc + .ui-inscription-bloc {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-soft);
}
.ui-inscription-bloc-titre {
  margin: 0 0 var(--space-2);
  font-size: var(--fs-h6);
  font-weight: var(--fw-bold);
  color: var(--color-titre);
}
.ui-inscription-bloc-intro {
  margin: 0 0 var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-inscription-bloc .ui-pastilles + .ui-pastilles { margin-top: var(--space-3); }
.ui-inscription-lieu {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.ui-inscription-social {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-soft);
  text-align: center;
}
.ui-inscription-social-mention {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ui-inscription-social-mention::before,
.ui-inscription-social-mention::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: var(--border);
}
.ui-inscription-social-boutons {
  display: flex;
  gap: var(--space-2);
}
.ui-inscription-social-bouton {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-width: 0;
}
.ui-inscription-social-bouton:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.ui-inscription-social-aide {
  margin: var(--space-2) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-caption);
}
.ui-inscription-conditions {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.ui-inscription-conditions .form-check-label {
  font-size: var(--fs-sm);
  color: var(--text);
}
.ui-inscription-conditions .form-switch {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding-left: 0;
}
.ui-inscription-conditions .form-switch .form-check-input {
  float: none;
  flex: 0 0 auto;
  width: 32px;
  height: 18px;
  margin: 2px 0 0;
  border-color: var(--text-muted);
}
.ui-inscription-conditions .form-switch .form-check-input:checked { border-color: var(--color-primary); }
.ui-inscription-reperes {
  list-style: none;
  margin: var(--space-4) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.ui-inscription-repere {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-areas: 'icone titre' 'icone texte';
  column-gap: var(--space-3);
  row-gap: 0.125rem;
  text-align: start;
}
.ui-inscription-repere .material-symbols-outlined {
  grid-area: icone;
  align-self: start;
  font-size: var(--icon-lg);
  color: var(--color-primary);
}
.ui-inscription-repere strong {
  grid-area: titre;
  color: var(--color-titre);
  font-size: var(--fs-sm);
}
.ui-inscription-repere > span:last-child {
  grid-area: texte;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-inscription-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.ui-inscription-actions .ui-btn-primary { margin-inline-start: auto; }
.ui-inscription-actions .ui-btn-outline .material-symbols-outlined {
  font-size: var(--icon-md);
  margin-inline-end: var(--space-1);
}
.ui-inscription-passer {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ui-inscription-passer:hover { color: var(--color-primary); }
button.ui-inscription-passer { padding: 0; border: 0; background: none; font-family: inherit; cursor: pointer; }
.ui-inscription-passer--haut {
  position: absolute;
  inset-block-start: var(--space-4);
  inset-inline-end: var(--space-4);
}
@media (max-width: 560px) {
  .ui-inscription-passer--haut { inset-block-start: var(--space-3); inset-inline-end: var(--space-3); }
}
.ui-inscription-mention {
  margin: var(--space-4) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-caption);
  text-align: center;
  line-height: var(--lh-base);
}
.ui-inscription-mention-bouton { display: flex; width: 100%; margin-top: var(--space-2); }
@media (max-width: 640px) {
  .ui-inscription-section { --entete-h: 139px; }
}
@media (max-width: 560px) {
  .ui-inscription-section { padding-block: var(--space-4) var(--space-5); }
  .ui-inscription-carte {
    padding: var(--space-4) var(--space-3);
    border-radius: var(--radius-sm);
  }
  .ui-inscription-social-boutons { flex-direction: column; }
  .ui-inscription-actions {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: var(--space-2);
  }
  .ui-inscription-actions .ui-btn { width: 100%; justify-content: center; }
  .ui-inscription-actions .ui-btn-primary { margin-inline-start: 0; }
  .ui-inscription-passer { text-align: center; }
  .ui-inscription-autre .ui-btn { width: 100%; }
}
.ui-fil-vide {
  margin: 0 0 var(--space-4);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-4);
  color: var(--text-muted);
  text-align: center;
}
.ui-fil-plus {
  display: flex;
  justify-content: center;
  margin: var(--space-3) 0 var(--space-5);
}
.ui-fil-plus[aria-busy="true"] .ui-btn { opacity: 0.6; pointer-events: none; }
.ui-fil--sortie > .ui-fil-inner,
.ui-liste-section--sortie > .ui-liste-inner {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}
.ui-fil--sortie > .ui-fil-inner > .ui-fil-centre,
.ui-liste-section--sortie > .ui-liste-inner > .ui-liste-contenu { grid-column: 1 / span 7; }
.ui-fil--sortie > .ui-fil-inner > .ui-fil-rail--droit,
.ui-liste-section--sortie > .ui-liste-inner > .ui-liste-apart { grid-column: 9 / span 4; }
.ui-liste-section--sortie .ui-liste-rail { display: none; }
@media (max-width: 991.98px) {
  .ui-fil--sortie > .ui-fil-inner > .ui-fil-centre,
  .ui-liste-section--sortie > .ui-liste-inner > .ui-liste-contenu,
  .ui-fil--sortie > .ui-fil-inner > .ui-fil-rail--droit,
  .ui-liste-section--sortie > .ui-liste-inner > .ui-liste-apart { grid-column: 1 / -1; }
}
.ui-monprofil-action-form { display: contents; }
.ui-espace-contenu {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.ui-espace-contenu:has(> .ui-parametres-encart--demi) { flex-flow: row wrap; }
.ui-espace-contenu:has(> .ui-parametres-encart--demi) > * { flex: 1 1 100%; min-width: 0; }
.ui-espace-contenu > .ui-parametres-encart--demi { flex: 1 1 calc(50% - var(--space-4) / 2); }
@media (max-width: 575.98px) {
  .ui-espace-contenu > .ui-parametres-encart--demi { flex-basis: 100%; }
}
.ui-parametres-encart--demi > form,
.ui-parametres-encart--demi > .ui-parametres-pied { margin-top: auto; }
.ui-carte.ui-espace-liste {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-espace-ligne {
  display: grid;
  grid-template-columns: 24px minmax(160px, 220px) minmax(0, 1fr) 7.5rem auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}
.ui-espace-ligne + .ui-espace-ligne { border-top: 1px solid var(--border); }
.ui-espace-ligne-icone { color: var(--color-primary); font-size: var(--icon-lg); }
.ui-espace-ligne-titre {
  margin: 0;
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: var(--fw-semibold);
}
.ui-espace-ligne .ui-espace-ligne-resume {
  margin: 0;
  overflow: hidden;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-espace-ligne-resume.is-vide { font-style: italic; }
.ui-espace-ligne-badge { justify-self: end; }
.ui-espace-important {
  background: var(--color-brand-pink-soft);
  color: var(--color-brand-pink-ink);
}
@media (max-width: 640px) {
  .ui-espace-ligne { grid-template-columns: 24px minmax(0, 1fr) auto; row-gap: var(--space-1); }
  .ui-espace-ligne-modifier { grid-column: 3; grid-row: 1; }
  .ui-espace-ligne .ui-espace-ligne-resume {
    display: -webkit-box;
    grid-column: 2 / -1;
    grid-row: 2;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .ui-espace-ligne-badge { grid-column: 2 / -1; grid-row: 3; justify-self: start; }
  .ui-espace-ligne-badge:empty { display: none; }
}
.ui-parametres-points {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: var(--space-2) 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--fs-sm);
}
.ui-parametres-points li { display: flex; align-items: flex-start; gap: var(--space-2); }
.ui-parametres-points .material-symbols-outlined { color: var(--color-primary); font-size: var(--icon-md); }
.ui-parametres-encart { gap: var(--space-2); padding: var(--space-4); }
.ui-espace-contenu > .ui-parametres-encart { border-radius: var(--radius-md); }
.ui-parametres-encart-tete {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.ui-parametres-encart-tete > .material-symbols-outlined { color: var(--color-primary); font-size: var(--icon-lg); }
.ui-espace-boutons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-2); }
.ui-espace-boutons > form { margin: 0; }
.ui-parametres-encart-supprimer { margin-left: auto; }
.ui-parametres-encart-titre {
  margin: 0;
  color: var(--color-titre);
  font-size: var(--fs-h5);
  font-weight: var(--fw-semibold);
}
.ui-parametres-encart .ui-parametres-encart-intro {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.55;
}
.ui-parametres-valeur {
  margin: 0;
  color: var(--color-titre);
  font-weight: var(--fw-semibold);
}
.ui-parametres-valeur small { color: var(--text-muted); font-weight: 400; }
.ui-parametres-pied {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.ui-parametres-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2) 0 0;
}
.ui-parametres-qr-image {
  width: min(100%, 16rem);
  padding: var(--space-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
}
.ui-parametres-qr-image svg { display: block; width: 100%; height: auto; }
.ui-parametres-qr-legende {
  color: var(--text-muted);
  font-size: var(--fs-sm);
  text-align: center;
}
.ui-parametres-qr-legende strong { color: var(--color-titre); letter-spacing: 0.08em; }
.ui-parametres-encart--danger { border-color: color-mix(in srgb, var(--color-brand-pink-ink) 40%, var(--border)); }
.ui-parametres-encart--danger .ui-parametres-encart-tete > .material-symbols-outlined { color: var(--color-brand-pink-ink); }
.ui-membre-barre-bas { display: none; }
@media (max-width: 900px) {
  body:has(.ui-membre-barre-bas) { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .ui-header-membre .ui-header-membre-inner > .ui-membre-nav { display: none; }
  .ui-membre-barre-bas {
    position: fixed;
    inset: auto 0 0;
    z-index: 1030;
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    border-top: 1px solid var(--border);
    background: var(--surface-card);
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: var(--shadow-haut);
  }
  .ui-membre-barre-bas-lien {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    height: 64px;
    border: 0;
    background: none;
    padding: 0;
    color: var(--text-muted);
    font: inherit;
    font-size: var(--fs-caption);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
  }
  .ui-membre-barre-bas-lien .material-symbols-outlined { font-size: var(--icon-lg); }
  .ui-membre-barre-bas-lien.is-current,
  .ui-membre-barre-bas-groupe.is-open > .ui-membre-barre-bas-lien { color: var(--color-titre); }
  .ui-membre-barre-bas-lien.is-current .material-symbols-outlined { font-variation-settings: 'FILL' 1; }
  .ui-membre-barre-bas-lien .ui-membre-cloche-pastille {
    position: absolute;
    top: 6px;
    left: calc(50% + 4px);
    inset-inline-end: auto;
  }
  .ui-membre-barre-bas-groupe { position: relative; }
  .ui-membre-barre-bas-panneau {
    position: fixed;
    inset: auto var(--space-3) calc(72px + env(safe-area-inset-bottom));
    display: none;
    flex-direction: column;
    border-radius: var(--radius-md);
    background: var(--surface-card);
    padding: var(--space-3);
    box-shadow: var(--shadow-md);
  }
  .ui-membre-barre-bas-groupe.is-open > .ui-membre-barre-bas-panneau { display: flex; }
  .ui-membre-barre-bas-entree {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-height: 48px;
    border-radius: var(--radius-sm);
    padding: 0 var(--space-2);
    color: var(--color-titre);
    font-weight: 600;
    text-decoration: none;
  }
  .ui-membre-barre-bas-entree:hover,
  .ui-membre-barre-bas-entree:focus-visible { background: var(--teinte-neutre); }
  .ui-membre-barre-bas-entree .material-symbols-outlined { color: var(--color-primary); }
  .ui-membre-barre-bas-entree .ui-pastille-nouveaux { margin-inline-start: auto; }
}
.ui-membre-burger { display: none; }
@media (max-width: 900px) {
  .ui-membre-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    margin-inline-start: calc(var(--space-2) * -1);
    border: 0;
    border-radius: 50%;
    background: none;
    color: var(--color-titre);
    cursor: pointer;
  }
  .ui-membre-burger .material-symbols-outlined { font-size: var(--icon-lg); }
  .ui-header-membre-compte > .ui-membre-rond--recherche,
  .ui-header-membre-compte > .ui-membre-rond--messages { display: none; }
  .ui-header-membre-marque img { width: 143px; margin-inline-start: 0; }
}
.ui-menu-mobile.offcanvas-start { width: 100%; border-right: 0; border-radius: 0; }
.ui-menu-mobile-tete { padding: var(--space-4) var(--space-4) var(--space-3); }
.ui-menu-mobile-tete img { display: block; height: 20px; width: auto; }
.ui-menu-mobile-tete .ui-close-button { padding: 0; margin: 0 0 0 auto; }
.ui-menu-mobile-corps { display: flex; flex-direction: column; gap: calc(var(--space-4) + var(--space-2)); padding: var(--space-2) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom)); }
.ui-menu-mobile-nav { display: flex; flex-direction: column; flex: 1; gap: calc(var(--space-4) + var(--space-2)); }
.ui-menu-mobile-moi {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-titre);
  text-decoration: none;
}
.ui-menu-mobile-moi img { width: 56px; height: 56px; border-radius: var(--radius-photo); object-fit: cover; }
.ui-menu-mobile-moi-texte { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ui-menu-mobile-moi-texte strong { font-family: var(--font-display); font-size: var(--fs-h5); line-height: 1.2; }
.ui-menu-mobile-moi-texte span { color: var(--text-muted); font-size: var(--fs-sm); }
.ui-menu-mobile-moi > .material-symbols-outlined { color: var(--text-muted); }
.ui-menu-mobile-bascule {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-h-tactile);
  border-radius: var(--radius-md);
  background: var(--surface-douce);
  padding: 0 var(--space-3);
  color: var(--color-titre);
  font-weight: var(--fw-semibold);
  text-decoration: none;
}
.ui-menu-mobile-bascule .material-symbols-outlined { color: var(--color-primary); }
.ui-menu-mobile-recherche {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 48px;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--teinte-neutre);
  padding: 0 var(--space-3);
}
.ui-menu-mobile-recherche .material-symbols-outlined { color: var(--text-muted); }
.ui-menu-mobile-recherche input { flex: 1; min-width: 0; border: 0; background: none; color: var(--color-titre); font: inherit; outline: none; }
.ui-menu-mobile-recherche:focus-within { border-color: var(--color-primary); }
.ui-menu-mobile-titre {
  margin: 0 0 var(--space-2);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ui-menu-mobile-tuiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.ui-menu-mobile-tuile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  border-radius: var(--radius-md);
  background: var(--surface-douce);
  padding: var(--space-2) var(--space-3);
  color: var(--color-titre);
  font-weight: var(--fw-semibold);
  text-decoration: none;
}
.ui-menu-mobile-tuile .material-symbols-outlined { color: var(--color-primary); font-size: var(--icon-lg); }
.ui-menu-mobile-tuile .ui-pastille-nouveaux { position: absolute; top: var(--space-2); right: var(--space-2); }
.ui-menu-mobile-tuile:hover,
.ui-menu-mobile-tuile:focus-visible,
.ui-menu-mobile-tuile.is-current { background: var(--surface-appuyee); color: var(--color-titre); text-decoration: none; }
.ui-menu-mobile-liste { margin: 0; padding: 0; list-style: none; }
.ui-menu-mobile-liste li { display: flex; flex-direction: column; border-bottom: 1px solid var(--border); }
.ui-menu-mobile-raccourcis { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-top: calc(var(--space-2) * -1); padding: 0 0 var(--space-2); }
.ui-menu-mobile-raccourci { color: var(--text-muted); font-size: var(--fs-sm); text-decoration: none; }
.ui-menu-mobile-lien:hover,
.ui-menu-mobile-lien:focus-visible,
.ui-menu-mobile-lien.is-current { color: var(--color-primary); text-decoration: none; }
.ui-menu-mobile-raccourci:hover,
.ui-menu-mobile-raccourci:focus-visible { color: var(--color-titre); }
.ui-menu-mobile-secondaires { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: auto 0 0; padding-top: var(--space-3); border-top: 1px solid var(--border); }
.ui-menu-mobile-secondaires a { color: var(--text-muted); font-size: var(--fs-base); text-decoration: none; }
.ui-menu-mobile-secondaires a:hover { color: var(--color-titre); }
@media (max-width: 900px) {
  .ui-fil-rail--gauche,
  .ui-liste-rail--activite { display: none; }
  .ui-liste-section:not(.ui-espace) .ui-liste-rail { display: none; }
  .ui-espace .ui-liste-rail { display: none; }
  .ui-liste-rail .ui-membre-onglets {
    display: flex;
    gap: var(--space-2);
    overflow-x: auto;
    margin: 0 0 var(--space-3);
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .ui-liste-rail .ui-membre-onglet {
    flex: 0 0 auto;
    min-height: 40px;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    padding: 0 var(--space-3);
    white-space: nowrap;
  }
  .ui-liste-rail .ui-membre-onglet.is-current {
    border-color: var(--color-titre);
    background: var(--color-titre);
    color: var(--white);
  }
  .ui-liste-rail .ui-membre-onglet.is-current .material-symbols-outlined { color: inherit; }
}
@media (max-width: 900px) {
  .ui-section.ui-liste-section { padding-top: var(--space-3); }
  .ui-fil:not(.ui-fil--ecran) { padding-top: var(--space-4); }
}
@media (max-width: 640px) {
  .ui-liste-tete {
    flex-direction: column;
    align-items: flex-start;
  }
  .ui-liste-tete > .ui-liste-action { align-self: stretch; justify-content: center; }
  .ui-liste-filtres-bouton {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
    margin-bottom: var(--space-3);
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    padding: 0 var(--space-3);
    color: var(--color-titre);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }
  .ui-liste-filtres-bouton[aria-expanded="true"] .ui-liste-filtres-chevron { transform: rotate(180deg); }
  .ui-liste-filtres:not(.is-open) { display: none; }
}
.ui-liste-filtres-bouton { display: none; }
@media (max-width: 640px) {
  .ui-liste-filtres-bouton { display: inline-flex; }
}
@media (max-width: 767px) {
  .ui-edition-dialog,
  .ui-criteres-dialog,
  .ui-discussion-dialog {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    min-height: 100%;
    margin: 0;
  }
  .ui-edition-dialog > .modal-content,
  .ui-criteres-dialog > .modal-content,
  .ui-discussion-dialog > .modal-content {
    height: 100%;
    max-height: 100%;
    border: 0;
    border-radius: 0;
  }
}
.ui-messagerie-retour { display: none; }
@media (max-width: 900px) {
  .ui-fil--ecran > .ui-fil-inner {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
  }
  .ui-fil--ecran { padding-top: 0; padding-bottom: 0; }
  .ui-fil--ecran .ui-messagerie,
  .ui-fil--ecran .ui-fil-rail--droit {
    flex: 1;
    width: 100%;
    min-height: 0;
    border-inline: 0;
    border-radius: 0;
  }
  .ui-fil--ecran .ui-fil-rail--droit { position: static; }
  .ui-fil--ecran .ui-fil-rail--droit .ui-fil-encart { border-radius: 0; border-inline: 0; }
  .ui-fil--ecran.ui-fil--liste .ui-messagerie,
  .ui-fil--ecran:not(.ui-fil--liste) .ui-fil-rail--droit { display: none; }
  .ui-fil--ecran.ui-fil--liste .ui-fil-rail--droit > .ui-fil-encart { display: block; }
  body:has(.ui-fil--ecran:not(.ui-fil--liste)) .ui-membre-barre-bas { display: none; }
  body:has(.ui-fil--ecran:not(.ui-fil--liste)) .ui-header-membre { display: none; }
  body:has(.ui-fil--ecran:not(.ui-fil--liste)) { padding-bottom: 0; }
  .ui-messagerie-retour {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-inline-start: calc(var(--space-2) * -1);
    border-radius: 50%;
    color: var(--color-titre);
    text-decoration: none;
  }
}
.ui-selfie { display: grid; gap: var(--space-3); justify-items: center; }
.ui-selfie-cadre {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 320px);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface-douce);
}
.ui-selfie-video, .ui-selfie-apercu { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ui-selfie-video { transform: scaleX(-1); }
.ui-selfie-icone { font-size: var(--icon-2xl); color: var(--text-muted); }
.ui-selfie-aide { margin: 0; color: var(--text-muted); font-size: var(--fs-sm); text-align: center; }
.ui-selfie-boutons { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; }
.ui-selfie-boutons [hidden], .ui-selfie-cadre [hidden] { display: none; }
@media (max-width: 1440px) {
  .ui-section:has(.ui-monprofil-identite) { padding-top: 0; }
  .ui-monprofil-identite > .ui-monprofil-couverture {
    margin-inline: calc(50% - 50vw);
    margin-top: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .ui-monprofil-couverture img { border-radius: 0; height: var(--haut-banniere); }
}
@media (max-width: 767px) {
  .ui-monprofil-tete { flex-wrap: wrap; align-items: flex-end; }
  .ui-monprofil-identite > .ui-monprofil-tete { justify-self: stretch; }
  .ui-monprofil-tete > .ui-monprofil-detail { display: contents; }
  .ui-monprofil-tete .ui-monprofil-infos { flex: 1 1 0; min-width: 0; gap: var(--space-1) var(--space-3); padding-bottom: var(--space-1); }
  .ui-monprofil-tete .ui-monprofil-bio,
  .ui-monprofil-tete .ui-monprofil-chiffres { flex-basis: 100%; }
  .ui-monprofil-avatar { border-width: var(--cadre-photo); }
  .ui-monprofil-tete { position: relative; }
  .ui-monprofil-tete > .ui-monprofil-editer--portrait {
    position: absolute;
    inset: auto auto 8px calc(112px - 40px - 8px);
    margin: 0;
    opacity: 1;
  }
  .ui-monprofil-inner .ui-monprofil-tete > .ui-monprofil-editer--portrait {
    inset: calc(56px + 6px - 28px) auto auto calc(112px - 28px + 6px);
    width: 1.75rem;
    min-width: 0;
    height: 1.75rem;
    min-height: 0;
  }
  .ui-monprofil-inner .ui-monprofil-tete > .ui-monprofil-editer--portrait::after {
    content: "";
    position: absolute;
    inset: -10px;
  }
  .ui-monprofil-tete > .ui-monprofil-editer--portrait > .material-symbols-outlined { font-size: var(--icon-sm); }
  .ui-monprofil-tete .ui-monprofil-taux {
    position: absolute;
    top: -12px;
    right: 0;
    transform: translateY(-100%);
    z-index: 2;
  }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-menu-actions { margin-inline-start: auto; }
  .ui-monprofil-tete .ui-monprofil-infos {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: var(--space-2);
    row-gap: var(--space-1);
  }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-nom { grid-column: 1; grid-row: 1; }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-meta { grid-column: 1; grid-row: 2; }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-menu-actions { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
  .ui-monprofil-tete .ui-monprofil-infos:has(> .ui-monprofil-message) { grid-template-columns: minmax(0, 1fr) auto auto; }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-message { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
  .ui-monprofil-tete .ui-monprofil-infos:has(> .ui-monprofil-message) > .ui-menu-actions { grid-column: 3; }
}
@media (max-width: 767px) {
  .ui-monprofil-photos { padding-inline: var(--space-3); }
}
@media (max-width: 767px) {
  .ui-monprofil-identite--repli .ui-monprofil-actions:not(:has(> a)) { display: none; }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-nom { flex: 1 1 calc(100% - 52px); margin-top: var(--space-4); }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-menu-actions,
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-message { order: 1; align-self: flex-start; margin: var(--space-3) 0 calc(var(--space-2) * -1); }
  .ui-monprofil-tete .ui-monprofil-infos:has(> .ui-monprofil-message) > .ui-monprofil-nom { flex-basis: calc(100% - 104px); }
  .ui-monprofil-tete .ui-monprofil-infos > p { order: 2; flex-basis: 100%; }
  .ui-monprofil-tete .ui-monprofil-infos > .ui-monprofil-envoye-mobile {
    position: absolute;
    top: calc(var(--haut-banniere, 150px) * -1 + var(--space-4));
    right: calc(var(--space-4) - var(--space-3));
    min-height: var(--control-h-sm);
    z-index: 2;
  }
}
@media (min-width: 768px) {
  .ui-monprofil-envoye-mobile { display: none; }
}
.ui-monprofil-onglets:not(:has(*)) { display: none; }
.ui-monprofil-onglets:not(:has(*)) ~ .ui-liste-contenu {
  margin-top: calc(var(--space-4) - var(--ecart-grille-profil, 16px));
}
@media (min-width: 900.02px) {
  .ui-monprofil-onglets:not(:has(*)) ~ .ui-liste-contenu,
  .ui-monprofil-onglets:not(:has(*)) ~ .ui-fil-rail { margin-top: calc(var(--space-4) - 52px + 24px); }
}
.ui-monprofil-inner .ui-liste-contenu > * + * { margin-top: var(--space-4); }
.ui-monprofil-inner { --debord-photo: 10px; }
@media (max-width: 767px) { .ui-monprofil-inner { --debord-photo: 14px; } }
.ui-monprofil-inner .ui-monprofil-photos { row-gap: calc(var(--space-4) + var(--debord-photo)); }
.ui-monprofil-inner .ui-liste-contenu > * + .ui-monprofil-photos:not(.ui-monprofil-photos ~ .ui-monprofil-photos),
.ui-monprofil-inner .ui-liste-contenu > * + .ui-monprofil-photos ~ .ui-monprofil-photos ~ .ui-monprofil-photos { margin-top: calc(var(--space-4) + var(--debord-photo)); }
.ui-monprofil-inner .ui-liste-contenu > .ui-monprofil-photos:not(:has(*)) { display: none; }
@media (min-width: 768px) {
  .ui-monprofil-inner .ui-liste-contenu > .ui-monprofil-photos:not(.ui-monprofil-photos ~ .ui-monprofil-photos) + *,
  .ui-monprofil-inner .ui-liste-contenu > .ui-monprofil-photos ~ .ui-monprofil-photos ~ .ui-monprofil-photos + * { margin-top: calc(var(--space-4) + var(--debord-photo)); }
}
@media (min-width: 900.02px) {
  .ui-monprofil-tete > .ui-monprofil-avatar,
  .ui-monprofil-tete > .ui-monprofil-editer--portrait { translate: 0 31px; }
}
@media (min-width: 900.02px) {
  .ui-monprofil-inner > .ui-monprofil-onglets:has(*) { margin-bottom: var(--space-3); }
}
.ui-monprofil-photos > .ui-monprofil-photo-case,
.ui-monprofil-zones > .ui-monprofil-photo-case {
  border: var(--cadre-photo) solid var(--white);
  background: var(--white);
}
.ui-monprofil-photos > .ui-monprofil-photo-case > .ui-monprofil-photo,
.ui-monprofil-zones > .ui-monprofil-photo-case > .ui-monprofil-photo {
  border-radius: calc(var(--radius-md) - var(--cadre-photo));
}
.ui-monprofil-galerie-case {
  border: var(--cadre-photo) solid var(--white);
  background: var(--white);
}
@media (max-width: 767px) {
  .ui-monprofil-inner { --cadre-photo: 3px; }
}
.ui-monprofil-zones[data-ordre] > .ui-monprofil-photo-case { cursor: grab; -webkit-touch-callout: none; user-select: none; }
.ui-monprofil-zones[data-ordre] .ui-monprofil-photo { -webkit-user-drag: none; }
.ui-monprofil-photo-case.is-deplacee { opacity: 0.35; }
.ui-monprofil-zones > .is-cible { outline: 3px dashed var(--color-primary); outline-offset: 4px; }
.ui-monprofil-fantome {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 2000;
  margin: 0;
  pointer-events: none;
  cursor: grabbing;
  opacity: 0.92;
  rotate: 2deg;
  box-shadow: var(--shadow-md);
  border: var(--cadre-photo, 6px) solid var(--white);
  border-radius: var(--radius-md);
  background: var(--white);
}
.ui-monprofil-couverture > .ui-monprofil-editer--couverture {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  z-index: 2;
}
.ui-monprofil-editer--couverture {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  height: var(--control-h-sm);
  padding: 0 var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
}
.ui-monprofil-editer--couverture:is(:hover, :focus-visible) { border-color: var(--color-bouton); background: var(--color-bouton); color: var(--white); }
.ui-monprofil-editer--couverture > .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-monprofil-couverture:hover > .ui-monprofil-editer--couverture { opacity: 1; }
@media (hover: none), (max-width: 767px) {
  .ui-monprofil-couverture > .ui-monprofil-editer--couverture,
  .ui-monprofil-editer--portrait,
  .ui-monprofil-photo-case > .ui-monprofil-editer { opacity: 1; }
}
.ui-monprofil-couverture { isolation: isolate; }
.ui-monprofil-couverture:not(:has(> img[src*="couverture.svg"]))::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(to bottom,
    color-mix(in srgb, var(--color-titre) 18%, transparent) 0%,
    transparent 35%,
    color-mix(in srgb, var(--color-titre) 45%, transparent) 100%);
}
.ui-monprofil-onglets > .ui-monprofil-onglets-outil {
  flex-shrink: 0;
  margin-inline-start: auto;
  position: sticky;
  right: 0;
  display: inline-grid;
  place-items: center;
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  padding: 0;
}
.ui-monprofil-onglets-outil > .material-symbols-outlined { font-size: var(--icon-md); }
@media (min-width: 900.02px) {
  .ui-monprofil-detail > .ui-monprofil-infos > .ui-monprofil-taux {
    position: absolute;
    left: 0;
    top: calc(-24px - 22px - 30px);
    z-index: 2;
  }
}
@media (767px < width <= 900px) {
  .ui-monprofil-tete { position: relative; }
  .ui-monprofil-inner .ui-monprofil-tete > .ui-monprofil-editer--portrait {
    position: absolute;
    inset: calc(56px + 6px - 28px) auto auto calc(112px - 28px + 6px);
    margin: 0;
    opacity: 1;
    width: 1.75rem;
    min-width: 0;
    height: 1.75rem;
    min-height: 0;
  }
  .ui-monprofil-inner .ui-monprofil-tete > .ui-monprofil-editer--portrait::after {
    content: "";
    position: absolute;
    inset: -10px;
  }
  .ui-monprofil-tete > .ui-monprofil-editer--portrait > .material-symbols-outlined { font-size: var(--icon-sm); }
}
.ui-monprofil-inner { --haut-banniere: 280px; --portrait: 192px; }
.ui-monprofil-couverture img { height: var(--haut-banniere); }
@media (max-width: 1440px) { .ui-monprofil-inner { --haut-banniere: 200px; } }
@media (max-width: 1100px) { .ui-monprofil-inner { --haut-banniere: 170px; --portrait: 150px; } }
@media (max-width: 900px)  { .ui-monprofil-inner { --haut-banniere: 176px; } }
@media (max-width: 767px)  { .ui-monprofil-inner { --haut-banniere: 156px; } }
@media (min-width: 900.02px) {
  .ui-monprofil-tete { grid-template-columns: var(--portrait) minmax(0, 1fr); }
  .ui-monprofil-tete > .ui-monprofil-avatar,
  .ui-monprofil-tete > .ui-monprofil-editer--portrait { grid-column: 1; }
  .ui-monprofil-tete > .ui-monprofil-detail { grid-column: 2; }
}
@media (900px < width <= 1100px) {
  .ui-monprofil-detail > .ui-monprofil-infos > .ui-monprofil-taux { top: calc(-24px - 22px - 30px + 21px); }
}
.ui-monprofil-identite--repli > .ui-monprofil-actions { display: none; }
.ui-monprofil-ronds {
  display: flex;
  gap: var(--space-2);
  align-self: center;
  margin-inline-start: auto;
}
.ui-monprofil-ronds > form { margin: 0; }
.ui-monprofil-ronds .ui-monprofil-rond {
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  margin: 0;
  box-shadow: none;
}
.ui-monprofil-ronds .ui-monprofil-rond[aria-disabled="true"] { cursor: default; }
.ui-monprofil-ronds + .ui-monprofil-message,
.ui-monprofil-ronds + .ui-menu-actions { margin-inline-start: calc(0.5rem - 20px); }
@media (max-width: 767px) {
  .ui-monprofil-ronds { display: none; }
}
.ui-monprofil-infos > .ui-monprofil-message {
  border: 1px solid var(--border);
  background: var(--white);
  color: var(--text-muted);
}
.ui-monprofil-infos > .ui-monprofil-message:hover,
.ui-monprofil-infos > .ui-monprofil-message:focus-visible {
  border-color: var(--border);
  background: var(--color-dark);
  color: var(--white);
}
@media (min-width: 1100.02px) {
  .ui-monprofil-inner:has(> .ui-monprofil-onglets > *) .ui-monprofil-infos > :is(.ui-monprofil-ronds, .ui-monprofil-message, .ui-menu-actions) {
    translate: 0 52px;
  }
}
.ui-profil-score.ui-monprofil-match {
  border-
}
.ui-monprofil-mention { box-shadow: var(--shadow-md); }
.ui-monprofil-match > .material-symbols-outlined { font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 20; }
.ui-liste-section--sortie > .ui-liste-inner:has(> .ui-liste-apart) > .ui-liste-contenu { display: contents; }
.ui-liste-section--sortie > .ui-liste-inner > .ui-liste-contenu > .ui-monprofil-groupe:last-of-type { order: 2; grid-column: 1 / -1; }
.ui-liste-section--sortie > .ui-liste-inner > .ui-liste-apart { order: 1; }
.ui-liste-section--sortie > .ui-liste-inner > .ui-liste-contenu:has(> .ui-monprofil-groupe:last-of-type) > .ui-fil-filtrer { order: 2; grid-column: 1 / -1; }
@media (min-width: 992px) {
  .ui-liste-section--sortie > .ui-liste-inner:has(> .ui-liste-apart) > .ui-liste-contenu > :not(.ui-monprofil-groupe:last-of-type, .ui-fil-filtrer) { grid-column: 1 / span 7; }
  .ui-liste-section--sortie > .ui-liste-inner > .ui-liste-apart { grid-row: 1 / span 2; align-self: start; }
}
@media (min-width: 768px) {
  .ui-liste-section--sortie .ui-monprofil-groupe:last-of-type .ui-liste-grille > .ui-grid-item { flex: 0 0 auto; width: 25%; }
}
@media (min-width: 1200px) {
  .ui-liste-section--sortie .ui-monprofil-groupe:last-of-type .ui-liste-grille > .ui-grid-item { width: calc(100% / 6); }
}
.ui-fil-filtrer:has(> .ui-fil-filtrer-tags),
.ui-fil-filtrer:has(> .ui-fil-trier) { flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.ui-fil-filtrer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-fil-filtrer-tags-el { display: flex; }
.ui-fil-filtrer-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  min-height: 30px;
  padding: var(--space-1) var(--space-2) var(--space-1) var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--color-titre);
  font-size: var(--fs-caption);
  font-weight: 600;
  text-decoration: none;
}
.ui-fil-filtrer-tag > .material-symbols-outlined { font-size: var(--icon-sm); color: var(--text-muted); }
.ui-fil-filtrer-tag:hover,
.ui-fil-filtrer-tag:focus-visible { border-color: var(--color-titre); color: var(--color-titre); text-decoration: none; }
.ui-fil-filtrer-tag:hover > .material-symbols-outlined { color: var(--color-titre); }
.ui-fil-filtrer > .ui-fil-trier { margin-inline-start: auto; }
.ui-fil-filtrer > .ui-fil-filtrer-tags { order: 3; flex-basis: 100%; }
@media (max-width: 576px) {
  .ui-fil-filtrer > .ui-fil-trier { display: none; }
  .ui-liste-section--recherche .ui-fil-filtrer > .ui-fil-trier { display: block; margin-inline-start: 0; }
  .ui-liste-section--recherche .ui-fil-filtrer > :is(.ui-fil-filtrer-bouton, .ui-fil-filtrer-menu, .ui-fil-filtrer-tags) { display: none; }
}
.ui-fil-trier-bouton { margin-inline-start: 0; margin-inline-end: calc(var(--space-2) * -1); }
.ui-fil-trier-menu {
  min-width: 14rem;
  padding: var(--space-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}
.ui-fil-trier-choix {
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-fil-trier-choix:hover,
.ui-fil-trier-choix:focus-visible { background: var(--surface-douce); color: var(--color-titre); }
.ui-fil-trier-choix.is-current { background: var(--surface-douce); }
@media (min-width: 900.02px) {
  .ui-monprofil-tete > .ui-monprofil-match {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: center;
    position: relative;
    z-index: 2;
    top: calc(var(--saillie-photo, 0px) * -1);
    translate: 0 31px;
    margin: 0 0 calc(var(--space-3) + var(--cadre-photo) + 10px);
  }
}
@media (max-width: 900px) {
  .ui-monprofil-tete { position: relative; }
  .ui-monprofil-tete > .ui-monprofil-match {
    position: absolute;
    z-index: 2;
    left: calc(112px / 2);
    top: calc(112px / 2 + 22px - var(--cadre-photo) - 6px);
    translate: -50% -100%;
  }
}
@media (max-width: 900px) {
  .ui-monprofil-identite--repli .ui-monprofil-tete > .ui-monprofil-match {
    top: auto;
    bottom: calc(var(--cadre-photo) + 6px);
    translate: -50% 0;
  }
}
.ui-liste-plus {
  display: flex;
  justify-content: center;
  margin: var(--space-4) 0 0;
}
.ui-liste-plus[aria-busy="true"] .ui-btn { opacity: 0.6; pointer-events: none; }
.ui-liste-section--pleine > .ui-liste-inner {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}
.ui-liste-section--pleine .ui-liste-rail { display: none; }
.ui-liste-section--pleine > .ui-liste-inner > .ui-liste-contenu { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .ui-liste-section--pleine .ui-liste-grille > .ui-grid-item:has(> .ui-profil) { flex: 0 0 auto; width: 25%; }
}
@media (min-width: 1200px) {
  .ui-liste-section--pleine .ui-liste-grille > .ui-grid-item:has(> .ui-profil) { width: calc(100% / 6); }
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) { padding-block: var(--space-5); }
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-cadre { aspect-ratio: 16 / 10; }
@media (min-width: 992px) {
  .ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-display-title { font-size: var(--fs-display-4); }
}
.ui-hero-evenement:not(.ui-hero-evenement--banniere) .ui-hero-evenement-pied { margin-top: var(--space-4); }
@media (min-width: 900.02px) {
  .ui-liste-section--detail > .ui-liste-inner:has(> .ui-liste-apart),
  .ui-fil--detail > .ui-fil-inner {
    grid-template-columns: 240px minmax(0, 1fr) 300px;
    justify-content: stretch;
  }
  .ui-liste-section--detail > .ui-liste-inner > .ui-liste-rail,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-rail--gauche { grid-column: 1; grid-row: 1 / span 2; }
  .ui-liste-section--detail > .ui-liste-inner > .ui-liste-contenu,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-centre { grid-column: 2 / -1; }
  .ui-liste-section--detail > .ui-liste-inner:has(> .ui-liste-apart) > .ui-liste-contenu,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-centre { grid-column: 2; }
  .ui-liste-section--detail > .ui-liste-inner > .ui-liste-apart,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-rail--droit {
    display: block;
    grid-column: 3;
    grid-row: 1;
    position: sticky;
    top: calc(68px + var(--space-5));
  }
  .ui-liste-section--detail .ui-liste-grille > .ui-grid-item { flex: 0 0 auto; width: 25%; }
  .ui-liste-section--detail > .ui-liste-inner:has(> .ui-liste-apart) .ui-liste-grille > .ui-grid-item { width: calc(100% / 3); }
}
@media (900px < width <= 1200px) {
  .ui-liste-section--detail > .ui-liste-inner:has(> .ui-liste-apart),
  .ui-fil--detail > .ui-fil-inner { grid-template-columns: 240px minmax(0, 1fr); }
  .ui-liste-section--detail > .ui-liste-inner:has(> .ui-liste-apart) > .ui-liste-contenu,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-centre { grid-column: 2; }
  .ui-liste-section--detail > .ui-liste-inner > .ui-liste-apart,
  .ui-fil--detail > .ui-fil-inner > .ui-fil-rail--droit { grid-column: 2; grid-row: auto; position: static; }
  .ui-liste-section--detail .ui-liste-grille > .ui-grid-item { width: calc(100% / 3); }
}
.ui-sortie-onglets { min-width: 0; margin: var(--space-4) 0 0; }
.ui-evenement-detail-main > .ui-sortie-onglets { margin: 0 0 var(--space-4); }
.ui-sortie-entete { margin-bottom: var(--space-4); }
.ui-sortie-origine { display: flex; align-items: center; gap: var(--space-2); }
.ui-sortie-entete > .ui-sortie-origine { margin-bottom: var(--space-2); }
.ui-sortie-origine a { color: inherit; }
.ui-sortie-entete .ui-liste-titre { margin-bottom: var(--space-3); }
.ui-sortie-pied { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-4); }
.ui-sortie-actions {
  position: absolute;
  inset-block-end: var(--space-3);
  inset-inline-end: var(--space-3);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}
.ui-sortie-actions--haut { inset-block-start: var(--space-3); inset-block-end: auto; }
.ui-sortie-actions.ui-sortie-actions--haut .ui-btn.ui-btn-slim {
  height: 2rem;
  min-height: 0;
  gap: var(--space-1);
  padding: 0 var(--space-2);
  border-radius: var(--radius-pill);
  font-size: var(--fs-caption);
  line-height: 1;
}
.ui-sortie-actions--haut .ui-btn .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-sortie-actions .ui-btn-outline { background: var(--surface-card); }
.ui-sortie-actions form { display: contents; }
.ui-sortie-reponse .ui-menu-actions-form { display: block; }
.ui-sortie-reponse .ui-menu-actions-item.is-current { color: var(--color-primary); font-weight: 700; background: var(--teinte-neutre); }
.ui-sortie-reponse .ui-menu-actions-item:disabled { opacity: .5; cursor: not-allowed; }
.ui-sortie-presents { display: flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--fs-sm); }
.ui-sortie-presents strong { display: block; }
.ui-sortie-visages { display: flex; }
.ui-sortie-visages img {
  width: 36px;
  height: 36px;
  border: 2px solid var(--white);
  border-radius: var(--radius-photo);
  object-fit: cover;
}
.ui-sortie-visages img + img { margin-left: calc(var(--space-2) * -1); }
.ui-sortie-photo { position: relative; margin: 0 0 var(--space-4); }
.ui-sortie-photo img { display: block; width: 100%; aspect-ratio: 20 / 9; object-fit: cover; border-radius: var(--radius-photo); }
@media (min-width: 1200.02px) {
  .ui-sortie-photo img { height: 286px; aspect-ratio: auto; }
}
@media (max-width: 576px) {
  .ui-sortie-photo img { aspect-ratio: 4 / 3; }
}
.ui-sortie-apropos { margin-top: var(--space-2); }
.ui-sortie-description p:last-child { margin-bottom: 0; }
:is(.ui-liste-section--detail, .ui-fil--detail) .ui-evenement-pratique {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: none;
  padding: var(--space-3);
}
:is(.ui-liste-section--detail, .ui-fil--detail) .ui-evenement-pratique > .ui-eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}
:is(.ui-liste-section--detail, .ui-fil--detail) .ui-evenement-pratique > ul { margin-bottom: 0; }
:is(.ui-liste-section--detail, .ui-fil--detail) .ui-evenement-pratique > ul > li:last-child { padding-bottom: 0; }
:is(.ui-liste-section--detail, .ui-fil--detail) .ui-evenement-pratique strong {
  color: var(--text);
  font-size: var(--fs-sm);
  font-weight: 700;
}
@media (max-width: 820px) {
  .ui-footer-cta .ui-section-title { font-size: var(--fs-h1); }
}
@media (max-width: 560px) {
  .ui-footer-cta .ui-section-title { font-size: var(--fs-h2); }
  .ui-liste-titre { font-size: var(--fs-h3); }
  .ui-monprofil-nom { font-size: var(--fs-h4); }
}
@media (max-width: 576px) {
  .ui-liste-section--swipe .ui-liste-contenu { overflow: hidden; }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille {
    flex-wrap: nowrap;
    touch-action: pan-y;
    will-change: transform;
  }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille.is-anime { transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille > .ui-grid-item { flex: 0 0 100%; }
  .ui-liste-section--swipe .ui-profil-photo {
    aspect-ratio: auto;
    height: calc(100vw - var(--space-3) * 2 + var(--space-3) + var(--space-1) + var(--space-4) + var(--space-3));
    overflow: hidden;
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
  }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-plus { display: none; }
  .ui-liste-section--swipe .ui-liste-tete,
  .ui-liste-section--swipe .ui-liste-lead,
  .ui-liste-section--swipe .ui-fil-filtrer { display: none; }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille > .ui-grid-item {
    height: calc(100dvh - 74px - 65px - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior-y: none;
    scrollbar-width: none;
  }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille > .ui-grid-item > .ui-profil { align-self: flex-start; height: auto; min-height: 100%; }
  .ui-section.ui-liste-section.ui-liste-section--swipe { padding-block: 0; }
  .ui-liste-section--swipe > .ui-liste-inner { padding-inline: 0; }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille { --bs-gutter-x: 0; --bs-gutter-y: 0; margin: 0; }
  .ui-liste-section--swipe .ui-liste-contenu > .ui-liste-grille > .ui-grid-item > .ui-profil { border: 0; border-radius: 0; box-shadow: none; }
}
@media (min-width: 576.02px) {
  .ui-liste-section--swipe:not(.ui-liste-section--deux-taux) .ui-profil-score--ses { display: none; }
}
@media (max-width: 576px) {
  html:has(.ui-liste-section--swipe),
  body:has(.ui-liste-section--swipe) {
    overflow: hidden;
    overscroll-behavior: none;
  }
}
html:has(.ui-messagerie),
body:has(.ui-messagerie) { overscroll-behavior-y: none; }
.ui-messagerie-fil { overscroll-behavior-y: contain; }
@media (max-width: 576px) {
  body:has(.ui-liste-section--swipe) .ui-footer { display: none; }
}
@media (max-width: 576px) {
  .ui-header-membre .ui-header-membre-inner { min-height: 70px; }
  .ui-membre-rond,
  .ui-membre-burger,
  .ui-membre-avatar,
  .ui-profil-passe,
  .ui-profil-favori,
  .ui-profil-like,
  .ui-profil-message,
  .ui-monprofil-ronds .ui-monprofil-rond,
  .ui-icon-button.ui-icon-button-slim {
    width: var(--control-h-tactile);
    height: var(--control-h-tactile);
  }
  .ui-membre-rond .material-symbols-outlined,
  .ui-profil-passe .material-symbols-outlined,
  .ui-profil-favori .material-symbols-outlined,
  .ui-profil-like .material-symbols-outlined,
  .ui-profil-message .material-symbols-outlined { font-size: var(--icon-lg); }
  .ui-membre-burger .material-symbols-outlined { font-size: var(--icon-xl); }
  .ui-header-membre-compte { gap: var(--space-3); }
  .ui-membre-sous-nav-lien,
  .ui-membre-notif,
  .dropdown-menu .dropdown-item {
    min-height: var(--control-h-tactile);
    align-items: center;
  }
  .dropdown-menu .dropdown-item { display: flex; }
  .ui-criteres-case > span { min-height: 2.75rem; }
  .ui-criteres-important { min-height: 2.75rem; display: inline-flex; align-items: center; }
  .ui-criteres-pied .ui-btn { min-height: var(--control-h-tactile); }
}
@media (max-width: 900px) {
  .ui-header-membre-compte > .ui-membre-compte-menu:not(.ui-membre-notifs) { display: none; }
}
@media (max-width: 900px) {
  .ui-membre-barre-bas {
    border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface-card) 90%, transparent);
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    box-shadow: none;
  }
  .ui-membre-barre-bas-lien .material-symbols-outlined {
    border-radius: var(--radius-pill);
    padding: 2px var(--space-3);
    transition: background-color 0.2s ease;
  }
  .ui-membre-barre-bas-lien.is-current,
  .ui-membre-barre-bas-groupe.is-open > .ui-membre-barre-bas-lien { color: var(--color-titre); font-weight: 600; }
  .ui-membre-barre-bas-lien.is-current .material-symbols-outlined,
  .ui-membre-barre-bas-groupe.is-open > .ui-membre-barre-bas-lien .material-symbols-outlined {
    background: color-mix(in srgb, var(--color-titre) 12%, transparent);
  }
}
@media (max-width: 576px) {
  .ui-liste-section--swipe .ui-profil-photo-lien { display: none; }
  .ui-liste-section--swipe .ui-profil-actions {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: calc(100% - var(--space-5));
    gap: var(--space-3);
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--white) 25%, transparent);
    padding: var(--space-2);
    box-shadow: var(--shadow-md);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
  .ui-liste-section--swipe .ui-profil-passe { margin-right: calc(var(--space-3) * 3 + var(--space-1)); }
}
@media (max-width: 576px) {
  .ui-liste-section--swipe .ui-profil {
    background: transparent;
    padding: 0 var(--space-3) var(--space-5);
    display: flex;
    flex-direction: column;
  }
  .ui-liste-section--swipe .ui-profil > .ui-profil-corps { display: contents; }
  .ui-liste-section--swipe .ui-profil-corps .ui-card-title a::after { content: none; }
  .ui-liste-section--swipe .ui-profil-corps > :is(.ui-profil-titre, .ui-profil-entete) { order: -1; }
  .ui-liste-section--swipe .ui-profil-titre .ui-card-title,
  .ui-liste-section--swipe .ui-profil-titre .ui-card-title a {
    color: var(--color-titre);
    font-size: var(--fs-h3);
    font-weight: var(--fw-bold);
    letter-spacing: normal;
  }
  .ui-liste-section--swipe .ui-profil-titre > .ui-menu-actions { margin-block: calc(var(--space-2) * -1); }
  .ui-liste-section--swipe .ui-profil-titre .ui-menu-actions-bouton { border-color: transparent; background: transparent; }
  .ui-liste-section--swipe .ui-profil-entete {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
    margin: calc(var(--space-1) / 2) 0 var(--space-3);
    color: inherit;
  }
  .ui-liste-section--swipe .ui-profil-entete > p { margin: 0; }
  .ui-liste-section--swipe .ui-profil-actions { z-index: 3; bottom: var(--space-3); }
  .ui-liste-section--swipe .ui-profil,
  .ui-liste-section--swipe .ui-profil:hover { transform: none; }
}
@media (max-width: 576px) {
  body:has(.ui-liste-section--layer.is-layer) { background: var(--black); }
  body:has(.ui-liste-section--layer.is-layer) :is(.ui-utility-bar, .ui-header-membre, .ui-haut-page) { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-liste-contenu > .ui-liste-grille > .ui-grid-item { height: calc(100dvh - 64px - env(safe-area-inset-bottom)); overflow: hidden; }
  body:has(.ui-liste-section--layer.is-layer) .ui-membre-barre-bas {
    border-top-color: color-mix(in srgb, var(--white) 12%, transparent);
    background: var(--black);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body:has(.ui-liste-section--layer.is-layer) .ui-membre-barre-bas-lien { color: var(--on-dark); }
  body:has(.ui-liste-section--layer.is-layer) .ui-membre-barre-bas-lien.is-current .material-symbols-outlined {
    background: color-mix(in srgb, var(--white) 12%, transparent);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-liste-contenu > .ui-liste-grille > .ui-grid-item > .ui-profil {
    --reflet: var(--space-6);
    --outils: calc(var(--control-h-sm) + var(--space-2) * 3);
    position: relative;
    height: 100%;
    min-height: 0;
    padding: 0;
    background: var(--black);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo {
    height: calc(100% - var(--reflet));
    margin-top: var(--reflet);
    flex: 0 0 auto;
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer :is(.ui-profil-photo > img, .ui-profil-diapo) { -webkit-box-reflect: above 0; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo::before {
    content: "";
    position: absolute;
    top: calc(-1 * var(--reflet));
    inset-inline: 0;
    height: 252px;
    z-index: 1;
    background: linear-gradient(to bottom,
      var(--black),
      color-mix(in srgb, var(--black) 75%, transparent) 102px,
      color-mix(in srgb, var(--black) 55%, transparent) 162px,
      color-mix(in srgb, var(--black) 28%, transparent) 198px,
      color-mix(in srgb, var(--black) 8%, transparent) 230px,
      transparent);
    pointer-events: none;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    z-index: 1;
    background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--black) 25%, transparent) 55%, color-mix(in srgb, var(--black) 70%, transparent));
    pointer-events: none;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-corps {
    position: absolute;
    top: calc(0.9375rem + 10px + var(--space-4) - var(--space-1) + var(--outils));
    inset-inline: calc(var(--space-3) + var(--space-2));
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: 0;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-corps > .ui-profil-titre { position: static; max-width: none; margin: 0; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-titre .ui-card-title {
    position: static;
    margin: 0 calc(var(--space-6) * 2) 0 0;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-titre .ui-card-title,
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-titre .ui-card-title a {
    color: var(--white);
    font-size: var(--fs-h2);
    text-shadow: 0 1px 8px color-mix(in srgb, var(--black) 40%, transparent);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-ouvrir {
    display: inline-flex;
    position: absolute;
    top: 50%;
    left: calc(100% + var(--space-3));
    transform: translateY(-50%);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-criteres { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-retour {
    display: inline-flex;
    position: absolute;
    top: 50%;
    right: calc(100% + var(--space-3));
    transform: translateY(-50%);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-score--a-completer { outline: 0; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo > .ui-profil-demande {
    top: auto;
    bottom: calc(var(--space-6) + var(--space-3) - var(--space-1) + var(--space-4));
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo > .ui-profil-demande + .ui-profil-demande { top: auto; bottom: calc(var(--space-6) + var(--space-3) - var(--space-1) + var(--space-4) + var(--space-5) - var(--space-2)); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo > .ui-profil-scores { top: calc(0.9375rem + 10px + var(--space-4) - var(--space-1) - var(--reflet) + var(--outils)); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-diapos-barres { top: calc(10px + var(--control-h-sm) + var(--space-2) * 2 - var(--reflet)); z-index: 2; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-titre > .ui-menu-actions { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-corps > .ui-profil-entete {
    position: static;
    flex-wrap: wrap;
    row-gap: 0;
    max-width: none;
    margin: 0;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-corps > .ui-profil-entete > p { white-space: nowrap; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer :is(.ui-profil-entete > p, .ui-profil-entete > p .material-symbols-outlined) { color: var(--on-dark-muted); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer :is(.ui-profil-glisse, .ui-profil-fiche, .ui-profil-fiche-lien, .ui-profil-gestes) { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-actions { bottom: var(--space-4); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-actions {
    left: calc(var(--space-3) * 2 + var(--control-h-tactile));
    right: calc(var(--space-3) * 2 + var(--control-h-tactile));
    width: auto;
    max-width: none;
    transform: none;
    justify-content: flex-end;
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-passe { margin-right: auto; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-actions .ui-profil-envoye { margin-inline: auto; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-actions:has(.ui-profil-envoye) {
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
html.ui-app { touch-action: pan-x pan-y; }
html.ui-app { --app-marge: 0px; }
@media (pointer: coarse) {
  html.ui-app { --app-marge: 20px; }
  html.ui-app body { padding-top: var(--app-marge); }
  html.ui-app .ui-utility-bar--filet { display: none; }
}
@media (pointer: coarse) and (max-width: 576px) {
  html.ui-app body:has(.ui-header-membre--sans-mobile) { padding-top: 0; }
}
@media (max-width: 900px) {
  html.ui-app body:has(.ui-membre-barre-bas) { padding-bottom: calc(64px + var(--app-marge) + env(safe-area-inset-bottom)); }
  html.ui-app .ui-membre-barre-bas { padding-bottom: calc(var(--app-marge) + env(safe-area-inset-bottom)); }
  html.ui-app :is(.ui-explication, .ui-annonce) { bottom: calc(64px + var(--app-marge) + var(--space-3) + env(safe-area-inset-bottom)); }
  html.ui-app body:has(.ui-fil--ecran:not(.ui-fil--liste)) { padding-bottom: 0; }
  html.ui-app .ui-fil--ecran:not(.ui-fil--liste) .ui-messagerie-composer { padding-bottom: calc(var(--space-3) + var(--app-marge) + env(safe-area-inset-bottom)); }
}
@media (max-width: 576px) {
  html.ui-app .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-liste-contenu > .ui-liste-grille > .ui-grid-item { height: calc(100dvh - 64px - var(--app-marge) * 2 - env(safe-area-inset-bottom)); }
  html.ui-app body:has(.ui-liste-section--layer.is-layer) .ui-vitrine-outils { top: calc(10px + var(--app-marge) + env(safe-area-inset-top)); }
  html.ui-app body:has(.ui-liste-section--layer.is-layer) :is(.ui-explication, .ui-annonce) {
    bottom: calc(64px + var(--app-marge) + var(--space-4) + var(--space-6) + var(--space-3) + env(safe-area-inset-bottom));
  }
}
.ui-vitrine-fond-page { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
body:has(.ui-liste-section--layer.is-layer) .ui-vitrine-fond-haut > :is(.ui-utility-bar, .ui-header-membre) { display: block; position: static; }
@media (max-width: 576px) and (prefers-reduced-motion: no-preference) {
  .ui-liste-section--layer.is-layer .ui-grid-item.is-depart > .ui-profil { animation: ui-vitrine-depart 0.4s ease-in forwards; }
  .ui-liste-section--layer:not(.is-layer) .ui-grid-item.is-arrivee > .ui-profil { animation: ui-fiche-arrivee 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .ui-liste-section--layer.is-layer .ui-grid-item.is-arrivee > .ui-profil { animation: ui-vitrine-arrivee 0.5s ease-out; }
}
@keyframes ui-vitrine-depart {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes ui-fiche-arrivee {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: none; }
}
@keyframes ui-vitrine-arrivee {
  from { opacity: 0; }
  to { opacity: 1; }
}
.ui-vitrine-outils { display: none; }
@media (max-width: 576px) {
  body:has(.ui-liste-section--layer.is-layer) .ui-vitrine-outils {
    position: fixed;
    top: calc(10px + env(safe-area-inset-top));
    inset-inline: var(--space-3);
    z-index: 5;
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }
}
.ui-vitrine-outil {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  min-width: 0;
  height: var(--control-h-sm);
  border: 0;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 25%, transparent);
  padding: 0 var(--space-3) 0 var(--space-2);
  color: var(--white);
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  box-shadow: var(--shadow-md);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.ui-vitrine-outil .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-vitrine-outil--rond { flex: 0 0 auto; justify-content: center; width: var(--control-h-sm); margin-inline-end: calc(var(--space-2) + var(--space-1) / 2); padding: 0; }
.ui-vitrine-outil--rond .material-symbols-outlined { font-size: var(--icon-md); }
.ui-vitrine-tri {
  display: flex;
  flex: 1 1 auto;
  gap: var(--space-2);
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.ui-vitrine-tri::-webkit-scrollbar { display: none; }
.ui-vitrine-tri-choix {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  height: var(--control-h-sm);
  border: 0;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 12%, transparent);
  padding: 0 var(--space-3);
  color: var(--white);
  font-size: var(--fs-caption);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.ui-vitrine-tri-choix:hover { color: var(--white); }
.ui-vitrine-tri-choix.is-current { background: color-mix(in srgb, var(--white) 25%, transparent); box-shadow: var(--shadow-md); }
@media (max-width: 576px) {
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-plein-ecran {
    display: inline-flex;
    position: absolute;
    top: 50%;
    left: calc(100% + var(--space-3));
    transform: translateY(-50%);
  }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) :is(.ui-profil-actions, .ui-profil-plein-ecran, .ui-profil-criteres) {
    background: color-mix(in srgb, var(--black) 55%, transparent);
  }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-actions {
    left: calc(var(--space-3) * 2 + var(--control-h-tactile));
    right: calc(var(--space-3) * 2 + var(--control-h-tactile));
    width: auto;
    max-width: none;
    transform: none;
    justify-content: flex-end;
  }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-passe { margin-right: auto; }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-criteres {
    display: inline-flex;
    position: absolute;
    top: 50%;
    right: calc(100% + var(--space-3));
    transform: translateY(-50%);
  }
  body:has(.ui-liste-section--layer) .ui-header-membre-compte > [data-bs-target="#profilsCriteres"] { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer .ui-profil-fiche-lien { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-actions .ui-profil-envoye { margin-inline: auto; }
  .ui-liste-section--swipe.ui-liste-section--layer.ui-liste-section--sans-vitrine .ui-profil-plein-ecran { display: none; }
  .ui-liste-section--swipe.ui-liste-section--layer:not(.is-layer) .ui-profil-actions:has(.ui-profil-envoye) {
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
@media (max-width: 576px) {
  .ui-liste-section--swipe .ui-liste-contenu { position: relative; }
  .ui-swipe-indice {
    position: absolute;
    inset-inline: 0;
    top: calc(var(--space-3) + var(--space-1) + (100vw - var(--space-3) * 2) / 2);
    z-index: 3;
    display: grid;
    grid-template-rows: 0;
    place-items: center;
    pointer-events: none;
  }
  .ui-swipe-indice > span {
    grid-area: 1 / 1;
    display: grid;
    place-items: center;
    width: calc(var(--control-h-tactile) * 2.2);
    height: calc(var(--control-h-tactile) * 2.2);
    border-radius: 50%;
    background: color-mix(in srgb, var(--white) 55%, transparent);
    color: var(--color-titre);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .ui-swipe-indice > span .material-symbols-outlined { font-size: var(--icon-2xl); }
  .ui-swipe-indice.vers-avant > .ui-swipe-indice-avant,
  .ui-swipe-indice.vers-apres > .ui-swipe-indice-apres,
  .ui-swipe-indice.vers-haut > .ui-swipe-indice-haut,
  .ui-swipe-indice.vers-bas > .ui-swipe-indice-bas { opacity: 1; }
}
.ui-section.ui-compte-section {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  padding-block: 0 var(--space-5);
}
.ui-compte-section > .ui-container { position: relative; z-index: 1; }
@media (min-width: 768px) {
  .ui-compte-section > .ui-container { max-width: 40rem; }
}
.ui-compte-tete {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--space-4);
  padding: var(--space-4) 0 var(--space-3);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--color-titre) 12%, transparent), transparent);
  text-align: center;
}
.ui-compte-photo-cadre { position: relative; }
.ui-compte-photo {
  display: block;
  width: 9rem;
  height: 9rem;
  border: 3px solid var(--white);
  border-radius: var(--radius);
  outline: 3px solid var(--color-titre);
  object-fit: cover;
  box-shadow: var(--shadow-md);
}
.ui-compte-photo-form { margin: 0; }
.ui-compte-vers-profil,
.ui-compte-vers-profil:hover { display: block; color: inherit; text-decoration: none; }
.ui-compte-nom .ui-compte-vers-profil { display: inline; }
.ui-compte-photo-modifier {
  position: absolute;
  top: calc(var(--space-2) * -1);
  right: calc(var(--space-2) * -1);
  display: grid;
  place-items: center;
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  border-radius: 50%;
  background: var(--white);
  color: var(--color-titre);
  box-shadow: var(--shadow-md);
  cursor: pointer;
}
.ui-compte-photo-modifier:focus-within { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.ui-compte-photo-modifier .material-symbols-outlined { font-size: var(--icon-md); }
.ui-compte-nom {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  color: var(--color-dark);
  font-size: var(--fs-h3);
}
.ui-compte-verifie {
  color: var(--color-titre);
  font-size: var(--icon-lg);
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ui-compte-meta {
  margin: var(--space-1) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
}
.ui-compte-alerte {
  margin: var(--space-3) 0 0;
  color: var(--color-danger);
  font-size: var(--fs-sm);
}
.ui-compte-heros {
  position: relative;
  overflow: hidden;
  margin-top: var(--space-1);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-titre-hero), var(--color-primary));
  padding: var(--space-3);
  color: var(--on-dark);
  box-shadow: var(--shadow-md);
}
.ui-compte-heros-ligne {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin: 0 0 var(--space-2);
}
.ui-compte-heros-pied { margin: var(--space-2) 0 0; }
.ui-compte-heros-label {
  margin: 0;
  color: var(--on-dark-muted);
  font-size: var(--fs-sm);
}
.ui-compte-heros-pct {
  color: var(--white);
  font-size: var(--fs-h5);
  font-weight: 700;
  line-height: 1;
}
.ui-compte-barre {
  display: block;
  width: 100%;
  height: 6px;
  border: 0;
  border-radius: var(--radius-pill);
  overflow: hidden;
  background: color-mix(in srgb, var(--white) 25%, transparent);
  appearance: none;
}
.ui-compte-barre::-webkit-progress-bar { background: color-mix(in srgb, var(--white) 25%, transparent); }
.ui-compte-barre::-webkit-progress-value { border-radius: var(--radius-pill); background: var(--accent-clair); }
.ui-compte-barre::-moz-progress-bar { border-radius: var(--radius-pill); background: var(--accent-clair); }
.ui-compte-heros-texte {
  min-width: 0;
  color: var(--on-dark-muted);
  font-size: var(--fs-sm);
}
.ui-compte-heros--lien,
.ui-compte-heros--lien:is(:hover, :focus, :focus-visible, :active) {
  display: block;
  color: var(--on-dark);
  text-decoration: none;
}
.ui-compte-heros--lien { transition: box-shadow 0.2s ease; }
.ui-compte-heros--lien:is(:hover, :focus-visible) { box-shadow: var(--shadow-lg); }
.ui-compte-heros-chevron { flex: none; color: var(--white); font-size: var(--icon-md); }
.ui-compte-raccourcis {
  display: flex;
  justify-content: space-around;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-3) var(--space-2);
  list-style: none;
  box-shadow: var(--shadow-md);
}
.ui-compte-raccourcis > li { flex: 1; min-width: 0; }
.ui-compte-raccourcis .ui-compte-raccourci,
.ui-compte-raccourcis .ui-compte-raccourci:is(:hover, :focus-visible) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  color: var(--text);
  font-size: var(--fs-caption);
  font-weight: 700;
  text-decoration: none;
}
.ui-compte-raccourci-rond {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--space-5);
  height: var(--space-5);
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 12%, var(--white));
  color: var(--color-primary);
  transition: background 0.2s ease;
}
.ui-compte-raccourci:is(:hover, :focus-visible) .ui-compte-raccourci-rond { background: color-mix(in srgb, var(--color-primary) 25%, var(--white)); }
.ui-compte-raccourci-rond .material-symbols-outlined { font-size: var(--icon-lg); }
.ui-compte-nouveaux { position: absolute; top: calc(var(--space-1) * -1); right: calc(var(--space-1) * -1); }
.ui-compte-app {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-3);
  box-shadow: var(--shadow-md);
}
.ui-compte-app[hidden] { display: none; }
.ui-compte-app-icone { flex: none; width: var(--space-5); height: var(--space-5); border-radius: var(--radius-sm); }
.ui-compte-app-corps { flex: 1; min-width: 0; }
.ui-compte-app .btn { flex: 1 0 100%; }
.ui-compte-bannieres { margin-top: var(--space-4); }
.ui-compte-bannieres-rail {
  display: flex;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ui-compte-bannieres-rail::-webkit-scrollbar { display: none; }
.ui-compte-bannieres-rail > li { flex: 0 0 100%; scroll-snap-align: start; }
.ui-compte-bannieres-rail .ui-compte-banniere,
.ui-compte-bannieres-rail .ui-compte-banniere:is(:hover, :focus-visible) {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-1);
  height: 100%;
  min-height: 8rem;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-titre-hero), var(--color-primary));
  padding: var(--space-3) 45% var(--space-3) var(--space-3);
  color: var(--on-dark);
  text-decoration: none;
  isolation: isolate;
}
.ui-compte-banniere-image {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 55%;
  height: 100%;
  object-fit: cover;
  -webkit-mask-image: linear-gradient(to right, transparent, var(--black) 40%);
  mask-image: linear-gradient(to right, transparent, var(--black) 40%);
}
.ui-compte-banniere-titre {
  color: var(--white);
  font-size: var(--fs-base);
  font-weight: 700;
  line-height: 1.2;
}
.ui-compte-banniere-texte { color: var(--on-dark-muted); font-size: var(--fs-caption); }
.ui-compte-banniere-lien {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: var(--space-1);
  color: var(--white);
  font-size: var(--fs-caption);
  font-weight: 700;
}
.ui-compte-banniere-lien .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-compte-banniere-picto {
  position: absolute;
  top: 50%;
  right: var(--space-4);
  color: color-mix(in srgb, var(--accent-clair) 70%, transparent);
  font-size: var(--icon-2xl);
  transform: translateY(-50%) rotate(-12deg);
}
.ui-compte-points {
  display: flex;
  justify-content: center;
  gap: var(--space-1);
  margin: var(--space-2) 0 0;
}
.ui-compte-point {
  width: var(--space-2);
  height: var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--teinte-neutre-forte);
  transition: width 0.2s ease, background 0.2s ease;
}
.ui-compte-point.is-courant { width: var(--space-4); background: var(--color-primary); }
.ui-compte-point:only-child { display: none; }
.ui-compte-bloc { margin-top: var(--space-5); }
.ui-compte-bloc-tete {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}
.ui-compte-bloc-titre {
  margin: 0;
  color: var(--color-dark);
  font-size: var(--fs-base);
  font-weight: 700;
}
.ui-compte-bloc-lien,
.ui-compte-bloc-lien:hover {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: var(--color-primary);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-decoration: none;
}
.ui-compte-bloc-lien .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-compte-lignes {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-compte-lignes .ui-compte-ligne {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2);
  color: var(--text);
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.2s ease;
}
.ui-compte-lignes .ui-compte-ligne:is(:hover, :focus, :focus-visible, :active) { color: var(--text); text-decoration: none; box-shadow: var(--shadow-lg); }
.ui-compte-ligne-image {
  flex: none;
  width: var(--space-5);
  height: var(--space-5);
  border-radius: var(--radius-sm);
  object-fit: cover;
}
.ui-compte-ligne-picto {
  display: grid;
  flex: none;
  place-items: center;
  width: var(--space-5);
  height: var(--space-5);
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 12%, var(--white));
  color: var(--color-primary);
}
.ui-compte-ligne-picto .material-symbols-outlined { font-size: var(--icon-md); }
.ui-compte-ligne-corps {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.ui-compte-ligne-titre {
  margin: 0;
  overflow: hidden;
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-compte-ligne-texte {
  margin: 0;
  overflow: hidden;
  color: var(--text-muted);
  font-size: var(--fs-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-compte-app .ui-compte-ligne-titre,
.ui-compte-app .ui-compte-ligne-texte { white-space: normal; }
.ui-compte-ligne-chevron { flex: none; color: var(--text-muted); font-size: var(--icon-md); }
.ui-compte-ligne > .ui-count-badge { flex: none; }
.ui-compte-lignes--grille {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.ui-compte-lignes--grille .ui-compte-ligne {
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  height: 100%;
  padding: var(--space-3);
}
.ui-compte-lignes--grille .ui-compte-ligne-chevron { display: none; }
.ui-compte-lignes--grille .ui-compte-ligne-titre,
.ui-compte-lignes--grille .ui-compte-ligne-texte { white-space: normal; }
.ui-compte-lignes--grille .ui-compte-ligne > .ui-count-badge { position: absolute; top: var(--space-3); right: var(--space-3); }
.ui-compte-lignes--grille > .ui-compte-lignes-large { grid-column: 1 / -1; }
.ui-compte-lignes--grille > .ui-compte-lignes-large .ui-compte-ligne { flex-direction: row; align-items: center; }
.ui-compte-lignes--grille > .ui-compte-lignes-large .ui-compte-ligne-chevron { display: block; }
button.ui-compte-ligne { width: 100%; border: 0; text-align: left; }
.ui-compte-qr-contenu {
  border: 0;
  background: linear-gradient(135deg, var(--color-titre-hero), var(--color-primary));
  color: var(--white);
}
.ui-compte-qr-barre { display: flex; justify-content: flex-end; padding: var(--space-3); }
.ui-compte-qr-corps {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: 0 var(--space-3) var(--space-5);
  text-align: center;
}
.ui-compte-qr-titre { margin: 0; color: var(--white); font-size: var(--fs-h3); }
.ui-compte-qr-texte { max-width: 24rem; margin: 0; color: var(--on-dark-muted); font-size: var(--fs-sm); }
.ui-compte-qr-image {
  display: grid;
  place-items: center;
  width: min(100%, 18rem);
  aspect-ratio: 1;
  border-radius: var(--radius-md);
  background: var(--white);
  padding: var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  box-shadow: var(--shadow-md);
}
.ui-compte-qr-image svg { display: block; width: 100%; height: auto; }
.ui-compte-qr-code { min-height: 1.5em; margin: 0; color: var(--white); font-size: var(--fs-sm); letter-spacing: 0.08em; }
.ui-compte-qr-lien { margin-top: var(--space-2); border-color: var(--white); color: var(--white); }
.ui-compte-vide {
  margin: 0;
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-sm);
  box-shadow: var(--shadow-md);
}
.ui-compte-vide a { color: var(--color-primary); font-weight: 700; }
.ui-compte-sortie {
  width: 100%;
  margin-top: var(--space-4);
}
.ui-membre-rond--mobile { display: none; }
@media (max-width: 576px) {
  .ui-page-membre .ui-header-membre .ui-membre-rond--mobile { display: grid; }
  .ui-header-membre--sans-cloche .ui-membre-notifs { display: none; }
  .ui-header-membre--sans-mobile { display: none; }
}
@media (max-width: 576px) {
  body:has(.ui-liste-section--swipe) {
    background: var(--fond-app);
    background-attachment: fixed;
  }
  body:has(.ui-liste-section--swipe) .ui-section.ui-liste-section--swipe { background: transparent; }
}
@media (max-width: 576px) {
  body.ui-page-membre {
    background: var(--fond-app);
    background-attachment: fixed;
  }
  .ui-page-membre .ui-fond-app { background: transparent; }
  .ui-page-membre .ui-header-membre {
    position: relative;
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
  }
  .ui-page-membre .ui-header-membre .ui-header-membre-inner {
    flex-wrap: nowrap;
    gap: 0;
    height: 71px;
    min-height: 0;
    padding: 0 var(--space-3);
  }
  .ui-page-membre .ui-header-membre .ui-membre-burger {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: var(--control-h-tactile);
    height: var(--control-h-tactile);
    margin: 0 0 0 calc(var(--space-2) * -1);
    border: 0;
    background: none;
    padding: 0;
    color: var(--color-titre);
  }
  .ui-page-membre .ui-header-membre .ui-membre-burger .material-symbols-outlined { font-size: var(--icon-xl); }
  .ui-page-membre .ui-header-membre .ui-header-membre-marque { flex: 0 0 auto; margin: 0; translate: 0 -3px; }
  .ui-page-membre .ui-header-membre .ui-header-membre-marque img { width: 143px; margin: 0; }
  .ui-page-membre .ui-header-membre .ui-header-membre-compte { gap: var(--space-2); }
  .ui-page-membre .ui-header-membre .ui-membre-rond {
    width: var(--control-h-tactile);
    height: var(--control-h-tactile);
    border-radius: var(--radius-photo);
    background: var(--surface-douce);
    color: var(--color-titre);
  }
  .ui-page-membre .ui-header-membre .ui-membre-rond .material-symbols-outlined { font-size: var(--icon-lg); }
}
.ui-discussions-titre { margin-bottom: var(--space-3); }
@media (max-width: 576px) {
  .ui-fil-encart:has(> .ui-conv) {
    border: 0;
    background: transparent;
    padding-inline: var(--space-3);
  }
  .ui-fil-encart:has(> .ui-conv) > .ui-conv {
    margin-bottom: var(--space-2);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    padding: var(--space-3);
    box-shadow: var(--shadow-md);
  }
  .ui-fil-encart:has(> .ui-conv) > .ui-conv:hover,
  .ui-fil-encart:has(> .ui-conv) > .ui-conv:focus-visible { background: var(--surface-card); box-shadow: var(--shadow-lg); }
  .ui-fil-encart:has(> .ui-conv) > .ui-conv.is-current { background: var(--surface-card); }
  .ui-fil-encart:has(> .ui-conv) > .ui-conv { gap: var(--space-3); }
  .ui-fil-encart:has(> .ui-conv) .ui-conv-avatar { width: 3.125rem; height: 3.125rem; }
  .ui-fil-encart:has(> .ui-conv) .ui-conv-nom { font-size: var(--fs-lead); }
  .ui-fil-encart:has(> .ui-conv) .ui-conv-extrait { font-size: var(--fs-base); }
  .ui-fil-encart:has(> .ui-conv) .ui-conv-heure { font-size: var(--fs-sm); }
  .ui-fil--liste,
  .ui-fil--liste .ui-fil-inner,
  .ui-fil--liste .ui-fil-rail { min-width: 0; }
}
@media (max-width: 576px) {
  .ui-page-membre :is(.ui-liste-lead, .ui-mur-lead) { display: none; }
  .ui-page-membre #profils:not(.ui-liste-section--swipe) .ui-liste-lead { display: block; }
}
@media (max-width: 576px) {
  .ui-page-membre .ui-footer { display: none; }
}
@media (max-width: 767px) {
  .ui-monprofil-inner > .ui-monprofil-onglets { margin-bottom: calc(var(--space-3) + 2px); }
}
@media (min-width: 576.02px) {
  body.ui-page-membre {
    background: var(--fond-app);
    background-attachment: fixed;
  }
  .ui-page-membre main .ui-section,
  .ui-page-membre .ui-fond-app { background: transparent; }
  .ui-page-membre .ui-header-membre {
    border-bottom-color: transparent;
    background: transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  .ui-page-membre .ui-header-membre.is-defile {
    border-bottom-color: var(--border);
    background: var(--white);
  }
  .ui-page-membre .ui-membre-nav-lien:not(.is-current),
  .ui-page-membre .ui-membre-onglet,
  .ui-page-membre .ui-membre-onglet:hover,
  .ui-page-membre .ui-membre-onglet:focus-visible { color: var(--color-titre); }
}
@media (min-width: 900.02px) {
  .ui-page-membre main > .ui-liste-section:first-child:not(:has(.ui-monprofil-identite)),
  .ui-page-membre main > .ui-fil:first-child { padding-top: calc(var(--space-5) - 10px); }
  .ui-page-membre .ui-compte-tete { margin-top: calc(var(--space-4) - 10px); }
}
@media (min-width: 1440.02px) {
  .ui-page-membre main > .ui-liste-section:first-child:has(.ui-monprofil-identite) { padding-top: calc(var(--space-5) - 10px); }
}
@media (max-width: 767px) {
  .ui-monprofil-inner :is(.ui-monprofil-presentation, .ui-monprofil-fiche-ligne, .ui-monprofil-citation, .ui-monprofil-interets) > .ui-monprofil-editer {
    top: var(--space-2);
    right: var(--space-2);
    width: 1.75rem;
    min-width: 0;
    height: 1.75rem;
    min-height: 0;
    border: 0;
    background: var(--surface-douce);
    color: var(--color-titre);
    box-shadow: none;
    opacity: 1;
  }
  .ui-monprofil-inner :is(.ui-monprofil-presentation, .ui-monprofil-fiche-ligne, .ui-monprofil-citation, .ui-monprofil-interets) > .ui-monprofil-editer::after {
    content: "";
    position: absolute;
    inset: -10px;
  }
  .ui-monprofil-inner :is(.ui-monprofil-presentation, .ui-monprofil-fiche-ligne, .ui-monprofil-citation, .ui-monprofil-interets) > .ui-monprofil-editer > .material-symbols-outlined { font-size: var(--icon-sm); }
}
.ui-monprofil-fiche-ligne > dd.ui-monprofil-tags { margin-top: calc(var(--space-3) - 2px); }
.ui-membre-notifs-entete { display: none; }
@media (max-width: 640px) {
  .ui-membre-notifs .ui-membre-sous-nav--notifs {
    position: fixed;
    inset: 0;
    z-index: 1060;
    width: auto;
    max-height: none;
    height: 100dvh;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: var(--white);
    padding: 0 0 var(--space-5);
    box-shadow: none;
  }
  .ui-membre-notifs-entete {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3);
    border-bottom: 1px solid var(--border);
    background: var(--white);
  }
  .ui-membre-notifs-titre {
    margin: 0;
    color: var(--text);
    font-size: var(--fs-h5);
    font-weight: var(--fw-bold);
  }
  .ui-membre-notifs-tete { padding: var(--space-2) var(--space-3) 0; }
  .ui-membre-notifs-liste > li + li { border-top: 1px solid var(--border); }
  .ui-membre-notif {
    gap: var(--space-3);
    border-radius: 0;
    padding: var(--space-3);
    font-size: var(--fs-base);
  }
  .ui-membre-notif-avatar,
  .ui-membre-notif-icone { width: 3.125rem; height: 3.125rem; }
  .ui-membre-notif-quand { font-size: var(--fs-sm); }
  html.is-notifs-ouvertes,
  html.is-notifs-ouvertes body { overflow: hidden; }
  html.is-notifs-ouvertes .ui-header-membre { z-index: 1060; }
}
.ui-haut-page {
  display: none;
  place-items: center;
  width: var(--control-h-tactile);
  height: var(--control-h-tactile);
  border-radius: 50%;
  background: var(--color-dark);
  color: var(--white);
  box-shadow: var(--shadow-md);
  text-decoration: none;
}
.ui-haut-page:hover,
.ui-haut-page:focus-visible { color: var(--white); }
.ui-haut-page .material-symbols-outlined { font-size: var(--icon-md); }
@media (max-width: 900px) {
  .ui-haut-page {
    position: fixed;
    inset: auto var(--space-3) calc(64px + var(--space-3) + env(safe-area-inset-bottom)) auto;
    z-index: 1029;
    display: grid;
    opacity: 0;
    visibility: hidden;
    transform: translateY(var(--space-2));
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  }
  .ui-haut-page.is-visible { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width: 900px) {
  html.ui-app .ui-haut-page { bottom: calc(64px + var(--space-3) + var(--app-marge) + 10px + env(safe-area-inset-bottom)); }
}
.ui-espace-stats-groupe + .ui-espace-stats-groupe { margin-top: var(--space-4); }
.ui-espace-stats-titre { margin-bottom: var(--space-3); }
.ui-espace-stats .ui-espace-stat { border-radius: var(--radius-md); }
.ui-espace-stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-espace-stat {
  height: 100%;
  gap: var(--space-1);
  padding: var(--space-4);
  color: var(--text);
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.2s ease;
}
a.ui-espace-stat:hover,
a.ui-espace-stat:focus-visible { color: var(--text); box-shadow: var(--shadow-lg); }
.ui-espace-stat > .material-symbols-outlined { color: var(--color-titre); font-size: var(--icon-lg); }
.ui-espace-stat-valeur { color: var(--color-titre); font-size: var(--fs-h2); font-weight: var(--fw-bold); line-height: var(--lh-heading); }
.ui-espace-stat-label { color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.ui-espace-stat-detail { color: var(--text-muted); font-size: var(--fs-caption); }
.ui-espace-stat--alerte { border-color: transparent; background: var(--color-brand-pink-soft); }
.ui-espace-stat--alerte > .material-symbols-outlined,
.ui-espace-stat--alerte .ui-espace-stat-valeur { color: var(--color-brand-pink-ink); }
@media (max-width: 576px) {
  .ui-espace-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui-espace-stats .ui-espace-stat { padding: var(--space-3); }
}
.ui-barres-grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
@media (min-width: 992px) { .ui-barres-grille:not(.ui-barres-grille--pleine) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ui-barres {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  border-radius: var(--radius-md);
  padding: var(--space-4);
  box-shadow: var(--shadow-md);
}
.ui-barres-titre { margin: 0; color: var(--color-titre); font-size: var(--fs-base); font-weight: var(--fw-bold); }
.ui-barres-lead { margin: 0; color: var(--text-muted); font-size: var(--fs-sm); }
.ui-barres-legende { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; padding: 0; list-style: none; color: var(--text); font-size: var(--fs-sm); }
.ui-barres-legende-item { display: flex; align-items: center; gap: var(--space-2); }
.ui-barres-legende-item::before { content: ""; width: var(--space-3); height: var(--space-3); border-radius: var(--radius-pill); background: var(--color-titre); }
.ui-barres-legende-item--femmes::before { background: var(--color-brand-pink); }
.ui-barres-legende-item--hommes-hommes::before { background: var(--color-success); }
.ui-barres-legende-item--femmes-femmes::before { background: var(--color-secondary); }
.ui-barres-liste { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.ui-barres-ligne {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "label valeur" "pistes pistes";
  align-items: baseline;
  column-gap: var(--space-3);
  row-gap: var(--space-1);
  font-size: var(--fs-sm);
}
.ui-barres-label { grid-area: label; min-width: 0; color: var(--text); }
.ui-barres-valeur { grid-area: valeur; color: var(--text); font-weight: var(--fw-semibold); text-align: right; }
.ui-barres-detail { color: var(--text-muted); font-weight: normal; }
.ui-barres-pistes { grid-area: pistes; display: grid; gap: 2px; }
.ui-barres-piste { display: block; height: 6px; border-radius: var(--radius-pill); background: var(--teinte-neutre); overflow: hidden; }
.ui-barres-barre { display: block; width: var(--barre); height: 100%; border-radius: var(--radius-pill); background: var(--color-titre); }
.ui-barres-barre--femmes { background: var(--color-brand-pink); }
.ui-barres-barre--hommes-hommes { background: var(--color-success); }
.ui-barres-barre--femmes-femmes { background: var(--color-secondary); }
.ui-barres-sous-titre { margin: var(--space-2) 0 0; color: var(--text-muted); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.ui-badges-chaleur { --teinte: var(--color-titre); }
.ui-badges-chaleur--femmes { --teinte: var(--color-brand-pink); }
.ui-profil-tags > .ui-badges-chaleur-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  border-color: transparent;
  background: color-mix(in srgb, var(--teinte) var(--part), var(--teinte-neutre));
  color: var(--text);
}
.ui-badges-chaleur-badge .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-profil-tags > .ui-badges-chaleur-badge--fort { color: var(--white); }
.ui-matrice-defile { overflow-x: auto; }
.ui-matrice { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 2px; font-size: var(--fs-sm); }
.ui-matrice thead th:first-child { width: 7.5rem; }
.ui-matrice th { color: var(--text); font-weight: var(--fw-semibold); text-align: left; white-space: nowrap; }
.ui-matrice thead th { padding: 0 var(--space-1) var(--space-1); text-align: center; }
.ui-matrice tbody th { padding-right: var(--space-2); white-space: normal; }
.ui-matrice-detail { display: block; color: var(--text-muted); font-weight: normal; }
.ui-matrice-case {
  --teinte: var(--color-titre);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--teinte) var(--part), var(--teinte-neutre));
  padding: var(--space-2) var(--space-1);
  color: var(--text);
  font-size: var(--fs-caption);
  text-align: center;
  white-space: nowrap;
}
.ui-matrice--femmes .ui-matrice-case { --teinte: var(--color-brand-pink); }
.ui-matrice-court { display: none; }
.ui-matrice--large { min-width: 40rem; }
@media (max-width: 576px) {
  .ui-matrice { font-size: var(--fs-caption); }
  .ui-matrice-case { padding-inline: 0; }
  .ui-matrice tbody th { padding-right: var(--space-1); }
  .ui-matrice thead th:first-child { width: 4rem; }
  .ui-matrice thead th { font-weight: normal; }
  .ui-matrice-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ui-matrice-court { display: inline; }
  .ui-matrice thead th { padding-inline: 0; }
}
.ui-matrice-case--fort { color: var(--white); font-weight: var(--fw-semibold); }
.ui-barres-piste:has(.ui-barres-repere) { position: relative; overflow: visible; height: 8px; }
.ui-barres-barre { margin-left: var(--debut, 0%); }
.ui-barres-repere { position: absolute; top: -3px; bottom: -3px; left: var(--repere); width: 2px; margin-left: -1px; border-radius: var(--radius-pill); background: var(--color-dark); }
.ui-barres-repere[data-infobulle]::after { content: ""; position: absolute; inset: 0 -5px; }
.ui-barres-barre[data-infobulle] { position: relative; }
.ui-barres-ligne--lien { position: relative; border-radius: var(--radius-sm); }
.ui-barres-ligne--lien .ui-barres-label { color: var(--text); text-decoration: none; }
.ui-barres-ligne--lien .ui-barres-label::after { content: ""; position: absolute; inset: calc(-1 * var(--space-1)); border-radius: var(--radius-sm); }
.ui-barres-ligne--lien:hover .ui-barres-label { color: var(--color-titre); text-decoration: underline; }
.ui-barres-ligne--lien .ui-barres-barre[data-infobulle],
.ui-barres-ligne--lien .ui-barres-repere[data-infobulle] { z-index: 1; }
.ui-profil-tags > a.ui-badges-chaleur-badge { text-decoration: none; transition: transform 0.15s ease; }
.ui-profil-tags > a.ui-badges-chaleur-badge:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.ui-matrice-lien { display: block; color: inherit; text-decoration: none; }
.ui-matrice-case:has(.ui-matrice-lien) { padding: 0; }
.ui-matrice-case .ui-matrice-lien { padding: var(--space-2) var(--space-1); border-radius: var(--radius-sm); }
.ui-matrice-case .ui-matrice-lien:hover { outline: 2px solid var(--color-titre); outline-offset: -2px; }
tbody th .ui-matrice-lien:hover { color: var(--color-titre); text-decoration: underline; }
.ui-barres-barre[data-infobulle]::after { content: ""; position: absolute; inset: -6px 0; }
.ui-barres-axe { position: relative; height: var(--space-4); color: var(--text-muted); font-size: var(--fs-sm); }
.ui-barres-axe span { position: absolute; left: var(--axe); transform: translateX(-50%); }
.ui-barres-axe span:first-child { transform: none; }
.ui-barres-axe span:last-child { transform: translateX(-100%); }
.ui-courbe {
  display: grid;
  gap: var(--space-4);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  box-shadow: var(--shadow-md);
}
.ui-courbe-tuiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-courbe-tuile,
.ui-courbe-tuile-lien { display: flex; flex-direction: column; gap: var(--space-1); color: var(--text); text-decoration: none; }
.ui-courbe-tuile-lien:hover .ui-courbe-tuile-valeur { text-decoration: underline; }
.ui-courbe-tuile-label { display: flex; align-items: center; gap: var(--space-2); color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.ui-courbe-tuile--inscriptions .ui-courbe-tuile-label::before,
.ui-courbe-tuile--attente .ui-courbe-tuile-label::before { content: ""; flex: 0 0 auto; width: var(--space-4); border-top: 2px solid var(--color-titre); }
.ui-courbe-tuile--attente .ui-courbe-tuile-label::before { border-top: 2px dashed var(--color-brand-pink); }
.ui-courbe-tuile--connectes .ui-courbe-tuile-label::before { content: ""; flex: 0 0 auto; width: var(--space-4); border-top: 2px dotted var(--color-success); }
.ui-courbe-tuile--application .ui-courbe-tuile-label::before { content: ""; flex: 0 0 auto; width: var(--space-4); border-top: 2px solid var(--color-secondary); }
.ui-courbe-tuile-valeur { color: var(--color-titre); font-size: var(--fs-h2); font-weight: var(--fw-bold); line-height: var(--lh-heading); }
.ui-courbe-tuile-detail { color: var(--text-muted); font-size: var(--fs-caption); }
.ui-courbe-zone {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: 12.5rem auto;
  column-gap: var(--space-2);
}
.ui-courbe-axe { position: relative; min-width: var(--space-4); }
.ui-courbe-graduation {
  position: absolute;
  right: 0;
  bottom: var(--courbe-y);
  transform: translateY(50%);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  line-height: 1;
}
.ui-courbe-trace { position: relative; }
.ui-courbe-grille { position: absolute; right: 0; bottom: var(--courbe-y); left: 0; border-top: 1px solid var(--border); }
.ui-courbe-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ui-courbe-ligne { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ui-courbe-ligne--inscriptions { stroke: var(--color-titre); }
.ui-courbe-ligne--attente { stroke: var(--color-brand-pink); stroke-dasharray: 6 4; }
.ui-courbe-ligne--connectes { stroke: var(--color-success); stroke-dasharray: 1 5; stroke-linecap: round; }
.ui-courbe-ligne--application { stroke: var(--color-secondary); }
.ui-courbe-curseur { position: absolute; top: 0; bottom: 0; left: var(--courbe-x); border-left: 1px solid var(--color-titre); opacity: 0.4; }
.ui-courbe-point {
  position: absolute;
  left: var(--courbe-x);
  bottom: var(--courbe-y);
  width: 10px;
  height: 10px;
  border: 2px solid var(--surface-card);
  border-radius: 50%;
  transform: translate(-50%, 50%);
}
.ui-courbe-point--inscriptions { background: var(--color-titre); }
.ui-courbe-point--attente { background: var(--color-brand-pink); }
.ui-courbe-point--connectes { background: var(--color-success); }
.ui-courbe-point--application { background: var(--color-secondary); }
.ui-courbe-bulle {
  position: absolute;
  top: 0;
  left: var(--courbe-x);
  z-index: 2;
  min-width: 11rem;
  border-radius: var(--radius-sm);
  background: var(--surface-card);
  padding: var(--space-2) var(--space-3);
  color: var(--text);
  font-size: var(--fs-sm);
  box-shadow: var(--shadow-md);
  transform: translateX(-50%);
  pointer-events: none;
}
.ui-courbe-bulle strong { display: block; margin-bottom: var(--space-1); color: var(--color-titre); }
.ui-courbe-dates { grid-column: 2; position: relative; height: var(--space-4); margin-top: var(--space-2); }
.ui-courbe-dates > span {
  position: absolute;
  left: var(--courbe-x);
  transform: translateX(-50%);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  white-space: nowrap;
}
@media (max-width: 576px) {
  .ui-courbe { padding: var(--space-3); }
  .ui-courbe-tuiles { gap: var(--space-2); }
  .ui-courbe-tuile-label { gap: var(--space-1); font-size: var(--fs-caption); }
  .ui-courbe-tuile--inscriptions .ui-courbe-tuile-label::before,
  .ui-courbe-tuile--attente .ui-courbe-tuile-label::before { width: var(--space-3); }
  .ui-courbe-tuile-valeur { font-size: var(--fs-h3); }
}
.ui-signalement-ouvrir {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
  border: 0;
  background: none;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.ui-signalement-ouvrir:hover { color: var(--color-titre); text-decoration: underline; }
.ui-signalement-detail { display: grid; gap: var(--space-1); margin: 0; }
.ui-signalement-detail > dt {
  margin-top: var(--space-3);
  color: var(--text-muted);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ui-signalement-detail > dt:first-child { margin-top: 0; }
.ui-signalement-detail > dd { margin: 0; color: var(--text); font-size: var(--fs-base); }
.ui-signalement-contenu {
  margin-top: var(--space-2);
  border-radius: var(--radius-md);
  background: var(--surface-douce);
  padding: var(--space-3);
}
.ui-signalement-image { display: block; max-width: 100%; max-height: 320px; margin-top: var(--space-2); border-radius: var(--radius-md); object-fit: contain; }
.ui-signalement-contenu > .ui-signalement-image:first-child { margin-top: 0; }
.ui-signalement-par { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-signalement-par > li { display: flex; flex-direction: column; }
.ui-signalement-detail a { color: var(--color-titre); font-weight: var(--fw-semibold); text-decoration: underline; }
.ui-mosaique {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ui-mosaique > .ui-mosaique-tuile {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  padding: 0;
  box-shadow: var(--shadow-md);
}
.ui-mosaique-tuile > .ui-mosaique-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 0;
  background: var(--surface-douce);
  padding: 0;
  cursor: zoom-in;
}
.ui-mosaique-image > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.ui-mosaique-tuile > .ui-mosaique-badges {
  position: absolute;
  left: var(--space-2);
  right: var(--space-2);
  bottom: calc(var(--space-5) - var(--space-1) + var(--space-1));
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  margin: 0;
  pointer-events: none;
}
.ui-mosaique-badges > .ui-tableau-etat { margin: 0; box-shadow: var(--shadow-md); }
.ui-mosaique-badges > .ui-tableau-etat:not([class*="--"]) { background: var(--white); }
.ui-mosaique-badges > .ui-tableau-etat--attente { background: var(--color-dark); color: var(--white); }
.ui-mosaique-tuile > .ui-mosaique-menu { position: absolute; top: var(--space-2); right: var(--space-2); z-index: 3; }
.ui-mosaique-menu .ui-menu-actions-bouton { background: var(--white); box-shadow: var(--shadow-md); }
.ui-mosaique-tuile > .ui-mosaique-titre {
  overflow: hidden;
  margin: 0;
  padding: var(--space-2) var(--space-3);
  color: var(--color-titre);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-mosaique-titre a { color: inherit; }
.ui-mosaique-image .ui-verification { display: none; }
@media (max-width: 576px) {
  .ui-mosaique { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ui-signalement-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.ui-signalement-actions > form { margin: 0; }
.ui-page-bienvenue { background: var(--color-dark); }
.ui-bienvenue {
  --bienvenue-duree: 3000ms;
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--space-4);
  background: linear-gradient(160deg, var(--color-titre-hero), var(--color-dark));
  color: var(--white);
  text-align: center;
}
.ui-bienvenue-fond { position: absolute; inset: 0; }
.ui-bienvenue.ui-bienvenue--apercu { position: relative; min-height: 34rem; border-radius: var(--radius); }
.ui-bienvenue-forme {
  position: absolute;
  width: 60vmax;
  height: 60vmax;
  border-radius: 50%;
  opacity: 0.55;
  will-change: transform;
  animation: ui-bienvenue-derive 9s ease-in-out infinite alternate;
}
.ui-bienvenue-forme--a {
  top: -25vmax;
  left: -15vmax;
  background: radial-gradient(closest-side, var(--color-primary), transparent);
}
.ui-bienvenue-forme--b {
  right: -20vmax;
  bottom: -30vmax;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--surface-appuyee) 70%, transparent), transparent);
  opacity: 0.35;
  animation-duration: 11s;
  animation-direction: alternate-reverse;
}
.ui-bienvenue-forme--c {
  top: 30%;
  left: 45%;
  width: 35vmax;
  height: 35vmax;
  background: radial-gradient(closest-side, var(--color-titre), transparent);
  animation-duration: 7s;
}
@keyframes ui-bienvenue-derive {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(6vmax, 4vmax, 0) scale(1.15); }
}
.ui-bienvenue-corps {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 28rem);
}
.ui-bienvenue-corps > * { animation: ui-bienvenue-entree 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
.ui-bienvenue-corps > :nth-child(2) { animation-delay: 0.1s; }
.ui-bienvenue-corps > :nth-child(3) { animation-delay: 0.2s; }
.ui-bienvenue-corps > :nth-child(4) { animation-delay: 0.3s; }
.ui-bienvenue-corps > :nth-child(5) { animation-delay: 0.4s; }
.ui-bienvenue-corps > :nth-child(6) { animation-delay: 0.5s; }
.ui-bienvenue-corps > :nth-child(7) { animation-delay: 0.6s; }
@keyframes ui-bienvenue-entree {
  from { opacity: 0; transform: translateY(var(--space-3)); }
  to { opacity: 1; transform: none; }
}
.ui-bienvenue-logo { width: 10.5rem; height: auto; margin-bottom: var(--space-5); }
@media (min-width: 992px) {
  .ui-bienvenue-logo {
    position: relative;
    top: calc(var(--space-1) * -2.5);
    width: 15.4rem;
  }
}
.ui-bienvenue-photo-cadre { position: relative; margin-bottom: var(--space-4); }
.ui-bienvenue-photo-cadre::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--white);
  border-radius: var(--radius);
  animation: ui-bienvenue-onde 1.6s ease-out 0.6s infinite;
  opacity: 0;
}
@keyframes ui-bienvenue-onde {
  from { opacity: 0.7; transform: scale(1); }
  to { opacity: 0; transform: scale(1.35); }
}
.ui-bienvenue-photo {
  display: block;
  width: 7rem;
  height: 7rem;
  border: 3px solid var(--white);
  border-radius: var(--radius);
  object-fit: cover;
  box-shadow: var(--shadow-md);
}
.ui-bienvenue-titre {
  margin: 0 0 var(--space-2);
  color: var(--white);
  font-family: var(--font-titre);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
}
.ui-bienvenue-texte {
  margin: 0 0 var(--space-4);
  color: color-mix(in srgb, var(--white) 70%, transparent);
  font-size: var(--fs-lead);
}
.ui-bienvenue-reperes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  padding: 0;
  list-style: none;
}
.ui-bienvenue-repere {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  border: 1px solid color-mix(in srgb, var(--white) 25%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 12%, transparent);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
}
.ui-bienvenue-repere .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-bienvenue-barre {
  position: relative;
  width: min(100%, 18rem);
  height: var(--space-1);
  margin-top: calc(var(--space-1) * 5);
  margin-bottom: var(--space-4);
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 12%, transparent);
}
.ui-bienvenue-barre-remplie {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--surface-appuyee), var(--white));
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
  animation: ui-bienvenue-remplit var(--bienvenue-duree) linear forwards;
}
@keyframes ui-bienvenue-remplit { to { transform: scaleX(1); } }
.ui-bienvenue-corps > .ui-bienvenue-barre { animation: none; }
.ui-bienvenue-passer {
  color: color-mix(in srgb, var(--white) 70%, transparent);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}
.ui-bienvenue-passer:hover,
.ui-bienvenue-passer:focus-visible { color: var(--white); }
@media (prefers-reduced-motion: reduce) {
  .ui-bienvenue-forme,
  .ui-bienvenue-corps > *,
  .ui-bienvenue-photo-cadre::after { animation: none; }
}
.ui-espace-tuiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
a.ui-espace-tuile { color: inherit; text-decoration: none; }
.ui-espace-tuile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--surface-card);
  padding: var(--space-3);
  color: var(--text);
  text-align: start;
  box-shadow: var(--shadow-md);
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.ui-espace-tuile:hover,
.ui-espace-tuile:focus-visible { box-shadow: var(--shadow-lg); }
.ui-espace-tuile > .material-symbols-outlined {
  margin-bottom: var(--space-1);
  color: var(--color-primary);
  font-size: var(--icon-lg);
}
.ui-espace-tuile-titre {
  color: var(--color-titre);
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
}
.ui-espace-tuile-texte {
  max-width: 100%;
  overflow: hidden;
  color: var(--text-muted);
  font-size: var(--fs-caption);
  text-overflow: ellipsis;
}
.ui-espace-tuile--danger > .material-symbols-outlined { color: var(--color-primary); }
.ui-membre-compte-completion {
  display: block;
  width: 100%;
  margin: var(--space-1) 0 var(--space-2);
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  padding: var(--space-2) var(--space-3);
  color: var(--text);
  font-size: var(--fs-sm);
  text-align: start;
  cursor: pointer;
  transition: background 0.15s ease;
}
.ui-membre-compte-lieu {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: none;
  padding: var(--space-2) var(--space-3);
  color: var(--text);
  font-size: var(--fs-sm);
  text-align: start;
  cursor: pointer;
  transition: background 0.15s ease;
}
.ui-membre-compte-lieu:hover,
.ui-membre-compte-lieu:focus-visible { background: var(--teinte-neutre); }
.ui-membre-compte-lieu > .material-symbols-outlined { flex-shrink: 0; color: var(--color-primary); font-size: var(--icon-md); }
.ui-membre-compte-completion:hover,
.ui-membre-compte-completion:focus-visible { background: var(--teinte-neutre); }
.ui-membre-compte-completion-ligne {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-1);
}
.ui-membre-compte-completion-ligne > strong { margin-inline-start: auto; color: var(--color-titre); }
.ui-membre-compte-completion-liste {
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.ui-membre-compte-completion-liste > li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  border-top: 1px solid var(--border);
  color: var(--text);
}
.ui-membre-compte-completion-liste > li > .material-symbols-outlined { color: var(--text-muted); font-size: var(--icon-md); }
.ui-membre-compte-completion-liste > li.is-fait { color: var(--text-muted); }
.ui-membre-compte-completion-liste > li.is-fait > .material-symbols-outlined { color: var(--color-success); }
.ui-membre-compte-barre {
  display: block;
  width: 100%;
  height: 4px;
  border: 0;
  border-radius: var(--radius-pill);
  overflow: hidden;
  background: var(--teinte-neutre);
  appearance: none;
}
.ui-membre-compte-barre::-webkit-progress-bar { background: var(--teinte-neutre); }
.ui-membre-compte-barre::-webkit-progress-value { border-radius: var(--radius-pill); background: var(--color-success); }
.ui-membre-compte-barre::-moz-progress-bar { border-radius: var(--radius-pill); background: var(--color-success); }
.ui-explication,
.ui-annonce {
  position: fixed;
  right: var(--space-3);
  bottom: calc(64px + var(--space-3) + env(safe-area-inset-bottom));
  left: var(--space-3);
  z-index: 1040;
  max-width: 480px;
  margin-inline: auto;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}
.ui-explication[hidden],
.ui-annonce[hidden] { display: none; }
@media (max-width: 576px) {
  body:has(.ui-liste-section--layer.is-layer) :is(.ui-explication, .ui-annonce) {
    bottom: calc(64px + var(--space-4) + var(--space-6) + var(--space-3) + env(safe-area-inset-bottom));
  }
}
@media (min-width: 900.02px) {
  .ui-explication,
  .ui-annonce { bottom: var(--space-4); }
}
.ui-explication {
  background: var(--surface-card);
  padding: var(--space-4);
}
.ui-explication-texte {
  margin: 0 0 var(--space-3);
  color: var(--color-dark);
  font-size: var(--fs-base);
}
.ui-explication-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
}
.ui-annonce {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  overflow: hidden;
  background: color-mix(in srgb, var(--color-dark) 90%, transparent);
  backdrop-filter: blur(4px);
  padding: var(--space-3) var(--space-4);
  color: var(--white);
}
.ui-annonce::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: color-mix(in srgb, var(--white) 55%, transparent);
  transform-origin: left center;
  animation: ui-annonce-temps 4s linear forwards;
}
@keyframes ui-annonce-temps { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .ui-annonce::after { animation: none; } }
.ui-annonce-texte {
  flex: 1;
  margin: 0;
  font-size: var(--fs-sm);
}
.ui-annonce-annuler {
  border: 0;
  background: none;
  padding: 0;
  color: var(--white);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.ui-espace-publications {
  max-width: 636px;
  margin-top: var(--space-4);
}
.ui-espace-publications-vide {
  margin: var(--space-4) 0 0;
  color: var(--text-muted);
}
.ui-apercu-grille { margin-top: var(--space-4); }
.ui-apercu-rappel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-2) var(--space-3);
  margin-top: var(--space-4);
}
.ui-apercu-rappel-texte {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--color-titre);
  font-weight: var(--fw-semibold);
}
.ui-apercu-rappel-texte .material-symbols-outlined { font-size: var(--icon-md); }
.ui-apercu-rappel-modifier { border: 0; background: none; padding: 0; }
.ui-apercu-recherche { display: none; margin-top: var(--space-4); }
.ui-apercu-recherche.is-open { display: block; }
[data-apercu-inerte] :is(a, button) { cursor: default; }
.ui-apercu-vide {
  margin: var(--space-5) 0 0;
  color: var(--text-muted);
  text-align: center;
}
.ui-apercu .ui-section-heading { text-align: center; }
body.ui-page-fond-app {
  background: var(--fond-app);
  background-attachment: fixed;
}
.ui-page-fond-app main .ui-section { background: transparent; }
.ui-tarifs .ui-section-heading { text-align: center; }
@media (min-width: 767.02px) {
  .ui-field-grid:has(> .ui-fiche-communaute-image) {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > * { grid-column: 1 / -1; width: auto; max-width: none; }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > .ui-fiche-communaute-image { grid-column: 1; grid-row: 1 / 6; }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > .ui-fiche-communaute-droite { grid-column: 2; grid-row: span 2; }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > .ui-fiche-communaute-acces { grid-column: 1; grid-row: 6; }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > .ui-fiche-communaute-acces + .ui-fiche-communaute-acces { grid-row: 7; }
  .ui-field-grid:has(> .ui-fiche-communaute-image) > .ui-fiche-communaute-acces + .ui-fiche-communaute-acces + .ui-fiche-communaute-acces { grid-row: 8; }
  .ui-fiche-communaute-image .ui-choix-image { max-width: none; aspect-ratio: 4 / 3; }
}
.ui-monprofil-nom-verifie { display: none; }
@media (max-width: 767px) {
  .ui-monprofil-nom-verifie { display: inline-block; margin-inline-end: var(--space-1); font-size: var(--icon-lg); vertical-align: -0.1em; }
  .ui-monprofil-meta-verifie { display: none; }
}
@media (max-width: 419.98px) {
  .ui-header-membre-marque { display: none; }
}
.ui-splash {
  position: fixed;
  inset: 0;
  z-index: 1095;
  display: none;
  place-items: center;
  overflow: hidden;
  padding: var(--space-3);
  background: linear-gradient(160deg, var(--color-titre-hero), var(--color-dark));
  color: var(--white);
  text-align: center;
  transition: opacity 0.45s ease, visibility 0.45s;
}
.ui-splash-actif .ui-splash { display: grid; }
.ui-splash-actif body { overflow: hidden; }
.ui-splash.is-sortie { opacity: 0; visibility: hidden; }
.ui-splash--apercu {
  position: relative;
  display: grid;
  min-height: 520px;
  border-radius: var(--radius);
}
.ui-splash-scene {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 820px);
}
.ui-splash-bulle {
  position: absolute;
  width: 64px;
  height: 64px;
  border: 3px solid color-mix(in srgb, var(--white) 70%, transparent);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: var(--shadow-md);
  opacity: 0;
  animation:
    ui-splash-eclot 0.6s cubic-bezier(0.2, 0.8, 0.2, 1.3) forwards,
    ui-splash-derive 3s ease-in-out 0.6s infinite alternate;
}
.ui-splash-bulle:nth-of-type(1) { top: -14%; left: 2%;   width: 76px; height: 76px; animation-delay: 0.05s, 0.65s; }
.ui-splash-bulle:nth-of-type(2) { top: 0%;   right: 0;   width: 96px; height: 96px; animation-delay: 0.15s, 0.75s; }
.ui-splash-bulle:nth-of-type(3) { top: 50%;  left: -4%;  width: 64px; height: 64px; animation-delay: 0.25s, 0.85s; }
.ui-splash-bulle:nth-of-type(4) { top: 58%;  right: 4%;  width: 72px; height: 72px; animation-delay: 0.1s,  0.7s; }
.ui-splash-bulle:nth-of-type(5) { top: 96%;  left: 14%;  width: 56px; height: 56px; animation-delay: 0.3s,  0.9s; }
.ui-splash-bulle:nth-of-type(6) { top: 92%;  right: 18%; width: 52px; height: 52px; animation-delay: 0.2s,  0.8s; }
.ui-splash-duo {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--space-5);
}
.ui-splash-photo {
  position: relative;
  width: 176px;
  height: 176px;
  border: 5px solid var(--white);
  border-radius: 50%;
  object-fit: cover;
  background: var(--white);
  box-shadow: var(--shadow-photo);
  opacity: 0;
}
.ui-splash-photo--gauche { margin-right: calc(var(--space-3) * -1); animation: ui-splash-gauche 0.7s cubic-bezier(0.2, 0.8, 0.2, 1.15) 0.5s forwards; }
.ui-splash-photo--droite { margin-left: calc(var(--space-3) * -1); animation: ui-splash-droite 0.7s cubic-bezier(0.2, 0.8, 0.2, 1.15) 0.5s forwards; }
.ui-splash-coeur {
  position: absolute;
  left: 50%;
  bottom: -16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--white);
  color: var(--color-brand-pink-ink);
  font-size: var(--icon-xl);
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  box-shadow: var(--shadow-accent);
  transform: translateX(-50%) scale(0);
  animation:
    ui-splash-coeur 0.45s cubic-bezier(0.2, 0.8, 0.2, 1.5) 1.1s forwards,
    ui-splash-bat 0.9s ease-in-out 1.65s infinite;
}
.ui-splash-onde {
  position: absolute;
  left: 50%;
  bottom: -16px;
  z-index: 1;
  width: 56px;
  height: 56px;
  border: 2px solid var(--white);
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-50%);
  animation: ui-splash-onde 1s ease-out 1.15s forwards;
}
.ui-splash-taux {
  margin: 0;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--color-brand-pink-ink);
  font-size: var(--fs-sm);
  font-weight: 700;
  box-shadow: var(--shadow-md);
  opacity: 0;
  animation: ui-splash-monte 0.5s ease-out 1.4s forwards;
}
.ui-splash-logo {
  width: 300px;
  max-width: 70%;
  height: auto;
  opacity: 0;
  animation: ui-splash-monte 0.6s ease-out 0.1s forwards;
}
.ui-splash-accroche {
  margin: var(--space-3) 0 var(--space-5);
  color: var(--on-dark-muted);
  font-family: var(--font-display);
  font-size: var(--fs-h4);
  font-weight: 600;
  opacity: 0;
  animation: ui-splash-monte 0.6s ease-out 0.3s forwards;
}
.ui-splash-passer {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--border-on-dark-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--on-dark);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.ui-splash-passer:hover,
.ui-splash-passer:focus-visible { background: color-mix(in srgb, var(--white) 12%, transparent); }
.ui-splash-barre {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  background: var(--white);
  opacity: 0.85;
  transform: scaleX(0);
  transform-origin: left;
  animation: ui-splash-temps 2.8s linear forwards;
}
@keyframes ui-splash-eclot { from { opacity: 0; transform: scale(0); } to { opacity: 0.4; transform: scale(1); } }
@keyframes ui-splash-derive { from { translate: 0 0; } to { translate: 0 -10px; } }
@keyframes ui-splash-gauche { from { opacity: 0; transform: translateX(-90px) rotate(-18deg); } to { opacity: 1; transform: translateX(0) rotate(-6deg); } }
@keyframes ui-splash-droite { from { opacity: 0; transform: translateX(90px) rotate(18deg); } to { opacity: 1; transform: translateX(0) rotate(6deg); } }
@keyframes ui-splash-coeur { to { transform: translateX(-50%) scale(1); } }
@keyframes ui-splash-bat { 0%, 100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.12); } }
@keyframes ui-splash-onde { from { opacity: 0.8; transform: translateX(-50%) scale(1); } to { opacity: 0; transform: translateX(-50%) scale(3.2); } }
@keyframes ui-splash-monte { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ui-splash-temps { to { transform: scaleX(1); } }
@media (max-width: 575.98px) {
  .ui-splash-photo { width: 112px; height: 112px; }
  .ui-splash-bulle { scale: 0.7; }
  .ui-splash-bulle:nth-of-type(5),
  .ui-splash-bulle:nth-of-type(6) { top: 108%; }
  .ui-splash-bulle:nth-of-type(1),
  .ui-splash-bulle:nth-of-type(2) { top: -22%; }
  .ui-splash-accroche { font-size: var(--fs-lead); }
}
@media (max-width: 900px) {
  .ui-membre-barre-bas {
    inset: auto var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));
    display: flex;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 0;
    box-shadow: var(--shadow-md), var(--shadow-haut);
    border-color: var(--border);
    background: var(--surface-card);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .ui-membre-barre-bas > * { flex: 1 1 0; min-width: 0; }
  .ui-membre-barre-bas > [href="communautes-membre.html"] { flex-grow: 1.3; }
  .ui-membre-barre-bas-lien { height: 56px; padding-inline: 0; white-space: nowrap; }
  .ui-membre-barre-bas-lien .material-symbols-outlined { padding-inline: var(--space-2); }
  .ui-membre-barre-bas > *,
  .ui-membre-barre-bas > [href="communautes-membre.html"] { flex: 1 1 0; }
  .ui-membre-barre-bas-lien > span:not(.material-symbols-outlined, .ui-count-badge, .visually-hidden) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .ui-membre-barre-bas-lien .material-symbols-outlined { font-size: var(--icon-nav); }
  html.ui-app .ui-membre-barre-bas {
    bottom: calc(var(--space-2) + var(--app-marge) + env(safe-area-inset-bottom));
    padding-bottom: 0;
  }
}
@media (max-width: 576px) {
  body:has(.ui-liste-section--layer.is-layer) { padding-bottom: 0; }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-liste-contenu > .ui-liste-grille > .ui-grid-item { height: calc(100dvh - 64px - var(--space-3) - env(safe-area-inset-bottom)); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer :is(.ui-profil-photo > img, .ui-profil-diapo, .ui-profil-photo::after) {
    border-end-start-radius: var(--radius-lg);
    border-end-end-radius: var(--radius-lg);
  }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-corps { top: calc(0.9375rem + 10px + var(--space-4) - var(--space-1) + var(--outils) - var(--space-3)); }
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo > .ui-profil-scores { top: calc(0.9375rem + 10px + var(--space-4) - var(--space-1) - var(--reflet) + var(--outils) - var(--space-3)); }
  body:has(.ui-liste-section--layer.is-layer) .ui-membre-barre-bas {
    border-color: transparent;
    background: color-mix(in srgb, var(--white) 12%, transparent);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }
  html.ui-app body:has(.ui-liste-section--layer.is-layer) { padding-bottom: 0; }
  html.ui-app .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-liste-contenu > .ui-liste-grille > .ui-grid-item { height: calc(100dvh - var(--app-marge) * 2 - 64px - var(--space-3) - env(safe-area-inset-bottom)); }
}
@media (max-width: 900px) {
  .ui-membre-barre-bas { transition: transform 0.25s ease, opacity 0.25s ease; }
  .ui-membre-barre-bas.is-cachee { transform: translateY(calc(100% + var(--space-2) + var(--app-marge, 0px) + env(safe-area-inset-bottom))); opacity: 0; pointer-events: none; }
}
@media (max-width: 900px) {
  .ui-haut-page { transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s, bottom 0.25s ease; }
  .ui-membre-barre-bas.is-cachee ~ .ui-haut-page {
    bottom: calc(var(--space-2) + var(--space-1) + var(--app-marge, 0px) + env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion: reduce) { .ui-membre-barre-bas, .ui-haut-page { transition: none; } }
@media (max-width: 576px) {
  .ui-liste-section--swipe.ui-liste-section--layer.is-layer .ui-profil-photo > .ui-profil-fermer {
    top: calc(0.9375rem + 10px + var(--space-4) - var(--space-1) - var(--reflet) + var(--outils) - var(--space-3) - var(--space-2));
    right: calc(var(--space-3) + var(--space-2));
  }
}
.ui-page-borne { overflow: hidden; background: var(--color-titre-hero); }
.ui-borne-scene {
  position: fixed;
  inset: 0;
  overflow: hidden;
  color: var(--on-dark);
  cursor: pointer;
  background:
    radial-gradient(40% 50% at 15% 20%, color-mix(in srgb, var(--color-brand-pink) 35%, transparent), transparent 70%),
    radial-gradient(45% 55% at 85% 80%, color-mix(in srgb, var(--accent-clair) 30%, transparent), transparent 70%),
    var(--color-titre-hero);
  background-size: 160% 160%, 160% 160%, auto;
  animation: ui-borne-fond 18s ease-in-out infinite alternate;
  -webkit-tap-highlight-color: transparent;
}
@keyframes ui-borne-fond {
  from { background-position: 0% 0%, 100% 100%, 0 0; }
  to { background-position: 60% 40%, 40% 60%, 0 0; }
}
.ui-borne-logo { position: absolute; top: var(--space-6); left: 50%; z-index: 2; width: 24rem; height: auto; translate: -50% 0; }
.ui-borne-ecran {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 64rem);
  justify-content: center;
  align-content: center;
  justify-items: center;
  gap: var(--space-5);
  padding: var(--space-7) var(--space-6) calc(var(--space-7) + var(--space-6));
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}
.ui-borne-ecran.is-active { opacity: 1; visibility: visible; transition: opacity 0.6s ease; }
@media (orientation: landscape) {
  .ui-borne-ecran--compatible,
  .ui-borne-ecran--sorties { grid-template-columns: auto minmax(0, 36rem); align-items: center; gap: var(--space-6); text-align: left; }
}
.ui-borne-visuel { display: flex; justify-content: center; align-items: center; }
.ui-borne-titre {
  margin: 0;
  font-family: var(--font-titre);
  font-size: var(--fs-display-2);
  font-weight: 800;
  line-height: 1.05;
  color: var(--on-dark);
}
.ui-borne-accent { color: var(--accent-sur-sombre); }
.ui-borne-lead { margin: var(--space-4) 0 0; font-size: var(--fs-h3); line-height: 1.35; color: var(--on-dark-muted); }
.ui-borne-ecran.is-active .ui-borne-titre { animation: ui-borne-monte 0.8s cubic-bezier(.2, .8, .2, 1) both; }
.ui-borne-ecran.is-active .ui-borne-lead { animation: ui-borne-monte 0.8s 0.25s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ui-borne-monte { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
@keyframes ui-borne-pop { from { opacity: 0; transform: scale(.6); } 70% { transform: scale(1.06); } to { opacity: 1; transform: none; } }
@keyframes ui-borne-flotte { from { transform: translateY(-10px); } to { transform: translateY(10px); } }
@keyframes ui-borne-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@keyframes ui-borne-zoom { 0%, 100% { transform: none; } 40% { transform: scale(1.3); } }
@keyframes ui-borne-rebond { 0%, 100% { transform: none; } 25% { transform: scale(1.15); } 50% { transform: scale(.95); } 75% { transform: scale(1.04); } }
@keyframes ui-borne-onde { from { opacity: .7; transform: scale(.6); } to { opacity: 0; transform: scale(1.8); } }
.ui-borne-portraits { display: grid; grid-template-columns: repeat(6, 9rem); gap: var(--space-4); }
.ui-borne-portraits img {
  width: 9rem;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow-photo);
}
.ui-borne-portraits img:nth-child(even) { margin-top: var(--space-5); }
.ui-borne-ecran.is-active .ui-borne-portraits img {
  animation: ui-borne-pop 0.7s calc(var(--n, 0) * 0.12s) both, ui-borne-flotte 2.4s calc(0.8s + var(--n, 0) * 0.3s) ease-in-out infinite alternate;
}
.ui-borne-duo { position: relative; display: flex; gap: var(--space-5); }
.ui-borne-profil {
  margin: 0;
  width: 15rem;
  overflow: hidden;
  border: 8px solid var(--white);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--color-dark);
  box-shadow: var(--shadow-md);
}
.ui-borne-profil img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ui-borne-profil figcaption { padding: var(--space-2) var(--space-3); font-size: var(--fs-h5); }
.ui-borne-profil strong { margin-right: var(--space-2); }
.ui-borne-ecran.is-active .ui-borne-profil:first-child { animation: ui-borne-gauche 0.9s cubic-bezier(.2, .8, .2, 1) both; }
.ui-borne-ecran.is-active .ui-borne-profil:nth-child(2) { animation: ui-borne-droite 0.9s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ui-borne-gauche { from { opacity: 0; transform: translateX(-200px) rotate(-8deg); } to { opacity: 1; transform: rotate(-3deg); } }
@keyframes ui-borne-droite { from { opacity: 0; transform: translateX(200px) rotate(8deg); } to { opacity: 1; transform: rotate(3deg); } }
.ui-borne-sceau {
  position: absolute;
  left: 50%;
  bottom: var(--space-5);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  translate: -50% 0;
  border-radius: var(--radius-pill);
  background: var(--color-brand-pink);
  color: var(--white);
  font-size: var(--fs-h5);
  font-weight: 700;
  box-shadow: var(--shadow-accent);
}
.ui-borne-ecran.is-active .ui-borne-sceau { animation: ui-borne-pop 0.6s 0.9s both; }
.ui-borne-communautes { display: flex; flex-wrap: wrap; justify-content: center; max-width: 64rem; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.ui-borne-communautes li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--color-dark);
  font-size: var(--fs-h5);
  font-weight: 700;
  box-shadow: var(--shadow-md);
}
.ui-borne-communautes img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; }
.ui-borne-ecran.is-active .ui-borne-communautes li { animation: ui-borne-pop 0.5s calc(var(--n, 0) * 0.15s) both; }
.ui-borne-sorties { display: grid; gap: var(--space-4); width: 100%; max-width: 40rem; margin: 0; padding: 0; list-style: none; }
.ui-borne-sortie {
  display: grid;
  grid-template-columns: 7rem auto 1fr;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-3);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--color-dark);
  box-shadow: var(--shadow-md);
}
.ui-borne-sortie img { width: 7rem; height: 5rem; border-radius: var(--radius-sm); object-fit: cover; }
.ui-borne-sortie-date { display: grid; justify-items: center; color: var(--color-brand-pink); font-size: var(--fs-base); font-weight: 700; text-transform: uppercase; }
.ui-borne-sortie-date b { font-size: var(--fs-h2); line-height: 1; }
.ui-borne-sortie-corps { display: grid; gap: var(--space-1); color: var(--text-muted); font-size: var(--fs-base); }
.ui-borne-sortie-corps strong { color: var(--color-dark); font-size: var(--fs-h5); }
.ui-borne-ecran.is-active .ui-borne-sortie { animation: ui-borne-monte 0.7s calc(0.2s + var(--n, 0) * 0.3s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-borne-etapes { display: grid; grid-template-columns: repeat(4, 12rem); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.ui-borne-etapes li {
  display: grid;
  justify-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 2px solid var(--border-on-dark-strong);
  border-radius: var(--radius);
  font-size: var(--fs-h4);
  font-weight: 700;
}
.ui-borne-etapes .material-symbols-outlined { font-size: 2em; }
.ui-borne-ecran.is-active .ui-borne-etapes li { animation: ui-borne-allume 0.6s calc(0.3s + var(--n, 0) * 0.55s) both; }
@keyframes ui-borne-allume {
  from { opacity: .35; transform: scale(.92); }
  to { opacity: 1; transform: none; border-color: var(--color-brand-pink); background: color-mix(in srgb, var(--color-brand-pink) 25%, transparent); }
}
.ui-borne-coeurs { position: relative; display: flex; justify-content: center; align-items: center; width: 26rem; height: 18rem; font-size: var(--icon-2xl); }
.ui-borne-coeurs .material-symbols-outlined { position: absolute; font-size: 3em; color: var(--color-brand-pink); font-variation-settings: 'FILL' 1; }
.ui-borne-ecran.is-active .ui-borne-coeurs .material-symbols-outlined:first-child { animation: ui-borne-coeur-g 1.2s cubic-bezier(.5, 0, .2, 1) both, ui-borne-pulse 0.9s 1.3s ease-in-out infinite; }
.ui-borne-ecran.is-active .ui-borne-coeurs .material-symbols-outlined:nth-child(2) { animation: ui-borne-coeur-d 1.2s cubic-bezier(.5, 0, .2, 1) both; }
@keyframes ui-borne-coeur-g { from { transform: translateX(-180px) rotate(-20deg); } to { transform: none; } }
@keyframes ui-borne-coeur-d { from { opacity: 1; transform: translateX(180px) rotate(20deg); } 99% { opacity: 1; } to { opacity: 0; transform: none; } }
.ui-borne-bulle {
  position: absolute;
  top: 0;
  right: 0;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--color-brand-pink);
  font-size: var(--fs-h3);
  font-weight: 800;
  box-shadow: var(--shadow-md);
}
.ui-borne-ecran.is-active .ui-borne-bulle { animation: ui-borne-pop 0.6s 1.3s both; }
.ui-borne-cadeau,
.ui-borne-toucher {
  position: relative;
  display: grid;
  place-items: center;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--white) 12%, transparent);
  font-size: var(--fs-display-1);
}
.ui-borne-cadeau .material-symbols-outlined,
.ui-borne-toucher .material-symbols-outlined { font-size: 2em; color: var(--accent-sur-sombre); }
.ui-borne-cadeau::before, .ui-borne-cadeau::after,
.ui-borne-toucher::before, .ui-borne-toucher::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 3px solid var(--accent-sur-sombre);
  border-radius: 50%;
  opacity: 0;
}
.ui-borne-ecran.is-active .ui-borne-cadeau .material-symbols-outlined,
.ui-borne-ecran.is-active .ui-borne-toucher .material-symbols-outlined { animation: ui-borne-pop 0.6s both, ui-borne-pulse 1.2s 0.6s ease-in-out infinite; }
.ui-borne-ecran.is-active .ui-borne-cadeau::before, .ui-borne-ecran.is-active .ui-borne-toucher::before { animation: ui-borne-onde 1.8s 0.3s ease-out infinite; }
.ui-borne-ecran.is-active .ui-borne-cadeau::after, .ui-borne-ecran.is-active .ui-borne-toucher::after { animation: ui-borne-onde 1.8s 1.2s ease-out infinite; }
.ui-borne-pied {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
}
.ui-borne-invite {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-pill);
  background: var(--color-brand-pink);
  color: var(--white);
  font-size: var(--fs-h4);
  font-weight: 700;
  box-shadow: var(--shadow-accent);
  animation: ui-borne-pulse 2s ease-in-out infinite;
}
.ui-borne-invite .material-symbols-outlined { font-size: 1.4em; }
.ui-borne-points { display: flex; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-borne-points li { width: 8px; height: 8px; border-radius: 50%; background: var(--border-on-dark-strong); transition: width 0.3s ease, background-color 0.3s ease; }
.ui-borne-points li.is-active { width: 24px; border-radius: var(--radius-pill); background: var(--on-dark); }
.ui-borne-carte { padding: var(--space-5); }
.ui-borne-fenetre-titre { margin: 0 0 var(--space-3); font-family: var(--font-titre); font-size: var(--fs-h2); font-weight: 800; color: var(--color-titre); }
.ui-borne-fil { display: flex; gap: var(--space-2); margin: 0 0 var(--space-4); padding: 0; list-style: none; }
.ui-borne-fil li {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--teinte-neutre-forte);
  color: var(--text-muted);
  font-weight: 700;
}
.ui-borne-fil li.is-active { background: var(--color-primary); color: var(--white); }
.ui-borne-alerte { margin-bottom: var(--space-3); padding: var(--space-3); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--color-danger) 12%, transparent); color: var(--color-danger); font-weight: 600; }
.ui-borne-etape { display: none; }
.ui-borne-etape.is-active { display: grid; gap: var(--space-4); }
.ui-borne-etape-intro { margin: 0; color: var(--text-muted); font-size: var(--fs-lead); }
.ui-borne-fenetre .ui-form-control { min-height: 3.5rem; font-size: var(--fs-lead); }
.ui-borne-fenetre .ui-pastille > span { min-height: 3.5rem; font-size: var(--fs-lead); }
.ui-borne-fenetre .form-check-label a { text-decoration: underline; text-underline-offset: 3px; }
.ui-borne-actions { display: flex; justify-content: flex-end; gap: var(--space-3); }
.ui-borne-actions .ui-btn { min-height: 3.5rem; padding-inline: var(--space-5); font-size: var(--fs-lead); }
.ui-borne-merci { display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-4) 0; text-align: center; }
.ui-borne-merci[hidden] { display: none; }
.ui-borne-merci-icone { display: grid; place-items: center; width: 6rem; height: 6rem; border-radius: 50%; background: color-mix(in srgb, var(--color-success) 12%, transparent); color: var(--color-success); font-size: var(--icon-2xl); }
.ui-borne-merci-icone .material-symbols-outlined { font-size: inherit; }
.ui-borne-merci-texte { max-width: 34rem; margin: 0 0 var(--space-3); font-size: var(--fs-lead); color: var(--text-muted); }
.ui-borne-lecteur {
  position: fixed;
  inset: 0;
  z-index: 2;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--surface-card);
}
.ui-borne-lecteur[hidden] { display: none; }
.ui-borne-lecteur-barre {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  padding: var(--space-4);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
}
.ui-borne-lecteur-barre .ui-btn { min-height: 3.5rem; padding-inline: var(--space-5); font-size: var(--fs-lead); }
.ui-borne-lecteur-corps a { color: inherit; text-decoration: none; pointer-events: none; }
.ui-borne-lecteur-erreur { margin: var(--space-6) auto; max-width: 40rem; text-align: center; font-size: var(--fs-lead); color: var(--text-muted); }
.ui-borne--apercu .ui-borne-scene { position: relative; height: 36rem; }
.ui-borne--apercu .ui-borne-ecran { padding: var(--space-6) var(--space-5); }
@media (prefers-reduced-motion: reduce) {
  .ui-borne-scene, .ui-borne-invite, .ui-borne-ecran.is-active * { animation: none !important; }
}
html.ui-ecran-jeu {
  font-size: var(--fs-ecran-jeu);
}
.ui-classement-scene {
  position: fixed;
  inset: 0;
  overflow: hidden;
  color: var(--on-dark);
  background:
    radial-gradient(40% 50% at 15% 20%, color-mix(in srgb, var(--color-brand-pink) 35%, transparent), transparent 70%),
    radial-gradient(45% 55% at 85% 80%, color-mix(in srgb, var(--accent-clair) 30%, transparent), transparent 70%),
    var(--color-titre-hero);
  background-size: 160% 160%, 160% 160%, auto;
  animation: ui-borne-fond 18s ease-in-out infinite alternate;
  -webkit-tap-highlight-color: transparent;
}
.ui-classement-tete {
  position: absolute;
  top: var(--space-5);
  left: var(--space-6);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.ui-classement-logo { width: 12rem; height: auto; }
.ui-classement-deconnexion {
  border-color: var(--border-on-dark-strong);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  color: var(--on-dark);
}
.ui-classement-deconnexion:hover,
.ui-classement-deconnexion:focus-visible {
  border-color: var(--on-dark);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  color: var(--on-dark);
}
@media (min-width: 1200px) {
  .ui-classement-deconnexion { display: none; }
}
@media (max-width: 1199px) {
  .ui-classement-tete:has(.ui-classement-deconnexion) {
    right: var(--space-4);
    justify-content: space-between;
  }
}
.ui-classement-quitter > .material-symbols-outlined { font-size: var(--icon-md); }
@media (min-width: 1200px) {
  .ui-classement-quitter { display: inline-grid; }
  .ui-classement-tete:has(.ui-classement-quitter) {
    right: var(--space-4);
    justify-content: space-between;
  }
}
.ui-classement-qr {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-5);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}
.ui-classement[data-vue="general"] .ui-classement-qr,
.ui-classement.is-phase-noms[data-vue="equipes"] .ui-classement-qr,
.ui-classement[data-vue="quiz"] .ui-classement-qr {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease;
}
.ui-classement-qr-texte {
  position: relative;
  display: grid;
  margin: 0 0 var(--space-3);
  padding-left: calc(var(--space-5) + var(--space-4));
  font-family: var(--font-titre);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  text-align: center;
  color: var(--accent-sur-sombre);
}
.ui-classement-qr-texte > span { grid-area: 1 / 1; }
.ui-classement-qr-avant,
.ui-classement.is-avant-tirage .ui-classement-qr-pendant { visibility: hidden; }
.ui-classement:not(.is-avant-tirage) .ui-classement-titre-avant,
.ui-classement.is-avant-tirage .ui-classement-titre-apres { display: none; }
.ui-classement.is-avant-tirage .ui-classement-qr-avant { visibility: visible; }
.ui-classement-qr-fleche {
  position: absolute;
  top: var(--space-2);
  left: var(--space-3);
  width: 5.5rem;
  height: 4.5rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ui-classement-qr-code {
  margin-left: calc(var(--space-5) + var(--space-4));
  width: 9rem;
  padding: var(--space-2);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-md);
  rotate: 4deg;
}
.ui-classement-qr-code svg { display: block; width: 100%; height: auto; }
.ui-classement.is-avant-tirage .ui-classement-nav-bouton[data-aller="equipes"] { display: none; }
@media (min-width: 1200px) {
  .ui-classement.is-avant-tirage .ui-classement-qr {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    gap: var(--space-3);
    translate: -50% -40%;
  }
  .ui-classement.is-avant-tirage .ui-classement-qr-texte {
    margin: 0;
    padding-left: 0;
    font-size: var(--fs-display-6);
  }
  .ui-classement.is-avant-tirage .ui-classement-qr-fleche { display: none; }
  .ui-classement.is-avant-tirage .ui-classement-qr-code {
    width: 18rem;
    margin-left: 0;
    padding: var(--space-3);
  }
  .ui-classement.is-avant-tirage :is(.ui-classement-vide, .ui-classement-invite) { display: none; }
}
.ui-classement-tirage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.ui-classement--tirage.is-avant-tirage .ui-classement-nav-bouton[data-aller="equipes"] { display: inline-flex; }
.ui-classement--tirage.is-avant-tirage [data-phase="jeu"] .ui-classement-lead { display: none; }
.ui-classement--tirage.is-avant-tirage[data-vue="equipes"] .ui-classement-qr {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease;
}
.ui-classement-tirage .ui-classement-accueil-liste { flex-wrap: wrap; justify-content: center; max-width: 52rem; }
@media (min-width: 1200px) {
  .ui-classement--tirage .ui-classement-qr,
  .ui-classement--tirage.is-avant-tirage .ui-classement-qr {
    top: auto;
    right: auto;
    bottom: var(--space-5);
    left: calc(50% + var(--nav-moitie, 16rem) + var(--space-4));
    gap: var(--space-1);
    translate: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease;
  }
  .ui-classement--tirage.is-avant-tirage .ui-classement-qr-texte {
    margin: 0 0 var(--space-3);
    padding-left: calc(var(--space-5) + var(--space-4));
    font-size: var(--fs-h5);
  }
  .ui-classement--tirage.is-avant-tirage .ui-classement-qr-fleche { display: block; }
  .ui-classement--tirage.is-avant-tirage .ui-classement-qr-code {
    width: 9rem;
    margin-left: calc(var(--space-5) + var(--space-4));
    padding: var(--space-2);
  }
}
@media (min-width: 1200px) {
  .ui-classement--qr .ui-classement-liste,
  .ui-classement--qr .ui-classement-rejoindre { width: min(100%, 72rem, calc(100vw - 44rem)); }
  .ui-classement--qr .ui-classement-liste[data-taille="longue"] { width: min(100%, 96rem, calc(100vw - 44rem)); }
  .ui-classement--qr .ui-classement-quiz-question { max-width: min(100rem, calc(100vw - 44rem)); }
  .ui-classement--qr :is(.ui-classement-quiz-reponses, .ui-classement-quiz-equipes) { width: min(100%, 72rem, calc(100vw - 44rem)); }
  .ui-classement--qr.is-phase-noms .ui-classement-equipes {
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    width: min(100%, 84rem, calc(100vw - 44rem));
  }
}
@media (max-width: 1199px) {
  .ui-classement-qr { display: none; }
}
.ui-classement-ecran {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding: calc(var(--space-7) + var(--space-5)) var(--space-6) 0;
  overflow-y: auto;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}
.ui-classement-ecran::after { content: ""; flex: none; height: calc(var(--space-7) + var(--space-5) - var(--space-4)); }
.ui-classement-ecran.is-active { opacity: 1; visibility: visible; transition: opacity 0.5s ease; }
.ui-classement-ecran--general[role="button"] { cursor: pointer; }
.ui-classement-titre { margin: 0; font-family: var(--font-titre); font-size: var(--fs-display-4); font-weight: 800; line-height: 1.05; color: var(--on-dark); }
.ui-classement-accent { color: var(--accent-sur-sombre); }
.ui-classement-lead { margin: 0; font-size: var(--fs-h5); color: var(--on-dark-muted); }
.ui-classement-ecran.is-active .ui-classement-titre { animation: ui-borne-monte 0.7s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-ecran.is-active .ui-classement-lead { animation: ui-borne-monte 0.7s 0.15s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-vide { margin: var(--space-5) 0 0; font-size: var(--fs-h4); color: var(--on-dark-muted); }
.ui-classement-rejoindre {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
  width: min(100%, 72rem);
  padding: var(--space-5) var(--space-4);
  border: 1px solid var(--border-on-dark-strong);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
}
.ui-classement-rejoindre p { margin: 0; }
.ui-classement-rejoindre-titre { font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; color: var(--on-dark); }
.ui-classement-rejoindre-texte { font-size: var(--fs-base); color: var(--on-dark-muted); }
@media (min-width: 1200px) {
  .ui-classement-rejoindre { display: none; }
}
.ui-classement-rejoindre .ui-btn {
  width: min(100%, 24rem);
  border-color: var(--accent-sur-sombre);
  background: var(--accent-sur-sombre);
  color: var(--color-titre-hero);
}
.ui-classement-statut {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  color: var(--on-dark);
}
.ui-classement-statut .material-symbols-outlined { font-size: var(--icon-md); color: var(--accent-sur-sombre); }
.ui-classement-statut--completer { text-decoration: none; }
.ui-classement-statut--completer:hover { color: var(--on-dark); background: color-mix(in srgb, var(--on-dark) 25%, transparent); }
.ui-classement:not(.is-avant-tirage) :is(.ui-classement-rejoindre, .ui-classement-statut--inscrit, .ui-classement-statut--tirage),
.ui-classement.is-avant-tirage .ui-classement-statut--spectateur { display: none; }
.ui-classement-ecran--general:has(.ui-classement-rejoindre, .ui-classement-statut--inscrit) .ui-classement-vide { display: none; }
@media (max-width: 1199px) {
  .ui-classement:not(.is-avant-tirage) .ui-classement-rejoindre--quiz,
  .ui-classement:not(.is-avant-tirage) .ui-classement-rejoindre--tournoi { display: grid; }
}
.ui-classement.is-avant-tirage .ui-classement-ecran--activites .ui-classement-lead { display: none; }
.ui-classement.is-avant-tirage .ui-classement-activite { cursor: default; }
.ui-classement.is-avant-tirage .ui-classement-activite:active { transform: none; }
.ui-classement-liste {
  display: grid;
  gap: var(--space-2);
  width: min(100%, 72rem);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.ui-classement-liste[data-taille="longue"] { grid-template-columns: 1fr 1fr; width: min(100%, 96rem); }
.ui-classement-liste[data-taille="longue"] .ui-classement-ligne { grid-template-columns: 3.5rem minmax(0, 1fr) minmax(3rem, 20%) minmax(max(5.5rem, var(--large-total, 0px)), max-content); }
@media (max-width: 1799px) {
  .ui-classement-liste[data-taille="longue"] .ui-classement-ligne { grid-template-columns: 3.5rem minmax(0, 1fr) minmax(max(5.5rem, var(--large-total, 0px)), max-content); }
  .ui-classement-liste[data-taille="longue"] .ui-classement-barre { display: none; }
}
.ui-classement-ligne {
  position: relative;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) minmax(4rem, 30%) minmax(max(5.5rem, var(--large-total, 0px)), max-content);
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  font-size: var(--fs-h5);
  text-align: left;
  transition: translate 0.9s cubic-bezier(.3, 1.3, .5, 1), background-color 0.4s ease;
}
.ui-classement-ecran.is-active .ui-classement-ligne { animation: ui-borne-monte 0.6s calc(0.2s + var(--n, 0) * 0.07s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-rang {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  font-weight: 800;
}
.ui-classement-nom { overflow: hidden; font-weight: var(--fw-bold); text-overflow: ellipsis; white-space: nowrap; }
.ui-classement-barre { height: 0.75rem; overflow: hidden; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); }
.ui-classement-barre > span {
  display: block;
  width: var(--part, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-clair), var(--accent-sur-sombre));
  transition: width 1.2s cubic-bezier(.2, .8, .2, 1);
}
.ui-classement-ecran.is-active .ui-classement-barre > span { animation: ui-classement-pousse 1.2s calc(0.4s + var(--n, 0) * 0.07s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-liste.is-pret .ui-classement-ligne,
.ui-classement-liste.is-pret .ui-classement-barre > span { animation: none; }
@keyframes ui-classement-pousse { from { width: 0; } }
.ui-classement-total { font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.ui-classement-ligne--podium { padding: var(--space-3) var(--space-4); font-size: var(--fs-h4); }
@media (min-width: 1920px) and (min-height: 1000px) {
  .ui-classement-liste[data-taille="courte"] .ui-classement-ligne { min-height: 6.25rem; }
  .ui-classement-liste[data-taille="courte"] .ui-classement-ligne--podium { min-height: 7.75rem; }
}
.ui-classement-ligne--podium .ui-classement-rang { color: var(--color-titre-hero); }
.ui-classement-ligne--1 .ui-classement-rang { background: var(--accent-clair); }
.ui-classement-ligne--2 .ui-classement-rang { background: color-mix(in srgb, var(--accent-clair) 70%, transparent); }
.ui-classement-ligne--3 .ui-classement-rang { background: color-mix(in srgb, var(--accent-clair) 40%, transparent); color: var(--on-dark); }
.ui-classement-ligne--1 { border-color: var(--accent-clair); background: color-mix(in srgb, var(--accent-clair) 25%, transparent); font-size: var(--fs-h3); }
.ui-classement-ligne--1 .ui-classement-total { font-size: var(--fs-h1); }
.ui-classement-liste[data-taille="longue"] .ui-classement-total,
.ui-classement-liste[data-taille="longue"] .ui-classement-ligne--1 .ui-classement-total { font-size: var(--fs-h4); }
.ui-classement-ligne--1 .ui-classement-rang { animation: ui-borne-pulse 2.4s ease-in-out infinite; }
.ui-classement-ligne.is-monte { background: color-mix(in srgb, var(--accent-clair) 25%, transparent); }
.ui-classement-ligne.is-nouveau-premier .ui-classement-rang { animation: ui-borne-pop 0.8s cubic-bezier(.2, .8, .2, 1) both, ui-borne-pulse 2.4s 0.8s ease-in-out infinite; }
.ui-classement-gain {
  position: absolute;
  top: 50%;
  right: calc(max(5.5rem, var(--large-total, 0px)) + var(--space-6));
  z-index: 2;
  font-family: var(--font-titre);
  font-size: var(--fs-display-3);
  font-weight: 800;
  line-height: 1;
  color: var(--accent-clair);
  text-shadow: 0 0.25rem 1.5rem var(--color-titre-hero);
  pointer-events: none;
  animation: ui-classement-envol 3.6s cubic-bezier(.2, .8, .3, 1) forwards;
}
@keyframes ui-classement-envol {
  from { opacity: 0; transform: translateY(-50%) scale(.3); }
  15% { opacity: 1; transform: translateY(-60%) scale(1.25); }
  25% { transform: translateY(-60%) scale(1); }
  70% { opacity: 1; transform: translateY(-90%) scale(1); }
  to { opacity: 0; transform: translateY(-220%) scale(.9); }
}
.ui-classement-invite {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  font-size: var(--fs-h5);
  color: var(--on-dark-muted);
  animation: ui-borne-flotte 1.6s ease-in-out infinite alternate;
}
.ui-classement-activites,
.ui-classement-equipes,
.ui-classement-choix {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 24rem));
  justify-content: center;
  gap: var(--space-4);
  width: min(100%, 84rem);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.ui-classement-activites {
  --carte: 22rem;
  grid-template-columns: repeat(calc(var(--colonnes, 3) * 2), minmax(0, 1fr));
  width: min(100%, calc(var(--colonnes, 3) * var(--carte) + (var(--colonnes, 3) - 1) * var(--space-4)));
}
.ui-classement-activites > li { grid-column: var(--depart, auto) / span 2; }
@media (max-width: 991px) {
  .ui-classement-activites {
    grid-template-columns: repeat(calc(min(var(--colonnes, 3), 2) * 2), minmax(0, 1fr));
    width: min(100%, calc(min(var(--colonnes, 3), 2) * var(--carte) + var(--space-4)));
  }
  .ui-classement-activites > li { grid-column: auto / span 2; }
}
@media (max-width: 575px) {
  .ui-classement-activites {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, var(--carte));
  }
}
.ui-classement-activites[data-taille="moyenne"] { --carte: 26rem; }
.ui-classement-activites[data-taille="grande"] { --carte: 30rem; }
@media (min-width: 768px) {
  .ui-classement-equipes[data-nombre="4"],
  .ui-classement--qr.is-phase-noms .ui-classement-equipes[data-nombre="4"] { grid-template-columns: repeat(2, minmax(18rem, 24rem)); }
}
.ui-classement-activites > li,
.ui-classement-equipes > li,
.ui-classement-choix > li { animation: ui-borne-pop 0.6s calc(var(--n, 0) * 0.06s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-activite {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  width: 100%;
  height: 100%;
  min-height: 11rem;
  padding: var(--space-4);
  border: 1px solid var(--border-on-dark-strong);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  color: var(--on-dark);
  font: inherit;
  text-align: left;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.ui-classement-activite:active { transform: scale(.97); }
.ui-classement-activite-image {
  width: calc(100% + var(--space-4) * 2);
  aspect-ratio: 16 / 9;
  margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-1);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  object-fit: cover;
}
.ui-classement-activite strong { font-family: var(--font-titre); font-size: var(--fs-h4); }
.ui-classement-activite-texte { display: -webkit-box; overflow: hidden; font-size: var(--fs-base); color: var(--on-dark-muted); -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ui-classement-activite-max { margin-top: auto; font-size: var(--fs-sm); color: var(--on-dark-soft); }
.ui-classement-activite-etat {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.ui-classement-activite-etat .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-classement-activite--en-cours .ui-classement-activite-etat { background: var(--accent-sur-sombre); color: var(--color-titre-hero); }
.ui-classement-activite--terminee { border-color: var(--accent-clair); }
.ui-classement-activite--terminee .ui-classement-activite-etat { background: var(--accent-clair); color: var(--color-titre-hero); }
.ui-classement-activites.ui-classement-activites--matchs {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 56rem);
}
.ui-classement-activites--matchs > li { grid-column: auto; }
.ui-classement-activites--matchs .ui-classement-activite { min-height: 0; }
.ui-classement-activites--matchs .ui-classement-activite-etat { align-self: center; }
.ui-classement-activites--matchs > li {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.5s ease, opacity 0.4s ease, margin 0.5s ease;
}
.ui-classement-activites--matchs > li > .ui-classement-activite { overflow: hidden; }
.ui-classement-activites--matchs.is-calme > li,
.ui-classement-activites--matchs > li.is-sortant { animation: none; }
.ui-classement-activites--matchs > li > .ui-classement-activite { transition: padding 0.5s ease, border-width 0.5s ease, transform 0.2s ease; }
.ui-classement-activites--matchs > li.is-sortant {
  grid-template-rows: 0fr;
  margin-bottom: calc(var(--space-3) * -1);
  opacity: 0;
}
.ui-classement-activites--matchs > li.is-sortant > .ui-classement-activite { padding-block: 0; border-width: 0; }
.ui-classement-terrain-libre { border-style: dashed; background: transparent; }
.ui-classement-prochains { margin-top: var(--space-2); animation: none; }
.ui-classement-prochains-titre { margin: 0 0 var(--space-2); color: var(--on-dark-soft); font-size: var(--fs-sm); font-weight: var(--fw-bold); text-transform: uppercase; }
.ui-classement-prochains ol { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-classement-prochains ol > li {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px dashed var(--border-on-dark);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  color: var(--on-dark-muted);
  font-size: var(--fs-base);
}
.ui-classement-prochains ol > li.ui-classement-prochains-tour {
  margin-top: var(--space-2);
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent-sur-sombre);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
}
.ui-classement-prochains-numero { flex: none; color: var(--on-dark-soft); font-size: var(--fs-sm); font-weight: var(--fw-bold); }
.ui-classement-match {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  gap: var(--space-3);
  width: 100%;
}
.ui-classement-match-equipe {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  text-align: center;
}
.ui-classement-match-equipe strong { overflow-wrap: anywhere; }
.ui-classement-match-equipe .ui-classement-membres { justify-content: center; margin: 0; }
.ui-classement-match-equipe.is-gagnante strong,
.ui-classement-match-equipe.is-gagnante .ui-classement-match-score { color: var(--accent-clair); }
.ui-classement-match-chrono {
  align-self: center;
  font-family: var(--font-titre);
  font-size: var(--fs-h4);
  font-variant-numeric: tabular-nums;
  color: var(--on-dark-muted);
}
.ui-classement-match-chrono.is-fini { color: var(--accent-sur-sombre); font-size: var(--fs-base); font-weight: var(--fw-bold); }
.ui-classement-match-contre {
  align-self: center;
  color: var(--on-dark-soft);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.ui-classement-match-score { font-family: var(--font-titre); font-size: var(--fs-h2); line-height: 1; color: var(--on-dark); }
.ui-classement-choix-equipe {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  min-height: 8rem;
  padding: var(--space-4);
  border: 1px solid var(--border-on-dark-strong);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  color: var(--on-dark);
  font: inherit;
  transition: transform 0.2s ease;
}
.ui-classement-choix-equipe:active { transform: scale(.96); }
.ui-classement-choix-equipe strong { font-family: var(--font-titre); font-size: var(--fs-h3); }
.ui-classement-choix-etat { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--fs-base); color: var(--on-dark-muted); }
.ui-classement-choix-etat .material-symbols-outlined { font-size: var(--icon-md); }
.ui-classement-choix-equipe--notee { border-color: var(--border-on-dark); background: transparent; opacity: .55; cursor: not-allowed; }
.ui-classement-choix-equipe--notee .ui-classement-choix-etat { color: var(--accent-clair); }
.ui-classement.is-quiz .ui-classement-nav { display: none; }
@media (min-width: 576px) {
  .ui-classement-ecran--quiz { justify-content: center; }
}
.ui-classement-quiz-numero { margin: 0; font-size: var(--fs-h5); font-weight: var(--fw-bold); letter-spacing: .06em; text-transform: uppercase; color: var(--accent-sur-sombre); }
.ui-classement-quiz-question { max-width: 72rem; font-size: var(--fs-display-5); text-wrap: balance; }
@media (min-width: 1200px) {
  .ui-classement-quiz-question { max-width: 100rem; font-size: var(--fs-ecran-question); }
  .ui-classement-ecran--quiz .ui-classement-quiz-reponses { margin-top: calc(2 * var(--space-6) - var(--space-4)); }
  .ui-classement-ecran--quiz .ui-classement-quiz-message { margin-top: calc(var(--space-6) - var(--space-4)); }
}
.ui-classement-dessin-badge {
  position: fixed;
  z-index: 1080;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  background: var(--on-dark);
  color: var(--color-dark);
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  white-space: nowrap;
  box-shadow: var(--shadow-md);
  pointer-events: none;
}
.ui-classement-dessin-badge.is-trouve { background: var(--accent-clair); color: var(--color-titre-hero); }
.ui-classement--duo .ui-classement-titre.ui-classement-quiz-question { max-width: 56rem; font-size: var(--fs-h2); }
@media (min-width: 1200px) {
  .ui-classement--duo .ui-classement-titre.ui-classement-quiz-question { font-size: var(--fs-display-6); }
  .ui-classement--duo .ui-classement-ecran--quiz .ui-classement-quiz-reponses { margin-top: calc(var(--space-6) - var(--space-4)); }
}
@media (max-width: 575px) {
  .ui-classement--duo .ui-classement-titre.ui-classement-quiz-question { font-size: var(--fs-h3); }
}
.ui-classement-quiz-reponses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  width: min(100%, 72rem);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.ui-classement-ecran--quiz.is-active .ui-classement-quiz-reponses > li { animation: ui-borne-monte 0.6s calc(0.2s + var(--n, 0) * 0.08s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-quiz-reponse {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  min-height: 5.5rem;
  padding: var(--space-3) var(--space-4);
  border: 2px solid var(--border-on-dark-strong);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  color: var(--on-dark);
  font: inherit;
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  text-align: left;
  transition: transform 0.2s ease, opacity 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.ui-classement-quiz-reponse:not(:disabled):active { transform: scale(.97); }
.ui-classement-quiz-reponse:disabled { cursor: default; }
.ui-classement-quiz-lettre {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-pill);
  background: var(--accent-sur-sombre);
  color: var(--color-titre-hero);
  font-family: var(--font-titre);
  font-weight: 800;
}
.ui-classement-quiz-reponse.is-choisie { border-color: var(--accent-sur-sombre); background: color-mix(in srgb, var(--accent-sur-sombre) 25%, transparent); }
.ui-classement-quiz-reponse.is-eteinte { opacity: .4; }
.ui-classement-quiz-reponse.is-bonne { border-color: var(--accent-clair); background: color-mix(in srgb, var(--accent-clair) 40%, transparent); opacity: 1; animation: ui-borne-rebond 0.8s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .ui-classement-quiz-reponse.is-bonne { animation: none; }
}
.ui-classement-quiz-reponse.is-fausse { border-color: var(--color-danger); background: color-mix(in srgb, var(--color-danger) 40%, transparent); opacity: 1; }
.ui-classement-quiz-message.is-juste { background: var(--accent-clair); color: var(--color-titre-hero); }
.ui-classement-quiz-palier { margin: 0; }
.ui-classement-quiz-mot { white-space: nowrap; }
.ui-classement-quiz-compte {
  margin: 0;
  font-family: var(--font-titre);
  font-size: var(--fs-display-1);
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--accent-sur-sombre);
}
.ui-classement-quiz-compte.is-tic { animation: ui-borne-pop 0.5s cubic-bezier(.2, .8, .2, 1); }
html.ui-ecran-jeu { touch-action: manipulation; }
html.ui-ecran-jeu .ui-classement-dessin-proposer .ui-form-control { font-size: var(--fs-base); }
.ui-classement-ecran--dessin { align-items: center; text-align: center; }
@media (min-width: 576px) {
  .ui-classement-ecran--dessin { justify-content: center; }
}
.ui-classement-dessin-titre { max-width: 72rem; text-wrap: balance; }
.ui-classement-dessin-titre.is-mot { color: var(--accent-sur-sombre); letter-spacing: .04em; animation: ui-borne-rebond 0.7s ease-out; }
.ui-classement-dessin-qui { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); margin: 0; font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.ui-classement-dessin-photo { display: grid; place-items: center; width: 14rem; height: 14rem; overflow: hidden; border: 3px solid var(--border-on-dark-strong); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 12%, transparent); font-size: var(--fs-display-5); }
.ui-classement-dessin-qui.is-tirage .ui-classement-dessin-photo { border-color: var(--on-dark-muted); }
.ui-classement-dessin-qui.is-choisi .ui-classement-dessin-photo { border-color: var(--accent-clair); animation: ui-borne-rebond 0.8s ease-out; }
.ui-classement-dessin-qui [data-dessin-nom]:empty { display: none; }
.ui-classement-dessin-photo img { width: 100%; height: 100%; object-fit: cover; }
.ui-classement-dessin-mot { display: inline-flex; flex-direction: column; align-items: center; gap: var(--space-1); margin: 0; padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: color-mix(in srgb, var(--accent-clair) 25%, transparent); }
.ui-classement-dessin-mot span { font-size: var(--fs-sm); color: var(--on-dark-muted); }
.ui-classement-dessin-mot em { flex-basis: 100%; text-align: center; font-style: normal; font-size: var(--fs-caption); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent-sur-sombre); }
.ui-classement-dessin-mot em:empty { display: none; }
.ui-classement-dessin-mot strong { font-family: var(--font-titre); font-size: var(--fs-h3); color: var(--accent-sur-sombre); }
.ui-classement-dessin-indice { margin: 0; padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: color-mix(in srgb, var(--accent-clair) 25%, transparent); font-family: var(--font-titre); font-size: var(--fs-h4); font-weight: var(--fw-bold); letter-spacing: .08em; white-space: pre-wrap; }
.ui-classement-dessin-toile { position: relative; flex-shrink: 0; aspect-ratio: 1; width: min(100%, 58vh, 46rem); overflow: hidden; border-radius: var(--radius-md); background: var(--white); }
.ui-classement-dessin-toile canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.ui-classement-dessin-toile.is-dessinateur canvas { cursor: crosshair; }
.ui-classement-dessin-outils { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); }
.ui-classement-dessin-gestes { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); }
.ui-classement-dessin-couleurs { position: absolute; bottom: var(--space-2); left: 50%; display: flex; gap: var(--space-2); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 12%, transparent); transform: translateX(-50%); }
.ui-classement-dessin-couleurs[hidden] { display: none; }
.ui-classement-dessin-couleur { width: 2rem; height: 2rem; padding: 0; border: 2px solid var(--white); border-radius: 50%; background: var(--couleur); cursor: pointer; }
.ui-classement-dessin-couleur.is-active { outline: 3px solid var(--color-dark); outline-offset: 1px; }
.ui-classement-dessin-gestes .ui-btn.is-active { background: var(--on-dark); color: var(--color-dark); }
.ui-classement-dessin-go, .ui-classement-dessin-proposer .ui-btn-primary { border-color: var(--on-dark); background: var(--on-dark); color: var(--color-dark); }
.ui-classement-dessin-go:hover, .ui-classement-dessin-proposer .ui-btn-primary:hover { border-color: var(--on-dark-muted); background: var(--on-dark-muted); color: var(--color-dark); }
.ui-classement-dessin-go { width: min(100%, 24rem); }
.ui-classement-dessin-gestes { align-items: center; flex-wrap: nowrap; }
.ui-classement-dessin-gestes .ui-icon-button { border-color: var(--border-on-dark-strong); color: var(--on-dark); }
.ui-classement-dessin-proposer { display: flex; gap: var(--space-2); width: min(100%, 40rem); }
.ui-classement-dessin-proposer .ui-form-control { flex: 1; min-width: 0; }
.ui-classement-dessin-proposer.is-faux { animation: ui-classement-secoue 0.4s ease; }
.ui-classement-quiz-message.is-bravo { background: var(--accent-clair); color: var(--color-titre-hero); animation: ui-borne-rebond 0.7s ease-out; }
@media (max-width: 575.98px) {
  .ui-classement-dessin-toile { width: min(100%, 52vh); }
  .ui-classement-ecran--dessin .ui-classement-dessin-titre { font-size: var(--fs-h3); }
  .ui-classement-dessin-mot { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: baseline; column-gap: var(--space-2); row-gap: 0; padding: var(--space-1) var(--space-3); }
  .ui-classement-dessin-mot strong { font-size: var(--fs-h4); }
  .ui-classement-ecran--dessin.is-pave { justify-content: center; }
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-toile { order: 1; }
  .ui-classement-ecran--dessin.is-pave::after { content: none; }
  .ui-classement.is-pave .ui-classement-ecran--dessin { padding-top: var(--space-3); padding-bottom: var(--space-3); }
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-mot,
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-indice { order: 0; }
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-outils,
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-proposer { order: 3; }
  .ui-classement-ecran--dessin.is-pave .ui-classement-quiz-message,
  .ui-classement-ecran--dessin.is-pave .ui-classement-quiz-equipes { order: 4; }
  .ui-classement-ecran--dessin.is-dessinateur .ui-classement-quiz-numero,
  .ui-classement-ecran--dessin.is-pave .ui-classement-quiz-numero,
  .ui-classement-ecran--dessin.is-pave .ui-classement-dessin-titre { display: none; }
  .ui-classement-dessin-outils { gap: var(--space-2); }
  .ui-classement-ecran--dessin.is-annonce { justify-content: center; }
  .ui-classement-dessin-photo { width: min(64vw, 16rem); height: min(64vw, 16rem); }
}
@media (min-width: 1200px) {
  .ui-classement-quiz-compte { font-size: var(--fs-ecran-compte); }
}
.ui-classement-quiz-temps { position: fixed; bottom: calc(var(--space-5) - var(--space-2)); left: 50%; translate: -50% 0; width: min(calc(100% - 2 * var(--space-4)), 36rem); height: var(--space-2); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); overflow: hidden; }
.ui-classement-quiz-temps > span { display: block; height: 100%; border-radius: inherit; background: var(--accent-sur-sombre); }
.ui-classement-quiz-temps.is-question > span { background: var(--color-titre-hero); }
.ui-classement-quiz-equipes { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); width: min(100%, 84rem); margin: 0; padding: 0; list-style: none; }
.ui-classement-quiz-equipes > li {
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--border-on-dark-strong);
  border-radius: var(--radius-pill);
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  color: var(--on-dark-muted);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.ui-classement-quiz-equipes > li.is-repondu { border-color: var(--accent-sur-sombre); background: var(--accent-sur-sombre); color: var(--color-titre-hero); }
.ui-classement-quiz-equipes > li.is-juste { border-color: var(--accent-clair); background: var(--accent-clair); color: var(--color-titre-hero); }
.ui-classement-quiz-equipes > li.is-juste { animation: ui-borne-zoom 0.45s calc(var(--n, 0) * 0.08s) cubic-bezier(.2, .8, .2, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .ui-classement-quiz-equipes > li.is-juste { animation: none; }
}
.ui-classement-quiz-equipes > li.is-faux { border-color: var(--border-on-dark); background: transparent; color: var(--on-dark-muted); opacity: .6; }
.ui-classement--pastilles .ui-classement-ecran--quiz .ui-classement-quiz-reponses { order: 1; }
.ui-classement--pastilles .ui-classement-ecran--quiz .ui-classement-quiz-equipes { order: 2; }
.ui-classement--pastilles .ui-classement-ecran--quiz :is(.ui-classement-quiz-message, .ui-classement-quiz-temps) { order: 3; }
.ui-classement--pastilles .ui-classement-ecran--quiz::after { order: 4; }
.ui-classement--pastilles .ui-classement-ecran--quiz .ui-classement-quiz-message { margin-top: calc(var(--space-6) / 2 - var(--space-4)); }
.ui-classement--pastilles .ui-classement-ecran--quiz .ui-classement-quiz-reponses:not(:empty) ~ .ui-classement-quiz-equipes { margin-top: calc(var(--space-6) - var(--space-4)); }
.ui-classement--pastilles .ui-classement-ecran--quiz .ui-classement-quiz-equipes > li.is-repondu { border-color: var(--accent-clair); background: var(--accent-clair); }
@media (max-width: 575px) {
  .ui-classement-titre.ui-classement-quiz-question { font-size: var(--fs-h2); }
  .ui-classement-quiz-numero { font-size: var(--fs-sm); }
  .ui-classement-ecran--quiz .ui-classement-quiz-reponses { margin-top: calc(var(--space-6) - var(--space-4)); }
  .ui-classement-quiz-equipes { display: none; }
  .ui-classement-quiz-reponses { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .ui-classement-quiz-reponse { min-height: 4rem; padding: var(--space-2) var(--space-3); font-size: var(--fs-h5); font-weight: var(--fw-normal); }
  .ui-classement-quiz-lettre { width: 2.25rem; height: 2.25rem; background: color-mix(in srgb, var(--on-dark) 12%, transparent); color: var(--on-dark); }
}
.ui-classement-ecran--accueil { justify-content: center; }
.ui-classement-accueil { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); width: 100%; }
.ui-classement-accueil[hidden] { display: none; }
.ui-classement[data-demo][data-quiz] .ui-classement-qr { display: none; }
@keyframes ui-demo-tape { 0% { transform: none; } 35% { transform: scale(0.92); } 70% { transform: scale(1.04); } 100% { transform: none; } }
.ui-classement.is-demo-pause *,
.ui-classement.is-demo-pause *::before,
.ui-classement.is-demo-pause *::after { animation-play-state: paused; }
.ui-classement .is-tape { outline: 2px solid var(--white); outline-offset: 2px; animation: ui-demo-tape 0.9s ease-out; }
.ui-classement-accueil-corps { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); width: min(100%, 56rem); text-align: center; }
.ui-classement-accueil-corps > * { margin: 0; }
.ui-classement-accueil-corps > .ui-classement-accueil-compte { margin-top: calc(var(--space-5) - var(--space-3)); }
.ui-classement-accueil-qr { display: none; }
@media (max-width: 1199px) {
  .ui-classement--qr-accueil .ui-classement-ecran--accueil { justify-content: flex-start; }
  .ui-classement--qr-accueil .ui-classement-accueil-qr { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); }
  .ui-classement--qr-accueil .ui-classement-accueil-code { width: 12rem; margin-left: 0; rotate: 0deg; }
  .ui-classement--qr-accueil .ui-classement-accueil-qr .ui-classement-qr-texte { margin: 0; padding-left: 0; }
}
.ui-classement-quiz-equipes.ui-classement-accueil-liste { display: flex; }
.ui-classement-accueil-liste > li { display: inline-flex; align-items: center; gap: var(--space-1); }
.ui-classement-accueil-liste > li > .material-symbols-outlined { font-size: var(--icon-sm); }
@media (min-width: 1200px) {
  .ui-classement-accueil { flex-direction: row; justify-content: center; gap: var(--space-6); }
  .ui-classement-accueil-qr { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); }
  .ui-classement-accueil-code { width: min(30rem, 55vh); margin-left: 0; padding: var(--space-4); rotate: 0deg; }
  .ui-classement-accueil-qr .ui-classement-qr-texte { margin: 0; padding-left: 0; font-size: var(--fs-h3); }
  .ui-classement.is-joueur .ui-classement-accueil-qr { display: none; }
  .ui-classement-ecran--accueil .ui-classement-titre { font-size: var(--fs-display-3); }
  .ui-classement-ecran--accueil .ui-classement-lead { font-size: var(--fs-h4); }
  .ui-classement-accueil-compte { font-size: var(--fs-h5); }
  .ui-classement-accueil-liste > li { font-size: var(--fs-h5); }
}
.ui-classement-champ { display: flex; align-items: baseline; justify-content: center; gap: var(--space-2); min-width: 0; }
.ui-classement-champ input {
  width: 100%;
  min-width: 0;
  max-width: 20rem;
  padding: var(--space-1) var(--space-2);
  border: 2px solid var(--border-on-dark-strong);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  color: var(--on-dark);
  font-family: var(--font-titre);
  font-size: var(--fs-display-5);
  font-weight: 800;
  text-align: center;
  -moz-appearance: textfield;
}
.ui-classement-champ input::-webkit-outer-spin-button,
.ui-classement-champ input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.ui-classement-champ input:focus { outline: none; border-color: var(--accent-sur-sombre); }
.ui-classement-sur { flex-shrink: 0; white-space: nowrap; font-family: var(--font-titre); font-size: var(--fs-h2); font-weight: 700; color: var(--on-dark-muted); }
.ui-classement-champ--clair input { border-color: var(--border); background: var(--surface-douce); color: var(--color-titre-hero); }
.ui-classement-champ--clair input:focus { border-color: var(--color-primary); }
.ui-classement-champ--clair .ui-classement-sur { color: var(--text-muted); }
.ui-classement-champ.is-trop { animation: ui-classement-secoue 0.4s ease; }
.ui-classement-champ.is-trop input { border-color: var(--color-brand-pink); }
@keyframes ui-classement-secoue { 25% { transform: translateX(-6px); } 50% { transform: translateX(6px); } 75% { transform: translateX(-3px); } }
.ui-classement-fenetre-surtitre { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-bold); letter-spacing: .08em; text-transform: uppercase; color: var(--color-brand-pink); }
.ui-classement-fenetre-carte .ui-classement-erreur { color: var(--color-brand-pink-ink); }
.ui-classement-erreur { margin: var(--space-3) 0 0; font-size: var(--fs-h5); color: var(--accent-sur-sombre); }
.ui-classement-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); margin-top: var(--space-5); }
.ui-classement-ecran .ui-btn-outline {
  border-color: var(--border-on-dark-strong);
  color: var(--on-dark);
}
@media (min-width: 992px) {
  .ui-classement-ecran--saisie .ui-classement-actions {
    position: absolute;
    top: calc(var(--space-7) + var(--space-5));
    left: var(--space-6);
    margin: 0;
  }
  .ui-classement-ecran--saisie .ui-classement-titre { padding-inline: 16rem; }
}
.ui-classement-ecran .ui-btn-outline:hover,
.ui-classement-ecran .ui-btn-outline:focus-visible {
  border-color: var(--on-dark);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  color: var(--on-dark);
}
.ui-classement-equipe {
  padding: var(--space-4);
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  text-align: left;
}
.ui-classement-equipe-tete { display: flex; align-items: center; gap: var(--space-2); }
.ui-classement-equipe-tete strong { flex: 1; font-family: var(--font-titre); font-size: var(--fs-h4); }
.ui-classement-crayon {
  display: grid;
  place-items: center;
  width: var(--control-h-tactile);
  height: var(--control-h-tactile);
  border: 0;
  border-radius: 50%;
  background: var(--accent-sur-sombre);
  color: var(--color-titre-hero);
}
.ui-classement-membres { display: flex; flex-wrap: wrap; gap: var(--space-1); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.ui-classement-membres li { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); font-size: var(--fs-sm); }
.ui-classement-membres li:has(.ui-classement-membre-photo) { padding-left: var(--space-1); }
.ui-classement-membre-photo { flex: none; width: var(--icon-lg); height: var(--icon-lg); border-radius: 50%; object-fit: cover; }
.ui-classement-phase { display: contents; }
.ui-classement-phase[hidden] { display: none; }
.ui-classement.is-phase-noms .ui-classement-nav { display: none; }
.ui-classement-avancee {
  margin: 0;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--on-dark) 12%, transparent);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  color: var(--accent-sur-sombre);
}
.ui-classement-equipe { display: flex; flex-direction: column; }
.ui-classement-equipe--a-nommer { border: 2px dashed var(--accent-sur-sombre); }
.ui-classement-equipe--a-nommer .ui-classement-equipe-tete strong { color: var(--on-dark-muted); }
.ui-classement-choisir {
  margin-top: auto;
  align-self: center;
  border-color: var(--accent-sur-sombre);
  background: var(--accent-sur-sombre);
  color: var(--color-titre-hero);
  animation: ui-borne-pulse 2.4s ease-in-out infinite;
}
.ui-classement-equipe--a-nommer .ui-classement-membres { margin-bottom: calc(var(--space-3) + var(--space-3) + var(--space-1)); }
.ui-classement-choisi { display: inline-flex; align-items: center; gap: var(--space-1); margin-top: var(--space-3); font-weight: var(--fw-bold); color: var(--accent-clair); }
.ui-classement-equipe.is-nommee { animation: ui-borne-pop 0.7s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-4);
  width: min(100%, 60rem);
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
}
.ui-classement-marche { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; gap: var(--space-2); max-width: 18rem; }
.ui-classement-marche--1 { order: 2; }
.ui-classement-marche--2 { order: 1; }
.ui-classement-marche--3 { order: 3; }
.ui-classement-marche-nom { font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; line-height: 1.1; text-align: center; }
.ui-classement-marche--1 .ui-classement-marche-nom { font-size: var(--fs-h1); }
.ui-classement-marche-total { font-size: var(--fs-h4); font-weight: var(--fw-bold); color: var(--on-dark-muted); }
.ui-classement-marche-socle {
  display: grid;
  justify-items: center;
  align-content: start;
  width: 100%;
  padding-top: var(--space-3);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  font-family: var(--font-titre);
  font-size: var(--fs-display-3);
  font-weight: 800;
  color: var(--color-titre-hero);
  transform-origin: bottom;
}
.ui-classement-marche--1 .ui-classement-marche-socle { height: 13rem; background: var(--accent-clair); }
.ui-classement-marche--2 .ui-classement-marche-socle { height: 9.5rem; background: color-mix(in srgb, var(--accent-clair) 70%, transparent); }
.ui-classement-marche--3 .ui-classement-marche-socle { height: 7rem; background: color-mix(in srgb, var(--accent-clair) 40%, transparent); color: var(--on-dark); }
.ui-classement-couronne { visibility: hidden; font-size: var(--icon-2xl); color: var(--accent-sur-sombre); }
.ui-classement-marche--1 .ui-classement-couronne { visibility: visible; }
.ui-classement-ecran--celebration.is-active .ui-classement-marche-socle { animation: ui-classement-socle 0.9s var(--d, 0s) cubic-bezier(.2, .9, .3, 1.2) both; }
.ui-classement-ecran--celebration.is-active .ui-classement-marche-nom,
.ui-classement-ecran--celebration.is-active .ui-classement-marche-total { animation: ui-borne-pop 0.6s calc(var(--d, 0s) + 0.6s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-ecran--celebration.is-active .ui-classement-marche--1 .ui-classement-couronne { animation: ui-borne-pop 0.6s calc(var(--d, 0s) + 0.9s) both, ui-borne-flotte 1.4s calc(var(--d, 0s) + 1.5s) ease-in-out infinite alternate; }
.ui-classement-marche--3 { --d: 0.3s; }
.ui-classement-marche--2 { --d: 1.1s; }
.ui-classement-marche--1 { --d: 1.9s; }
@keyframes ui-classement-socle { from { transform: scaleY(0); } to { transform: none; } }
.ui-classement-suite {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: var(--space-2);
  width: min(100%, 72rem);
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
}
.ui-classement-suite > li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--on-dark) 6%, transparent);
  font-size: var(--fs-base);
  text-align: left;
}
.ui-classement-suite .ui-classement-rang { width: 2.25rem; height: 2.25rem; }
.ui-classement-suite .ui-classement-total { font-size: var(--fs-h5); }
.ui-classement-ecran--celebration.is-active .ui-classement-suite > li { animation: ui-borne-monte 0.6s calc(2.8s + var(--n, 0) * 0.06s) cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-nav {
  position: absolute;
  bottom: var(--space-5);
  left: 50%;
  z-index: 3;
  display: flex;
  gap: var(--space-2);
  padding: var(--space-2);
  border: 1px solid var(--border-on-dark);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-titre-hero) 70%, transparent);
  translate: -50% 0;
  backdrop-filter: blur(8px);
}
.ui-classement-nav-bouton {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--on-dark);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.ui-classement-nav-bouton.is-active { background: var(--on-dark); color: var(--color-titre-hero); }
.ui-classement-fenetre {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--color-titre-hero) 90%, transparent);
}
.ui-classement-fenetre[hidden] { display: none; }
.ui-classement-fenetre-carte {
  display: grid;
  gap: var(--space-3);
  width: min(90%, 36rem);
  padding: var(--space-6);
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--color-dark);
  box-shadow: var(--shadow-md);
  animation: ui-borne-pop 0.4s cubic-bezier(.2, .8, .2, 1) both;
}
.ui-classement-fenetre-titre { margin: 0; font-family: var(--font-titre); font-size: var(--fs-h3); }
.ui-classement-fenetre-carte .ui-form-control { font-size: var(--fs-h4); }
.ui-classement-fete { position: absolute; inset: 0; z-index: 4; overflow: hidden; pointer-events: none; }
.ui-classement-fete > span {
  position: absolute;
  top: -2rem;
  left: var(--x, 50%);
  width: 0.75rem;
  height: 1.25rem;
  border-radius: 2px;
  background: var(--accent-sur-sombre);
  animation: ui-classement-confetti var(--d, 3s) var(--r, 0s) cubic-bezier(.3, .6, .6, 1) forwards;
}
.ui-classement-fete > span:nth-child(4n + 1) { background: var(--accent-clair); }
.ui-classement-fete > span:nth-child(4n + 2) { background: var(--color-brand-pink); }
.ui-classement-fete > span:nth-child(4n + 3) { background: var(--on-dark); }
@keyframes ui-classement-confetti {
  from { opacity: 1; transform: translateY(0) rotate(0); }
  to { opacity: 0; transform: translateY(110vh) rotate(720deg); }
}
.ui-classement--apercu .ui-classement-scene { position: relative; height: 40rem; }
.ui-classement--apercu .ui-classement-ecran { padding: calc(var(--space-7) + var(--space-3)) var(--space-5) var(--space-5); }
.ui-classement--apercu .ui-classement-ecran::after { content: none; }
.ui-classement--apercu .ui-classement-titre { font-size: var(--fs-display-6); }
@media (max-width: 900px) {
  .ui-classement-tete { left: var(--space-4); }
  .ui-classement-logo { width: 8rem; }
  .ui-classement-titre { font-size: var(--fs-display-6); }
  .ui-classement-liste[data-taille="longue"] { grid-template-columns: 1fr; }
  .ui-classement-ligne,
  .ui-classement-liste[data-taille="longue"] .ui-classement-ligne { grid-template-columns: 3rem minmax(0, 1fr) minmax(max(4.5rem, var(--large-total, 0px)), max-content); }
  .ui-classement-barre { display: none; }
  .ui-classement-ligne--1 .ui-classement-total { font-size: var(--fs-h3); }
  .ui-classement-ligne--1 { font-size: var(--fs-h4); }
  .ui-classement-nav-bouton { padding: var(--space-2) var(--space-3); }
}
@media (max-width: 575px) {
  .ui-classement-ecran { padding-inline: var(--space-3); }
  .ui-classement-ecran { padding-top: calc(var(--space-7) + var(--space-3) + var(--space-2) + var(--space-1)); }
  .ui-classement.is-pave .ui-classement-tete,
  .ui-classement.is-pave .ui-classement-deconnexion { display: none; }
  .ui-classement-quiz-temps { position: fixed; bottom: calc(var(--space-2) + var(--space-1) / 2); height: var(--space-1); }
  .ui-classement-invite { display: none; }
  .ui-classement-fenetre-carte { padding: var(--space-4); }
  .ui-classement-podium { gap: var(--space-2); }
  .ui-classement-marche-nom { font-size: var(--fs-h5); }
  .ui-classement-marche--1 .ui-classement-marche-nom { font-size: var(--fs-h4); }
  .ui-classement-marche-total { font-size: var(--fs-sm); }
  .ui-classement-marche-socle { font-size: var(--fs-h2); }
  .ui-classement-marche--1 .ui-classement-marche-socle { height: 8rem; }
  .ui-classement-marche--2 .ui-classement-marche-socle { height: 6rem; }
  .ui-classement-marche--3 .ui-classement-marche-socle { height: 4.5rem; }
  .ui-classement-couronne { font-size: var(--icon-xl); }
  .ui-classement-actions > * { flex: 1 1 100%; }
  .ui-classement-nav {
    right: var(--space-3);
    bottom: calc(var(--space-3) + var(--space-1));
    left: var(--space-3);
    justify-content: space-between;
    gap: var(--space-1);
    padding: var(--space-1);
    translate: none;
  }
  .ui-classement-nav-bouton {
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    min-width: 0;
    padding: var(--space-1);
    font-size: var(--fs-caption);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ui-classement-scene, .ui-classement-scene * { animation: none !important; transition: none !important; }
  .ui-classement-fete { display: none; }
}
.ui-parcours { padding-top: var(--space-4); }
.ui-parcours-tete {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  max-width: 34rem;
  margin: 0 auto var(--space-4);
  min-height: 2.5rem;
}
.ui-parcours-retour {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-titre);
  font-weight: 600;
}
.ui-parcours-retour:hover { background: var(--teinte-neutre); }
.ui-parcours-retour[hidden] { display: none; }
.ui-parcours-barre {
  flex: 1;
  height: 8px;
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: var(--teinte-neutre-forte);
}
.ui-parcours-barre > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--color-primary), var(--color-brand-pink));
  transition: width 0.5s cubic-bezier(.2, .8, .2, 1);
}
.ui-parcours-carte {
  position: relative;
  max-width: 34rem;
  margin-inline: auto;
  padding: var(--space-5);
  overflow-x: clip;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
}
.ui-parcours-ecran { display: none; }
.ui-parcours-ecran.is-active { display: grid; gap: var(--space-4); animation: ui-parcours-entre 0.45s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ui-parcours-entre { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
.ui-parcours-titre {
  margin: 0;
  font-family: var(--font-titre);
  font-size: var(--fs-h2);
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-titre);
}
.ui-parcours-titre:focus { outline: none; }
.ui-parcours-icone {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-success) 12%, transparent);
  color: var(--color-success);
  font-size: var(--icon-2xl);
}
.ui-parcours-icone .material-symbols-outlined { font-size: inherit; font-variation-settings: 'FILL' 1; }
.ui-parcours-icone.is-attente { background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--color-primary); }
.ui-parcours-ecran.is-active .ui-parcours-icone { animation: ui-parcours-eclot 0.6s 0.15s cubic-bezier(.2, .8, .2, 1.3) both; }
@keyframes ui-parcours-eclot { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
.ui-parcours-intro { margin: calc(-1 * var(--space-2)) 0 0; color: var(--text-muted); font-size: var(--fs-lead); }
.ui-parcours-intro strong { color: var(--color-dark); word-break: break-all; }
.ui-parcours-ecran .ui-pastilles--cartes .ui-pastille > span { min-height: 4rem; }
.ui-parcours-ecran .ui-pastilles--cartes .ui-pastille > span .material-symbols-outlined { font-size: var(--icon-xl); }
.ui-parcours-code summary { color: var(--color-titre); font-weight: 600; cursor: pointer; }
.ui-parcours-code[open] summary { margin-bottom: var(--space-3); }
.ui-parcours-secret { position: relative; }
.ui-parcours-oeil {
  position: absolute;
  top: 2rem;
  right: var(--space-2);
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-muted);
}
.ui-parcours-oeil:hover { background: var(--teinte-neutre); }
.ui-parcours-secret .ui-form-control { padding-right: var(--space-6); }
.ui-parcours-ecran [name="codeEmail"] { font-size: var(--fs-h3); font-weight: 700; letter-spacing: 0.3em; text-align: center; }
.ui-parcours-ecran .col-12:has([name="codeEmail"]) { margin-top: var(--space-4); }
.ui-parcours-liens { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-2) var(--space-4); margin-top: calc(-1 * var(--space-2)); }
.ui-parcours-lien { padding: 0; border: 0; background: none; color: var(--color-titre); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ui-parcours-ecran > .ui-parcours-lien { justify-self: center; margin-top: calc(-1 * var(--space-2)); }
.ui-parcours-nouvel-email { display: grid; gap: var(--space-3); }
.ui-parcours-aide-email {
  display: grid;
  justify-items: start;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--teinte-neutre);
}
.ui-parcours-aide-email[hidden] { display: none; }
.ui-parcours-aide-titre { margin: 0; color: var(--color-titre); font-weight: 700; }
.ui-parcours-aide-email ul { margin: 0; padding-left: var(--space-4); color: var(--text-muted); }
.ui-parcours-aide-email a { color: var(--color-titre); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ui-parcours-aide-email .ui-form-text { margin: 0; }
.ui-parcours-nouvel-email[hidden] { display: none; }
.ui-parcours-alerte { padding: var(--space-3); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--color-danger) 12%, transparent); color: var(--color-danger); font-weight: 600; }
.ui-parcours-alerte.is-ok { background: color-mix(in srgb, var(--color-success) 12%, transparent); color: var(--color-success); }
.ui-parcours-actions { display: flex; justify-content: flex-end; gap: var(--space-2); }
.ui-parcours-actions .ui-btn { min-width: 12rem; }
.ui-parcours-actions .ui-btn-outline { margin-right: auto; white-space: nowrap; }
.ui-parcours-actions .ui-btn-outline:not([hidden]) + .ui-btn { min-width: 0; }
.ui-parcours-mention { max-width: 34rem; margin: var(--space-4) auto 0; color: var(--text-muted); font-size: var(--fs-caption); text-align: center; }
@media (max-width: 767.98px) {
  .ui-section.ui-parcours { padding-top: calc(var(--space-6) / 2); }
}
@media (max-width: 575.98px) {
  .ui-parcours-carte { padding: var(--space-4); }
  .ui-parcours-actions { flex-direction: column-reverse; }
  .ui-parcours-actions .ui-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ui-parcours-ecran.is-active { animation: none; }
  .ui-parcours-barre > span { transition: none; }
}
.ui-classement-manches { display: grid; gap: var(--space-2); }
.ui-classement-manches .ui-form-label { margin: var(--space-2) 0 0; }
.ui-sortie-jeu { text-align: left; }
.ui-sortie-jeu-gp { margin: var(--space-5) 0 var(--space-3); font-size: var(--fs-h5); line-height: var(--lh-heading); color: var(--color-titre); }
.ui-sortie-jeu-gp:first-child { margin-top: 0; }
.ui-sortie-jeu-texte { margin: 0 0 var(--space-4); }
.ui-sortie-jeu-activites { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-sortie-jeu-activite {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  box-shadow: var(--shadow-md);
}
.ui-sortie-jeu-image {
  position: relative;
  display: grid;
  flex: none;
  place-items: center;
  width: 11rem;
  min-height: 7rem;
  background: var(--surface-douce);
}
.ui-sortie-jeu-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ui-sortie-jeu-image-numero { color: var(--color-primary); font-size: var(--fs-h4); font-weight: var(--fw-bold); line-height: 1; }
.ui-sortie-jeu-activites--liste .ui-sortie-jeu-activite { align-items: flex-start; gap: var(--space-3); padding: var(--space-3); }
.ui-sortie-jeu-activites--liste .ui-sortie-jeu-corps { padding: 0; }
.ui-sortie-jeu-numero {
  display: grid;
  flex: none;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-pill);
  background: var(--surface-douce);
  color: var(--color-primary);
  font-weight: var(--fw-bold);
}
.ui-sortie-jeu-corps { display: flex; flex-direction: column; justify-content: center; gap: var(--space-1); min-width: 0; padding: var(--space-3); font-size: var(--fs-sm); color: var(--text-muted); }
.ui-sortie-jeu-corps strong { color: var(--color-titre); font-size: var(--fs-base); }
.ui-sortie-jeu-pied { display: flex; justify-content: flex-end; margin-top: var(--space-4); }
.ui-sortie-jeu-attente { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-4) 0 0; color: var(--text-muted); font-weight: var(--fw-semibold); }
.ui-sortie-jeu-attente .material-symbols-outlined { color: var(--color-primary); }
@media (max-width: 575.98px) {
  .ui-sortie-jeu-image { width: 7.5rem; }
  .ui-sortie-jeu-pied .ui-btn { flex: 1; justify-content: center; }
}
.ui-classement.is-poules .ui-classement-nav { display: none; }
.ui-classement-ecran--poules { padding: 0; overflow: hidden; }
.ui-classement.is-poules .ui-classement-tete, .ui-classement.is-poules .ui-classement-qr { display: none; }
.ui-classement-ecran--poules::after { content: none; }
.ui-poules-terrain { position: absolute; inset: 0; overflow: hidden; background: var(--color-dark); }
.ui-poules-terrain { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.ui-poules-toile { position: absolute; inset: 0; display: block; width: 100%; height: 100%; touch-action: none; }
.ui-poules-hud { position: absolute; inset: 0 0 auto 0; display: flex; justify-content: space-between; align-items: flex-start; padding: calc(var(--space-2) + env(safe-area-inset-top)) calc(var(--space-3) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-3) + env(safe-area-inset-left)); pointer-events: none; }
.ui-poules-hud[hidden] { display: none; }
.ui-poules-camp, .ui-poules-chrono { display: flex; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 70%, transparent); color: var(--white); font-family: var(--font-titre); font-weight: 800; font-size: var(--fs-lead); }
.ui-poules-camp strong { font-size: var(--fs-h4); font-weight: 900; }
.ui-poules-camp--rousses strong { color: var(--color-secondary); }
.ui-poules-chrono { font-size: var(--fs-h3); font-weight: 900; font-variant-numeric: tabular-nums; }
.ui-poules-chrono.is-urgent { color: var(--color-secondary); }
.ui-poules-oeufs { display: flex; align-items: flex-end; gap: var(--space-1); }
.ui-poules-oeufs i { display: block; width: 0.7em; height: 0.92em; border-radius: var(--radius-pill); background: var(--white); }
.ui-poules-camp--rousses .ui-poules-oeufs i { background: var(--color-secondary); }
.ui-poules-oeufs i.is-mort { opacity: 0.25; }
.ui-poules-voile { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: safe center; gap: var(--space-2); padding: var(--space-3); overflow: hidden; background: color-mix(in srgb, var(--color-dark) 55%, transparent); color: var(--white); text-align: center; }
.ui-poules-voile[hidden] { display: none; }
.ui-poules-logo { flex: 0 0 auto; width: auto; height: 26%; max-width: 46%; object-fit: contain; transform: rotate(-4deg); animation: ui-poules-chute 1.6s cubic-bezier(0.3, 0, 0.3, 1) both; }
@keyframes ui-poules-chute {
  0%   { transform: translateY(-120vh) rotate(0deg) scale(1); }
  35%  { transform: translateY(4%) rotate(0deg) scale(1); }
  48%  { transform: translateY(-10%) rotate(0deg) scale(1); }
  60%  { transform: translateY(2%) rotate(0deg) scale(1); }
  68%  { transform: translateY(0) rotate(0deg) scale(1); }
  82%  { transform: translateY(0) rotate(-2deg) scale(1.12); }
  100% { transform: translateY(0) rotate(-4deg) scale(1); }
}
.ui-poules-texte { margin: 0; max-width: 46rem; padding: var(--space-3) var(--space-4); border-radius: var(--radius); background: color-mix(in srgb, var(--color-dark) 40%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--font-titre); font-weight: 800; font-size: var(--fs-h4); }
.ui-poules-voile.is-fin .ui-poules-texte { font-size: var(--fs-h2); }
.ui-poules-rebours { margin: 0; font-family: var(--font-titre); font-weight: 900; font-size: var(--fs-display-1); line-height: 1; }
.ui-poules-joueurs { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); max-width: 60rem; margin: 0; padding: 0; list-style: none; }
.ui-poules-joueur { padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--white) 12%, transparent); font-weight: 700; opacity: 0.55; }
.ui-poules-joueur.is-pret { opacity: 1; background: color-mix(in srgb, var(--white) 25%, transparent); }
.ui-poules-joueur--rousses { color: var(--color-secondary); }
.ui-poules-qr { width: 12%; max-width: 200px; flex-shrink: 0; padding: var(--space-2); border-radius: var(--radius-sm); background: var(--white); }
.ui-poules-qr svg { display: block; width: 100%; height: auto; }
.ui-poules-bouton { animation: ui-poules-rebond 0.7s cubic-bezier(0.3, 1.6, 0.5, 1) both; }
.ui-poules-bouton.ui-btn-primary { background: var(--color-brand-pink); border-color: var(--color-brand-pink); }
.ui-poules-bouton.ui-btn-primary:hover { background: color-mix(in srgb, var(--color-brand-pink) 90%, var(--color-dark)); border-color: color-mix(in srgb, var(--color-brand-pink) 90%, var(--color-dark)); }
@keyframes ui-poules-rebond {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.15); opacity: 1; }
  80%  { transform: scale(0.95); }
  100% { transform: scale(1); opacity: 1; }
}
.ui-poules-coq { position: absolute; left: calc(var(--space-3) + env(safe-area-inset-left)); bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); display: grid; justify-items: center; gap: var(--space-1); padding: 0; border: 0; background: none; color: var(--white); font-weight: 900; cursor: pointer; }
.ui-poules-coq[hidden] { display: none; }
.ui-poules-coq-icone { display: block; width: 5rem; aspect-ratio: 1; border-radius: var(--radius-pill); background: url(/assets/jeux/poules/coq.webp) 50% 50% / 500% 300% no-repeat, var(--color-secondary); box-shadow: var(--shadow-md); outline: 4px solid var(--color-dark); animation: ui-poules-pouls 0.9s ease-in-out infinite; }
@keyframes ui-poules-pouls { 50% { transform: scale(1.1); } }
.ui-poules-coq.is-karate .ui-poules-coq-icone { background: url(/assets/jeux/poules/poule-blanche-karate.webp) 25% 50% / 500% 300% no-repeat, var(--color-secondary); }
.ui-poules-coq.is-karate.is-rousse .ui-poules-coq-icone { background-image: url(/assets/jeux/poules/poule-rousse-karate.webp); }
.ui-poules-coq.is-oeuf .ui-poules-coq-icone { background: url(/assets/jeux/poules/oeuf-blanc.webp) 75% 100% / 500% 200% no-repeat, var(--color-secondary); }
.ui-poules-coq.is-oeuf.is-rousse .ui-poules-coq-icone { background-image: url(/assets/jeux/poules/oeuf-roux.webp); }
.ui-poules-coq.is-vise .ui-poules-coq-icone { animation: none; outline-color: var(--white); transform: scale(0.92); }
.ui-poules-toile.is-joueur { cursor: url(/assets/jeux/poules/viseur-mire.svg) 22 22, crosshair; }
.ui-poules-toile.is-ponte { cursor: url(/assets/jeux/poules/cible.svg) 24 24, crosshair; }
.ui-poules-coq-texte { padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 70%, transparent); font-size: var(--fs-sm); }
@media (prefers-reduced-motion: reduce) { .ui-poules-logo, .ui-poules-bouton, .ui-poules-coq-icone { animation: none; } }
.ui-poules-voile.is-presentation { justify-content: flex-end; gap: var(--space-6); padding-bottom: 7%; background: url(/assets/jeux/poules/demarrage.webp) center / cover no-repeat, var(--color-dark); }
.ui-poules-voile.is-presentation .ui-poules-logo { height: 38%; filter: drop-shadow(0 6px 10px color-mix(in srgb, var(--color-dark) 40%, transparent)); }
.ui-poules-voile.is-presentation .ui-poules-quitter { background: color-mix(in srgb, var(--color-dark) 70%, transparent); }
.ui-poules-voile.is-presentation .ui-poules-texte { padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 70%, transparent); }
.ui-poules-voile .ui-poules-logo[hidden], .ui-poules-voile [data-poules-texte][hidden] { display: none; }
.ui-poules-voile .ui-poules-jouer { padding: var(--space-3) var(--space-6); border-radius: var(--radius-pill); font-family: var(--font-titre); font-size: var(--fs-h2); font-weight: 900; box-shadow: var(--shadow-md); animation: ui-poules-rebond 0.7s cubic-bezier(0.3, 1.6, 0.5, 1) 1.6s both; }
@media (min-width: 1200px) { .ui-poules-voile .ui-poules-jouer { padding: var(--space-3) var(--space-7); font-size: var(--fs-display-5); } }
@media (max-width: 900px) {
  .ui-poules-voile .ui-poules-jouer { padding: var(--space-2) var(--space-5); font-size: var(--fs-h4); }
  .ui-poules-voile.is-presentation { gap: var(--space-2); padding-bottom: var(--space-3); }
  .ui-poules-voile.is-presentation .ui-poules-logo { height: 30%; }
}
.ui-poules-voile .ui-poules-choix { padding: var(--space-2) var(--space-5); border-radius: var(--radius-pill); font-family: var(--font-titre); font-size: var(--fs-h5); font-weight: 800; animation: ui-poules-rebond 0.7s cubic-bezier(0.3, 1.6, 0.5, 1) 1.6s both; }
@media (max-width: 900px) { .ui-poules-voile .ui-poules-choix { padding: var(--space-1) var(--space-4); font-size: var(--fs-base); } }
.ui-poules-voile .ui-poules-annuler { padding: var(--space-2) var(--space-5); border-radius: var(--radius-pill); font-family: var(--font-titre); font-size: var(--fs-h5); font-weight: 800; }
@media (max-width: 900px) { .ui-poules-voile .ui-poules-annuler { padding: var(--space-1) var(--space-4); font-size: var(--fs-base); } }
@media (prefers-reduced-motion: reduce) { .ui-poules-voile .ui-poules-jouer, .ui-poules-voile .ui-poules-choix { animation: none; } }
.ui-poules-appli { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: safe center; gap: var(--space-3); padding: var(--space-4); overflow: auto; background: linear-gradient(color-mix(in srgb, var(--color-dark) 70%, transparent), color-mix(in srgb, var(--color-dark) 70%, transparent)), url(/assets/jeux/poules/demarrage.webp) center / cover no-repeat, var(--color-dark); color: var(--white); text-align: center; }
.ui-poules-appli[hidden] { display: none; }
.ui-poules-appli-logo { width: min(16rem, 70%); height: auto; }
.ui-poules-appli-carte { display: flex; flex-direction: column; gap: var(--space-2); max-width: 28rem; padding: var(--space-4); border-radius: var(--radius); background: var(--white); color: var(--color-dark); box-shadow: var(--shadow-md); }
.ui-poules-appli-titre { margin: 0; font-family: var(--font-titre); font-weight: 900; font-size: var(--fs-h3); color: var(--color-dark); }
.ui-poules-appli-texte { margin: 0; max-width: 26rem; font-weight: 700; font-size: var(--fs-base); }
.ui-poules-appli-sans { margin: var(--space-4) 0 0; padding-top: var(--space-4); border-top: 1px solid color-mix(in srgb, var(--white) 40%, transparent); font-weight: 700; font-size: var(--fs-sm); }
.ui-poules-appli .ui-poules-appli-installer { padding: var(--space-2) var(--space-5); border: 0; border-radius: var(--radius-pill); background: var(--white); color: var(--color-dark); font-family: var(--font-titre); font-size: var(--fs-h5); font-weight: 800; }
.ui-poules-appli .ui-poules-appli-installer:hover { background: color-mix(in srgb, var(--white) 90%, var(--color-dark)); color: var(--color-dark); }
.ui-poules-sortie { position: absolute; right: calc(var(--space-3) + env(safe-area-inset-right)); bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); z-index: 1; display: flex; align-items: center; justify-content: center; gap: var(--space-1); min-width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid color-mix(in srgb, var(--white) 40%, transparent); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 25%, transparent); color: color-mix(in srgb, var(--white) 90%, transparent); font-family: var(--font-titre); font-weight: 800; font-size: var(--fs-base); text-decoration: none; cursor: pointer; }
.ui-poules-plein { position: absolute; left: calc(var(--space-3) + env(safe-area-inset-left)); bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); z-index: 1; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid color-mix(in srgb, var(--white) 40%, transparent); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-dark) 25%, transparent); color: color-mix(in srgb, var(--white) 90%, transparent); cursor: pointer; }
.ui-poules-plein[hidden], .ui-poules-voile.is-presentation ~ .ui-poules-plein { display: none; }
.ui-poules-plein:hover { background: color-mix(in srgb, var(--color-dark) 90%, transparent); color: var(--white); }
.ui-poules-sortie:hover { background: color-mix(in srgb, var(--color-dark) 90%, transparent); color: var(--white); }
.ui-poules-sortie .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-poules-sortie.is-confirme { padding: 0 var(--space-3); background: color-mix(in srgb, var(--color-dark) 90%, transparent); border-color: var(--white); color: var(--white); }
.ui-poules-sortie.is-confirme::after { content: attr(data-confirme); }
.ui-poules-voile.is-presentation ~ .ui-poules-sortie { display: none; }
@media (max-width: 900px) { .ui-poules-sortie { right: calc(var(--space-2) + env(safe-area-inset-right)); bottom: calc(var(--space-2) + env(safe-area-inset-bottom)); min-width: 2.25rem; height: 2.25rem; } }
.ui-poules-quitter { color: var(--white); border-color: var(--white); }
.ui-poules-quitter:hover { background: var(--white); color: var(--color-dark); }
.ui-poules-quitter[hidden] { display: none; }
.ui-poules-tourne { display: none; position: absolute; left: 0; right: 0; bottom: var(--space-4); z-index: 1; margin: 0; padding: 0 var(--space-3); color: var(--white); font-weight: 700; font-size: var(--fs-sm); text-align: center; pointer-events: none; }
@media (max-width: 900px) {
  .ui-poules-hud { padding: calc(var(--space-1) + env(safe-area-inset-top)) calc(var(--space-1) + env(safe-area-inset-right)) var(--space-1) calc(var(--space-1) + env(safe-area-inset-left)); }
  .ui-poules-camp, .ui-poules-chrono { gap: var(--space-1); padding: var(--space-1) var(--space-2); font-size: var(--fs-caption); }
  .ui-poules-camp strong, .ui-poules-chrono { font-size: var(--fs-sm); }
  .ui-poules-camp-nom { display: none; }
  .ui-poules-texte, .ui-poules-voile.is-fin .ui-poules-texte { font-size: var(--fs-sm); }
  .ui-poules-rebours { font-size: var(--fs-display-6); }
  .ui-poules-joueur { padding: 0 var(--space-2); font-size: var(--fs-caption); }
  .ui-poules-voile { gap: var(--space-1); padding: var(--space-2); }
  .ui-poules-bouton, .ui-poules-quitter { padding: var(--space-1) var(--space-3); font-size: var(--fs-sm); }
  .ui-poules-coq { left: var(--space-2); bottom: var(--space-2); }
  .ui-poules-coq-icone { width: 3.5rem; }
  .ui-poules-coq-texte { font-size: var(--fs-caption); }
}
@media (max-width: 900px) and (orientation: portrait) {
  .ui-classement.is-joueur .ui-poules-tourne { display: block; }
  .ui-poules-oeufs { display: none; }
}
.ui-section.ui-guide { padding-top: calc(var(--space-7) - var(--space-4)); }
@media (max-width: 560px) {
  .ui-section.ui-guide { padding-top: calc(var(--space-6) - var(--space-4)); }
}
.ui-guide-tete { margin-bottom: var(--space-5); }
.ui-guide-meta { margin: var(--space-3) 0 0; font-size: var(--fs-sm); color: var(--text-muted); }
.ui-guide-grille { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1fr); }
.ui-guide-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: var(--space-4); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.ui-guide-intro > p:last-child { margin-bottom: 0; }
.ui-guide-sommaire { padding: var(--space-4); background: var(--surface-card); border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.ui-guide-sommaire-titre { margin-bottom: var(--space-3); font-weight: var(--fw-bold); color: var(--color-titre); }
.ui-guide-sommaire ul { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.ui-guide-sommaire a { font-size: var(--fs-sm); color: var(--color-primary); }
.ui-guide-sommaire a:hover { text-decoration: underline; }
.ui-guide-partie { scroll-margin-top: var(--space-6); }
.ui-guide-partie + .ui-guide-partie { margin-top: var(--space-5); }
.ui-guide-partie h2 { margin-bottom: var(--space-3); font-size: var(--fs-h4); line-height: var(--lh-heading); color: var(--color-titre); }
.ui-guide-partie h3 { margin: var(--space-4) 0 var(--space-2); font-size: var(--fs-h5); line-height: var(--lh-heading); color: var(--color-titre); }
.ui-guide-partie > :last-child { margin-bottom: 0; }
.ui-guide-partie li + li { margin-top: var(--space-2); }
.ui-guide-partie a { color: var(--color-primary); text-decoration: underline; }
.ui-guide-partie strong { color: var(--text); }
@media (min-width: 992px) {
  .ui-guide-grille { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-areas: "intro cote" "corps cote"; }
  .ui-guide-intro { grid-area: intro; }
  .ui-guide-corps { grid-area: corps; }
  .ui-guide-cote { grid-area: cote; }
  .ui-guide-sommaire { position: sticky; top: var(--space-5); }
}
.ui-classement.is-avant .ui-classement-nav,
.ui-classement.is-avant .ui-classement-qr { display: none; }
.ui-classement-ecran--avant { justify-content: center; }
.ui-classement-avant { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-5); align-items: center; width: min(100%, 110rem); text-align: left; }
.ui-classement-avant-corps { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.ui-classement-avant-corps > * { margin: 0; }
.ui-classement-avant-surtitre { font-size: var(--fs-h5); font-weight: var(--fw-bold); color: var(--accent-sur-sombre); }
.ui-classement-avant-titre { margin: 0; font-family: var(--font-titre); font-size: var(--fs-display-5); font-weight: 800; line-height: 1.05; color: var(--on-dark); }
.ui-classement-avant-debut { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-h4); color: var(--on-dark-muted); }
.ui-classement-avant-dans { padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); color: var(--on-dark); font-size: var(--fs-h5); }
.ui-classement-avant-chiffres { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--space-3); margin: var(--space-4) 0 var(--space-4) !important; }
.ui-classement-avant-chiffre { display: flex; flex-direction: column; margin: 0; padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); color: var(--on-dark-muted); font-size: var(--fs-sm); }
.ui-classement-avant-chiffre strong { color: var(--on-dark); font-size: var(--fs-h3); line-height: 1.1; }
.ui-classement-avant-manque { display: flex; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); color: var(--accent-sur-sombre); font-size: var(--fs-h5); }
.ui-classement-avant-manque[hidden], .ui-classement-avant-arrive[hidden] { display: none; }
.ui-classement-avant-arrive { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: var(--color-secondary); color: var(--color-dark); font-size: var(--fs-h5); animation: ui-borne-monte 0.6s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-avant-arrive strong { font-weight: var(--fw-bold); }
.ui-classement-avant-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-classement-avant-liste > li { overflow: hidden; padding: var(--space-2) var(--space-3); border: 1px solid var(--border-on-dark); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); color: var(--on-dark); font-size: var(--fs-h5); white-space: nowrap; text-overflow: ellipsis; }
.ui-classement-avant-liste > li.is-autres { color: var(--on-dark-muted); }
.ui-classement-avant-qr { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-4); border-radius: var(--radius-lg); background: var(--white); color: var(--color-dark); text-align: center; }
.ui-classement-avant-qr > p { margin: 0; }
.ui-classement-avant-code { width: min(100%, 55vh); }
.ui-classement-avant-code svg { display: block; width: 100%; height: auto; }
.ui-classement-avant-qr-titre { margin-top: var(--space-2) !important; font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; }
.ui-classement-avant-qr-texte { font-size: var(--fs-h5); color: var(--text-muted); }
@media (max-width: 991.98px) {
  .ui-classement-avant { grid-template-columns: minmax(0, 1fr); }
  .ui-classement-avant-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ui-classement-avant-absents-titre { margin-top: var(--space-3) !important; color: var(--on-dark-subtle); font-size: var(--fs-base); font-weight: var(--fw-bold); }
.ui-classement-avant-absents-titre[hidden], .ui-classement-avant-liste[hidden] { display: none; }
.ui-classement-avant-liste--absents > li { border-style: dashed; background: transparent; color: var(--on-dark-subtle); }
.ui-classement-ecran--avant.is-complet .ui-classement-avant-code { opacity: 0.15; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-liste,
.ui-classement-ecran--avant.is-clos .ui-classement-avant-absents-titre,
.ui-classement-ecran--avant.is-clos .ui-classement-avant-arrive,
.ui-classement-ecran--avant.is-clos .ui-classement-avant-manque { display: none; }
.ui-classement-avant-terrains[hidden] { display: none; }
.ui-classement-rejoindre--avant { width: 100%; margin-top: var(--space-3); text-align: center; }
.ui-classement-avant-terrains-titre { margin: var(--space-4) 0 var(--space-3); font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; color: var(--accent-sur-sombre); }
.ui-classement-avant-tour { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.ui-classement-avant-tour > li { padding: var(--space-3) var(--space-4); border: 1px solid var(--border-on-dark); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); }
.ui-classement-avant-tour p { margin: 0; }
.ui-classement-avant-tour-terrain { margin-bottom: var(--space-2) !important; color: var(--accent-sur-sombre); font-size: var(--fs-base); font-weight: var(--fw-bold); }
.ui-classement-avant-tour-duel { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--space-3); color: var(--on-dark); font-size: var(--fs-h5); }
.ui-classement-avant-tour-duel span { display: flex; flex-direction: column; min-width: 0; }
.ui-classement-avant-tour-duel strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-classement-avant-tour-duel em { color: var(--on-dark-muted); font-size: var(--fs-sm); font-style: normal; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant { grid-template-columns: minmax(0, 1fr); width: min(100%, 110rem); text-align: center; }
@media (min-width: 1200px) {
  .ui-classement-ecran--avant.is-clos .ui-classement-avant { width: min(100%, 110rem, calc(100vw - 44rem)); }
}
.ui-classement-ecran--avant.is-clos .ui-classement-avant-debut { justify-content: center; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour > li { text-align: center; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-duel span { align-items: center; text-align: center; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-qr { display: none; }
.ui-classement.is-avant.is-avant-clos .ui-classement-qr { display: flex; opacity: 1; visibility: visible; transition: opacity 0.5s ease; }
.ui-classement.is-avant.is-avant-clos .ui-classement-qr-avant { visibility: hidden; }
.ui-classement.is-avant.is-avant-clos .ui-classement-qr-pendant { visibility: visible; }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-debut { font-size: var(--fs-h3); }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-dans { font-size: var(--fs-h4); }
.ui-classement-avant-dans.is-fini { background: color-mix(in srgb, var(--color-secondary) 25%, transparent); color: var(--accent-sur-sombre); }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-terrain { font-size: var(--fs-h5); }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-duel { font-size: var(--fs-h5); }
.ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-duel strong { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 991.98px) {
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-tour { grid-template-columns: minmax(0, 1fr); }
}
.ui-classement-ecran--avant.is-clos .ui-classement-avant-chiffres { display: none; }
.ui-classement-ecran--avant .ui-classement-avant { margin-top: calc(-2 * (var(--space-5) + var(--space-3) - var(--space-1))); }
.ui-classement-avant-annonce { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-3); text-align: center; animation: ui-borne-pop 0.7s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-avant-annonce[hidden] { display: none; }
.ui-classement-avant-annonce > p { margin: 0; }
.ui-classement-avant-annonce-titre { font-family: var(--font-titre); font-size: var(--fs-display-4); font-weight: 800; line-height: 1.05; color: var(--on-dark); }
.ui-classement-avant-annonce-texte { font-size: var(--fs-h3); color: var(--accent-sur-sombre); font-weight: var(--fw-bold); }
.ui-classement-ecran--avant.is-annonce .ui-classement-avant { visibility: hidden; }
.ui-classement-ecran--avant.is-clos:not(.is-annonce) .ui-classement-avant { animation: ui-borne-monte 0.7s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement.is-avant:has(.ui-classement-ecran--avant.is-annonce) .ui-classement-qr { opacity: 0; }
.ui-classement-compteur { display: inline-flex; align-items: stretch; gap: var(--space-3); margin: 0; color: var(--on-dark-muted); font-size: var(--fs-h4); }
.ui-classement-compteur-badge { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); }
.ui-classement-compteur[hidden] { display: none; }
.ui-classement-compteur .material-symbols-outlined { font-size: var(--icon-lg); color: var(--accent-sur-sombre); }
.ui-classement-compteur .ui-classement-match-chrono { display: inline; font-family: var(--font-titre); font-size: var(--fs-h3); font-weight: 800; line-height: 1; color: var(--on-dark); font-variant-numeric: tabular-nums; }
.ui-classement-compteur .ui-classement-match-chrono.is-fini { color: var(--accent-sur-sombre); }
.ui-classement-compteur:has(.is-fini) .ui-classement-compteur-badge:last-child { background: color-mix(in srgb, var(--color-secondary) 25%, transparent); }
.ui-classement-prochains ol > li:not(.ui-classement-prochains-tour) { display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto minmax(0, 1fr) 8rem; align-items: center; gap: var(--space-4); font-size: var(--fs-h5); }
.ui-classement-prochains ol > li:not(.ui-classement-prochains-tour)::after { content: ""; }
.ui-classement-prochains ol > li:not(.ui-classement-prochains-tour) .ui-classement-prochains-numero { text-align: left; }
.ui-classement-prochains-joueurs { min-width: 0; color: var(--on-dark); font-weight: var(--fw-bold); overflow-wrap: anywhere; }
.ui-classement-prochains-joueurs:first-of-type { text-align: right; }
.ui-classement-prochains-joueurs:last-of-type { text-align: left; }
.ui-classement-prochains-contre { color: var(--on-dark-muted); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.05em; }
@media (min-width: 1200px) {
  .ui-classement-activites.ui-classement-activites--matchs { width: min(100%, 84rem, calc(100vw - 44rem)); }
}
.ui-classement-prochains-numero small { display: block; font-size: var(--fs-caption); font-weight: var(--fw-normal); }
.ui-classement-activites--matchs > li.is-juste-fini > .ui-classement-activite { animation: ui-match-fini 0.9s ease-in-out 2; }
@keyframes ui-match-fini { 50% { transform: scale(1.02); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-sur-sombre) 40%, transparent); } }
.ui-classement-activites--matchs > li.is-sort { animation: ui-match-sort 0.6s ease-in forwards; }
@keyframes ui-match-sort { to { opacity: 0; transform: scale(0.96); } }
.ui-classement-et { color: var(--on-dark-soft); font-size: var(--fs-sm); font-weight: var(--fw-bold); vertical-align: middle; }
.ui-classement-activites--matchs > li.is-points .ui-classement-match-score { animation: ui-borne-pop 0.6s cubic-bezier(.2, .8, .2, 1) 0.2s both; }
.ui-classement-activites--matchs > li.is-points .ui-classement-match-equipe.is-gagnante { animation: ui-match-gagne 0.8s ease-out 1.2s both; }
@keyframes ui-match-gagne { from { color: var(--on-dark); } }
.ui-classement.is-tournoi[data-vue="activites"] .ui-classement-qr { opacity: 1; visibility: visible; transition: opacity 0.5s ease; }
.ui-classement-compteur.is-pause .ui-classement-compteur-badge:last-child { background: color-mix(in srgb, var(--color-secondary) 25%, transparent); }
.ui-classement-compteur.is-pause .ui-classement-match-chrono { color: var(--accent-sur-sombre); }
@media (max-width: 1199.98px) {
  .ui-classement.is-avant.is-avant-clos .ui-classement-qr,
  .ui-classement.is-tournoi[data-vue="activites"] .ui-classement-qr { display: none; }
}
@media (max-width: 767.98px) {
  .ui-classement-ecran--avant { justify-content: flex-start; }
  .ui-classement-ecran--avant .ui-classement-avant { margin-top: 0; }
  .ui-classement-avant-titre { display: none; }
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-debut { flex-wrap: wrap; font-size: var(--fs-h5); }
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-dans { font-size: var(--fs-base); white-space: nowrap; }
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-tour > li { text-align: center; }
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-duel { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); font-size: var(--fs-base); }
  .ui-classement-avant-tour-duel span { flex-flow: row wrap; justify-content: center; column-gap: var(--space-1); text-align: center; }
  .ui-classement-ecran--avant.is-clos .ui-classement-avant-tour-duel strong { white-space: nowrap; }
  .ui-classement-avant-tour-duel strong + strong::before { content: "&"; margin-right: var(--space-1); color: var(--on-dark-soft); font-size: var(--fs-sm); }
  .ui-classement-avant-tour-duel em { color: var(--on-dark-soft); font-weight: var(--fw-bold); text-transform: uppercase; }
}
.ui-classement-lancer-tour { display: flex; justify-content: center; margin: var(--space-2) 0 0 !important; }
.ui-classement-lancer-tour:not(:has(button:not([hidden]))) { display: none; }
.ui-classement-lancer-tour > .btn { width: 100%; }
@media (min-width: 768px) { .ui-classement-lancer-tour { display: none; } }
.ui-classement-tete:has(.ui-classement-deconnexion) .ui-classement-logo { margin-right: auto; }
.ui-classement-scores { position: relative; }
.ui-classement-scores[hidden] { display: none; }
.ui-classement-scores-nombre { position: absolute; top: calc(-1 * var(--space-1)); right: calc(-1 * var(--space-1)); min-width: 1.375rem; padding: 0 var(--space-1); border-radius: var(--radius-pill); background: var(--color-secondary); color: var(--color-dark); font-size: var(--fs-caption); font-weight: var(--fw-bold); line-height: 1.375rem; text-align: center; }
.ui-classement-manquants-liste { display: flex; flex-direction: column; gap: var(--space-2); max-height: 55vh; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.ui-classement-manquants-ligne { display: flex; flex-direction: column; gap: var(--space-1); width: 100%; padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--white); color: var(--color-dark); font-weight: var(--fw-semibold); text-align: left; }
.ui-classement-manquants-liste > li.is-sort { animation: ui-match-sort 0.6s ease-in forwards; }
.ui-classement-manquants-ligne small { color: var(--text-muted); font-size: var(--fs-caption); font-weight: var(--fw-bold); }
@media (max-width: 767.98px) { .is-ouvrable { cursor: pointer; } }
.ui-classement-fenetre[data-regie-fenetre] .ui-classement-actions { margin-top: var(--space-2); }
.ui-classement-fenetre[data-regie-fenetre] .ui-classement-actions > [hidden] { display: none; }
@media (max-width: 767.98px) {
  .ui-classement.is-tournoi .ui-classement-ecran--activites .ui-classement-lead { display: none; }
  .ui-classement-compteur { font-size: var(--fs-base); }
  .ui-classement-compteur .material-symbols-outlined { font-size: var(--icon-sm); }
  .ui-classement-compteur .ui-classement-match-chrono { font-size: var(--fs-h4); }
  .ui-classement-activites--matchs .ui-classement-match { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .ui-classement-activites--matchs .ui-classement-match-contre { justify-self: center; }
  .ui-classement-activites--matchs .ui-classement-match-equipe strong { font-size: var(--fs-base); line-height: 1.3; }
  .ui-classement-activites--matchs .ui-classement-binome-nom { white-space: nowrap; }
  .ui-classement-activites--matchs .ui-classement-match-equipe:has(.ui-classement-membres li) > strong { font-size: var(--fs-h4); }
  .ui-classement-activites--matchs .ui-classement-match:has(.ui-classement-membres li) .ui-classement-match-contre { margin-block: var(--space-2); }
  .ui-classement-prochains ol > li:not(.ui-classement-prochains-tour) { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); text-align: center; font-size: var(--fs-base); }
  .ui-classement-prochains ol > li:not(.ui-classement-prochains-tour)::after { content: none; }
  .ui-classement-prochains ol > li:not(.ui-classement-prochains-tour) .ui-classement-prochains-numero,
  .ui-classement-prochains ol .ui-classement-prochains-joueurs { text-align: center; }
  .ui-classement-activites--matchs .ui-classement-activite-etat { margin-bottom: var(--space-2); font-size: var(--fs-caption); }
}
.ui-classement.is-joueur.is-tournoi .ui-classement-statut--tirage { display: none; }
.ui-classement-mes-matchs > li.is-mien > .ui-classement-activite { border: 2px solid var(--accent-sur-sombre); }
.ui-classement-mes-matchs > li.is-a-venir > .ui-classement-activite { border-style: dashed; }
.ui-classement-mes-repos { padding: var(--space-3); border: 1px dashed var(--border-on-dark); border-radius: var(--radius-md); color: var(--on-dark-muted); font-size: var(--fs-base); text-align: center; }
.ui-classement.is-joueur-attente .ui-classement-nav,
.ui-classement.is-joueur-attente [data-ecran="activites"] .ui-classement-titre,
.ui-classement.is-joueur-attente [data-ecran="activites"] .ui-classement-compteur { display: none; }
.ui-classement-mes-matchs { gap: var(--space-3); }
.ui-classement-mes-tete { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-2) 0 var(--space-3); text-align: center; }
.ui-classement-mes-tete > p { margin: 0; }
.ui-classement-mes-tete > .material-symbols-outlined { font-size: var(--icon-xl); color: var(--accent-sur-sombre); }
.ui-classement-mes-bienvenue { font-family: var(--font-titre); font-size: var(--fs-h2); font-weight: 800; line-height: 1.1; color: var(--on-dark); }
.ui-classement-mes-format { color: var(--accent-sur-sombre); font-size: var(--fs-h5); font-weight: var(--fw-bold); }
.ui-classement-mes-section { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--border-on-dark); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); text-align: left; }
.ui-classement-mes-section > p { margin: 0; }
.ui-classement-mes-section-titre { display: flex; align-items: center; gap: var(--space-2); color: var(--accent-sur-sombre); font-size: var(--fs-sm); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.04em; }
.ui-classement-mes-section-titre .material-symbols-outlined { font-size: var(--icon-sm); }
.ui-classement-mes-tuiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.ui-classement-mes-tuile { display: flex; flex-direction: column; margin: 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); color: var(--on-dark-muted); font-size: var(--fs-sm); }
.ui-classement-mes-tuile strong { color: var(--on-dark); font-size: var(--fs-h4); line-height: 1.2; }
.ui-classement-mes-dans { justify-self: center; align-self: center; width: fit-content; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); color: var(--on-dark); font-size: var(--fs-base); }
.ui-classement-mes-texte { color: var(--on-dark); font-size: var(--fs-base); }
.ui-classement-mes-badges { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-classement-mes-badges > li { padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--on-dark) 12%, transparent); color: var(--on-dark); font-size: var(--fs-sm); }
.ui-classement-mes-badges > li.is-moi { background: var(--color-secondary); color: var(--color-dark); font-weight: var(--fw-bold); }
.ui-classement.is-joueur-depart [data-ecran="activites"] .ui-classement-titre,
.ui-classement.is-joueur-depart [data-ecran="activites"] .ui-classement-compteur { display: none; }
.ui-classement-mes-tete .ui-classement-mes-dans { margin-top: var(--space-1); }
.ui-classement-mes-premier { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: 2px solid var(--accent-sur-sombre); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); text-align: center; }
.ui-classement-mes-premier > p { margin: 0; }
.ui-classement-mes-premier-terrain { color: var(--accent-sur-sombre); font-size: var(--fs-h5); font-weight: var(--fw-bold); }
.ui-classement-mes-premier-avec, .ui-classement-mes-premier-contre { display: flex; flex-direction: column; gap: var(--space-1); }
.ui-classement-mes-premier-avec > span, .ui-classement-mes-premier-contre > span { color: var(--on-dark-soft); font-size: var(--fs-sm); font-weight: var(--fw-bold); text-transform: uppercase; }
.ui-classement-mes-premier-avec > strong { color: var(--on-dark); font-family: var(--font-titre); font-size: var(--fs-h3); line-height: 1.15; }
.ui-classement-mes-premier-avec > small { color: var(--on-dark-muted); font-size: var(--fs-sm); }
.ui-classement-mes-premier-contre > strong { color: var(--on-dark); font-size: var(--fs-h5); }
.ui-classement-mes-planning { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ui-classement-mes-planning > li { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-2) var(--space-3); border: 1px dashed var(--border-on-dark); border-radius: var(--radius-md); color: var(--on-dark); font-size: var(--fs-sm); }
.ui-classement-mes-planning > li small { color: var(--accent-sur-sombre); font-size: var(--fs-caption); font-weight: var(--fw-bold); }
.ui-classement-mes-planning > li.is-repos { color: var(--on-dark-muted); }
.ui-classement-ecran--activites.is-annonce > :not(.ui-classement-avant-annonce) { visibility: hidden; }
.ui-classement-mes-annonce { padding: var(--space-4); }
.ui-classement-mes-annonce > p { margin: 0; }
.ui-classement-mes-annonce-disque { display: grid; place-items: center; width: 5.5rem; height: 5.5rem; border-radius: 50%; background: var(--color-secondary); color: var(--color-dark); animation: ui-borne-pop 0.7s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-mes-annonce-disque .material-symbols-outlined { font-size: var(--icon-xl); }
.ui-classement-mes-annonce-surtitre { color: var(--accent-sur-sombre); font-size: var(--fs-base); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: 0.04em; }
.ui-classement-mes-annonce .ui-classement-avant-annonce-titre { font-size: var(--fs-h2); }
.ui-classement-mes-annonce-carte { display: flex; flex-direction: column; gap: var(--space-1); width: 100%; margin-top: var(--space-3); padding: var(--space-4); border: 2px solid var(--accent-sur-sombre); border-radius: var(--radius-md); background: color-mix(in srgb, var(--on-dark) 6%, transparent); color: var(--on-dark); animation: ui-borne-monte 0.7s 1.2s cubic-bezier(.2, .8, .2, 1) both; }
.ui-classement-mes-annonce-carte small { color: var(--on-dark-soft); font-size: var(--fs-sm); font-weight: var(--fw-bold); text-transform: uppercase; }
.ui-classement-mes-annonce-carte strong { color: var(--accent-sur-sombre); font-family: var(--font-titre); font-size: var(--fs-h3); }
.ui-classement-mes-annonce-carte span { font-size: var(--fs-h5); font-weight: var(--fw-bold); }
.ui-classement-mes-annonce-carte .ui-classement-mes-annonce-contre { color: var(--on-dark-muted); font-size: var(--fs-base); font-weight: var(--fw-semibold); }
.ui-classement-mes-annonce-carte.is-tard { animation-delay: 0s; }
.ui-classement.is-joueur-jeu [data-ecran="activites"] .ui-classement-titre { display: none; }
.ui-classement-mes-encoder { width: 100%; justify-content: center; }
.ui-classement-mes-resultat { margin: 0; color: var(--on-dark); font-family: var(--font-titre); font-size: var(--fs-h4); font-weight: 800; }
.ui-classement-mes-resultat.is-gagne { color: var(--accent-sur-sombre); }
.ui-classement-mes-premier.is-repos { border-style: dashed; border-color: var(--border-on-dark); }
.ui-classement-mes-planning > li strong { color: var(--on-dark); font-size: var(--fs-sm); }
.ui-classement-mes-planning > li strong.is-gagne { color: var(--accent-sur-sombre); }
.ui-classement-mes-planning > li.is-a-encoder { border-style: solid; border-color: var(--accent-sur-sombre); cursor: pointer; }
.ui-classement-mes-planning > li.is-a-encoder strong { color: var(--accent-sur-sombre); }
.ui-classement.is-joueur-pause [data-ecran="activites"] .ui-classement-compteur { display: none; }
.ui-classement-mes-pause-dans { font-family: var(--font-titre); font-size: var(--fs-h4); font-weight: 800; font-variant-numeric: tabular-nums; }
.ui-classement-mes-pause-dans.is-fini { background: color-mix(in srgb, var(--color-secondary) 25%, transparent); color: var(--accent-sur-sombre); }
.ui-classement-mes-premier-titre { margin: 0; color: var(--on-dark); font-family: var(--font-titre); font-size: var(--fs-h4); font-weight: 800; }
.ui-classement.is-joueur-fin [data-ecran="activites"] .ui-classement-titre,
.ui-classement.is-joueur-fin [data-ecran="activites"] .ui-classement-compteur { display: none; }
.ui-classement-mes-place-rang { margin: 0; color: var(--on-dark); font-family: var(--font-titre); font-size: var(--fs-h2); font-weight: 800; line-height: 1.1; }
.ui-classement-mes-place-points { margin: 0; color: var(--accent-sur-sombre); font-size: var(--fs-h5); font-weight: var(--fw-bold); }
.ui-classement-mes-place.is-podium { background: color-mix(in srgb, var(--color-secondary) 25%, transparent); }
.ui-classement-mes-tuiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ui-classement-mes-tuiles--4 .ui-classement-mes-tuile { align-items: center; padding-inline: var(--space-1); text-align: center; }
.ui-classement-mes-classement { display: flex; flex-direction: column; gap: var(--space-1); margin: 0; padding: 0; list-style: none; }
.ui-classement-mes-classement > li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); color: var(--on-dark); font-size: var(--fs-base); }
.ui-classement-mes-classement > li.is-moi { background: var(--color-secondary); color: var(--color-dark); font-weight: var(--fw-bold); }
.ui-classement-mes-classement--podium > li { background: color-mix(in srgb, var(--on-dark) 6%, transparent); font-size: var(--fs-h5); }
.ui-classement-mes-rang { color: var(--accent-sur-sombre); font-weight: var(--fw-bold); text-align: center; }
.ui-classement-mes-classement > li.is-moi .ui-classement-mes-rang { color: var(--color-dark); }
.ui-classement-mes-nom { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767.98px) {
  .ui-classement.is-tournoi .ui-classement-ligne,
  .ui-classement.is-tournoi .ui-classement-liste[data-taille="longue"] .ui-classement-ligne { grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: var(--space-3); padding: var(--space-2) var(--space-3); font-size: var(--fs-base); }
  .ui-classement.is-tournoi .ui-classement-ligne--1 { font-size: var(--fs-h5); }
  .ui-classement.is-tournoi .ui-classement-rang { width: 2.5rem; height: 2.5rem; font-size: var(--fs-base); }
  .ui-classement.is-tournoi .ui-classement-total,
  .ui-classement.is-tournoi .ui-classement-ligne--1 .ui-classement-total { font-size: var(--fs-h4); }
}
.ui-classement-ligne.is-moi { border-color: var(--accent-sur-sombre); background: var(--color-secondary); color: var(--color-dark); }
.ui-classement-mes-badges--centre { justify-content: center; }
.ui-classement-mes-plus-tard { border-color: var(--border-on-dark-strong); color: var(--on-dark); }
.ui-classement-mes-plus-tard:hover, .ui-classement-mes-plus-tard:focus-visible { border-color: var(--on-dark); background: color-mix(in srgb, var(--on-dark) 12%, transparent); color: var(--on-dark); }
.ui-classement-mes-sans-nom { margin: 0; color: var(--on-dark-muted); font-size: var(--fs-sm); }
.ui-classement-avant-debut[hidden] { display: none; }
