/* utjb-photos.css - Galeries photos du Trail du Jura bernois (extension « UTJB Photos »).
   Charte : Design System UTJB v1.2. Base vert foncé #13353a + bleu La Grandiose #17a5b5, une couleur par
   parcours (jamais de texte de couleur sur fond clair : fonds, bordures, pastilles), Open Sans, radius 14 px max.
   Même famille que le bloc des Classements 1.2.0 : bande réduite aux éditions, cartes de course bordées de
   leur couleur. Préfixe des classes : up- .

   Règles face au thème d'utjb.ch (widgets Parcours et Classements, relevé du 29.09.2026) :
     1. aucune balise header, section, aside, footer ou nav dans le bloc ;
     2. chaque sélecteur commence par .utjb-photos (seule exception : html.up-sans-defilement) ;
     3. remise à zéro des balises utilisées, en tête de fichier ;
     4. chaque bouton fixe fond, couleur, bordure et marges, et les répète au survol et au focus.
   États posés par le script selon la largeur DU BLOC (pas celle de l'écran) :
     .up-etroit  moins de 720 px ;  .up-mini  moins de 460 px.                                               */

.utjb-photos {
  --up-vf: #13353a;
  --up-bleu: #17a5b5;
  --up-fond: #f2f5f4;
  --up-carte: #ffffff;
  --up-texte: #13353a;
  --up-doux: #5a7176;
  --up-bord: #dde5e3;
  --up-c: #17a5b5;
  display: block; position: relative; width: auto; max-width: 100%; margin: 0;
  font-family: "Open Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px; font-weight: 400; line-height: 1.5; text-align: left;
  color: var(--up-texte); background: var(--up-fond); border-radius: 14px; box-sizing: border-box;
  font-variant-numeric: tabular-nums;
}
.utjb-photos.up-lb-racine { position: static; height: 0; margin: 0; padding: 0; background: none; border-radius: 0; }
html.up-sans-defilement, html.up-sans-defilement body { overflow: hidden !important; }

/* ---------- remise à zéro, face au thème ---------- */
.utjb-photos *, .utjb-photos *::before, .utjb-photos *::after { box-sizing: border-box; }
.utjb-photos div, .utjb-photos span, .utjb-photos p, .utjb-photos b, .utjb-photos label, .utjb-photos a, .utjb-photos img {
  margin: 0; padding: 0; border: 0; float: none; max-width: none; min-width: 0;
  font-family: inherit; font-style: normal; letter-spacing: normal; text-transform: none;
  text-indent: 0; text-shadow: none; background: none; box-shadow: none;
}
.utjb-photos div, .utjb-photos p, .utjb-photos span { color: inherit; font-size: inherit; line-height: inherit; }
.utjb-photos a { color: inherit; text-decoration: none; }
.utjb-photos img { display: block; height: auto; border-radius: 0; }
.utjb-photos svg { display: block; }
.utjb-photos button, .utjb-photos input {
  margin: 0; font-family: inherit; font-style: normal; letter-spacing: normal; text-transform: none;
  text-decoration: none; text-shadow: none; box-shadow: none; min-width: 0; min-height: 0;
  -webkit-appearance: none; appearance: none; line-height: 1.3; width: auto; max-width: 100%;
}
.utjb-photos button[disabled] { opacity: 0.6; cursor: progress; }
.utjb-photos :focus-visible { outline: 3px solid var(--up-bleu); outline-offset: 2px; }
.utjb-photos .up-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- bande du haut : les éditions, réparties sur la largeur (comme Classements 1.2.0) ---------- */
.utjb-photos .up-bande { display: block; background: var(--up-vf); color: #ffffff; padding: 16px 24px; border-radius: 14px 14px 0 0; border-bottom: 4px solid var(--up-c); }
.utjb-photos .up-annees { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 8px; width: 100%; }
.utjb-photos .up-annees .up-annee,
.utjb-photos .up-annees .up-annee:hover,
.utjb-photos .up-annees .up-annee:focus {
  padding: 8px 6px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.28); width: 100%; text-align: center;
  background: transparent; color: #ffffff; font-size: 15px; font-weight: 600; cursor: pointer;
}
.utjb-photos .up-annees .up-annee:hover { background: rgba(255, 255, 255, 0.12); }
.utjb-photos .up-annees .up-annee.up-on,
.utjb-photos .up-annees .up-annee.up-on:hover,
.utjb-photos .up-annees .up-annee.up-on:focus { background: var(--up-bleu); border-color: var(--up-bleu); color: var(--up-vf); font-weight: 700; }
.utjb-photos .up-corps { padding: 20px 24px 24px; }
.utjb-photos .up-attente { padding: 60px 0; text-align: center; color: var(--up-doux); }
.utjb-photos .up-intro { font-size: 14px; color: var(--up-doux); margin: 0 0 16px; }
.utjb-photos .up-intro b { color: var(--up-texte); font-weight: 600; }
.utjb-photos .up-note { font-size: 14px; color: var(--up-doux); margin: 0 0 12px; }

/* ---------- la recherche, sur une photo ---------- */
.utjb-photos .up-hero { position: relative; border-radius: 14px; margin: 0 0 24px; min-height: 290px; display: flex; align-items: flex-end; color: #ffffff; }
.utjb-photos .up-hero-img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 14px; overflow: hidden; background: var(--up-vf); }
.utjb-photos .up-hero-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.utjb-photos .up-hero-voile { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 14px; background: linear-gradient(180deg, rgba(19,53,58,0.42) 0%, rgba(19,53,58,0.88) 100%); }
.utjb-photos .up-hero-in { position: relative; width: 100%; padding: 26px 26px 24px; display: flex; flex-direction: column; gap: 10px; }
.utjb-photos .up-hero-t { font-size: 32px; font-weight: 700; line-height: 1.1; color: #ffffff; }
.utjb-photos .up-hero-s { font-size: 15px; color: #e4ecea; max-width: 760px; }
.utjb-photos .up-hero-s b { color: #ffffff; font-weight: 700; }
.utjb-photos .up-cherche { position: relative; flex: 1 1 260px; min-width: 220px; }
.utjb-photos .up-hero .up-cherche { flex: 0 1 auto; max-width: 620px; width: 100%; }
.utjb-photos .up-cherche input,
.utjb-photos .up-cherche input:hover,
.utjb-photos .up-cherche input:focus {
  display: block; width: 100%; height: 44px; padding: 9px 12px 9px 38px; font-size: 16px; color: var(--up-texte);
  background: var(--up-carte); border: 1px solid var(--up-bord); border-radius: 10px; outline: none;
}
.utjb-photos .up-cherche input:focus { border-color: var(--up-bleu); }
.utjb-photos .up-hero .up-cherche input,
.utjb-photos .up-hero .up-cherche input:hover,
.utjb-photos .up-hero .up-cherche input:focus { height: 54px; font-size: 18px; border: 2px solid #ffffff; border-radius: 12px; padding-left: 44px; }
.utjb-photos .up-hero .up-cherche input:focus { border-color: var(--up-bleu); }
.utjb-photos .up-cherche .up-loupe { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; pointer-events: none; color: var(--up-doux); z-index: 1; }
.utjb-photos .up-hero .up-cherche .up-loupe { left: 15px; width: 20px; height: 20px; }
.utjb-photos .up-cherche .up-loupe svg { width: 100%; height: 100%; }
.utjb-photos .up-sugg { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; background: var(--up-carte); color: var(--up-texte);
  border: 1px solid var(--up-bord); border-radius: 12px; box-shadow: 0 2px 8px rgba(19, 53, 58, 0.12); overflow: hidden; }
.utjb-photos .up-sugg .up-sg,
.utjb-photos .up-sugg .up-sg:hover,
.utjb-photos .up-sugg .up-sg:focus {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 9px 12px 9px 10px; cursor: pointer;
  border: 0; border-top: 1px solid var(--up-bord); border-left: 4px solid var(--up-cc); border-radius: 0;
  background: var(--up-carte); color: var(--up-texte); font-size: 15px; font-weight: 400;
}
.utjb-photos .up-sugg .up-sg:first-child { border-top: 0; }
.utjb-photos .up-sugg .up-sg:hover, .utjb-photos .up-sugg .up-sg.up-actif { background: var(--up-fond); }
.utjb-photos .up-sg-nom { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.utjb-photos .up-sg-nom b { font-weight: 700; line-height: 1.25; }
.utjb-photos .up-sg-nom span { font-size: 13px; color: var(--up-doux); line-height: 1.3; }
.utjb-photos .up-sg-nb { flex: 0 0 auto; font-size: 13px; color: var(--up-doux); text-align: right; max-width: 40%; }
.utjb-photos .up-sg-nb b { color: var(--up-texte); font-weight: 700; }
.utjb-photos .up-sugg-vide { padding: 12px; font-size: 14px; color: var(--up-doux); }

/* ---------- titres de bloc, cartes des courses, moments ---------- */
.utjb-photos .up-bloc-t { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 10px; }
.utjb-photos .up-bloc-t b { font-size: 20px; font-weight: 700; line-height: 1.2; }
.utjb-photos .up-bloc-t span { font-size: 13px; color: var(--up-doux); }
.utjb-photos .up-courses { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin: 0 0 18px; }
.utjb-photos .up-courses .up-course,
.utjb-photos .up-courses .up-course:hover,
.utjb-photos .up-courses .up-course:focus {
  display: flex; flex-direction: column; align-items: stretch; text-align: left; padding: 0; cursor: pointer; width: 100%;
  background: var(--up-carte); color: var(--up-texte); border: 1px solid var(--up-bord); border-radius: 12px; overflow: hidden; font-size: 13px; font-weight: 400;
}
.utjb-photos .up-courses .up-course:hover { border-color: var(--up-cc); }
.utjb-photos .up-courses .up-course.up-on,
.utjb-photos .up-courses .up-course.up-on:hover,
.utjb-photos .up-courses .up-course.up-on:focus { border: 2px solid var(--up-cc); background: color-mix(in srgb, var(--up-cc) 16%, #ffffff); }
.utjb-photos .up-course-img { display: block; width: 100%; aspect-ratio: 16 / 9; background: var(--up-bord); overflow: hidden; }
.utjb-photos .up-course-img img { width: 100%; height: 100%; object-fit: cover; }
.utjb-photos .up-course-txt { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px 10px; border-left: 6px solid var(--up-cc); }
.utjb-photos .up-course-nom { font-size: 16px; font-weight: 700; line-height: 1.25; }
.utjb-photos .up-course-nb { color: var(--up-doux); }
.utjb-photos .up-outils { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 16px; }
.utjb-photos .up-seg { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; background: var(--up-carte); border: 1px solid var(--up-bord); border-radius: 10px; padding: 4px; }
.utjb-photos .up-seg-l { flex: 0 0 auto; font-size: 12px; font-weight: 600; color: var(--up-doux); padding: 0 6px; }
.utjb-photos .up-seg .up-sb,
.utjb-photos .up-seg .up-sb:hover,
.utjb-photos .up-seg .up-sb:focus {
  flex: 0 0 auto; padding: 6px 10px; border-radius: 7px; border: 0; background: transparent; color: var(--up-texte);
  font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.utjb-photos .up-seg .up-sb:hover { background: var(--up-fond); }
.utjb-photos .up-seg .up-sb span { font-weight: 400; color: var(--up-doux); margin-left: 4px; font-size: 12px; }
.utjb-photos .up-seg .up-sb.up-on,
.utjb-photos .up-seg .up-sb.up-on:hover,
.utjb-photos .up-seg .up-sb.up-on:focus { background: var(--up-vf); color: #ffffff; }
.utjb-photos .up-seg .up-sb.up-on span { color: #b8c9c6; }
.utjb-photos .up-pastille { display: inline-flex; align-items: center; padding: 1px 8px; border-radius: 8px; background: var(--up-cc); color: var(--up-vf);
  font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }

/* ---------- grille justifiée ---------- */
.utjb-photos .up-section { margin: 0 0 22px; }
.utjb-photos .up-section-t { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 8px; }
.utjb-photos .up-section-t b { font-size: 18px; font-weight: 700; line-height: 1.25; }
.utjb-photos .up-section-t span { font-size: 13px; color: var(--up-doux); }
.utjb-photos .up-grille { display: block; width: 100%; }
.utjb-photos .up-rangees { display: flex; flex-direction: column; gap: 4px; }
.utjb-photos .up-rangee { display: flex; gap: 4px; }
.utjb-photos .up-vig,
.utjb-photos .up-vig:hover,
.utjb-photos .up-vig:focus {
  position: relative; display: block; flex: 0 0 auto; padding: 0; margin: 0; border: 0; border-radius: 6px; overflow: hidden;
  background: #d5dfdc; cursor: zoom-in; color: #ffffff; min-height: 0;
}
.utjb-photos .up-vig img { width: 100%; height: 100%; object-fit: cover; transition: opacity 250ms; }
.utjb-photos .up-vig:hover img { opacity: 0.9; }
.utjb-photos .up-vig-info { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 6px; padding: 18px 8px 6px;
  background: linear-gradient(180deg, rgba(19,53,58,0) 0%, rgba(19,53,58,0.82) 100%); font-size: 12px; font-weight: 600; color: #ffffff; opacity: 0; transition: opacity 150ms;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.utjb-photos .up-vig:hover .up-vig-info, .utjb-photos .up-vig:focus-visible .up-vig-info { opacity: 1; }
.utjb-photos .up-vig-pt { width: 10px; height: 10px; border-radius: 50%; background: var(--up-cc); flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(255,255,255,0.7); }
.utjb-photos .up-vig-moi { position: absolute; top: 6px; left: 6px; padding: 1px 7px; border-radius: 8px; background: var(--up-cc); color: var(--up-vf); font-size: 11px; font-weight: 700; }
.utjb-photos .up-plus,
.utjb-photos .up-plus:hover,
.utjb-photos .up-plus:focus {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin: 8px 0 0; padding: 11px 14px;
  border: 1px solid var(--up-bord); border-radius: 10px; background: var(--up-carte); color: var(--up-texte); font-size: 15px; font-weight: 600; cursor: pointer;
}
.utjb-photos .up-plus:hover { border-color: var(--up-bleu); }
.utjb-photos .up-vide { padding: 30px 12px; text-align: center; color: var(--up-doux); background: var(--up-carte); border: 1px dashed var(--up-bord); border-radius: 12px; }
.utjb-photos .up-credit { font-size: 13px; color: var(--up-doux); margin: 18px 0 0; padding: 12px 0 0; border-top: 1px solid var(--up-bord); }
.utjb-photos .up-credit a { text-decoration: underline; text-underline-offset: 2px; }

/* ---------- la fiche du coureur ---------- */
.utjb-photos .up-retour,
.utjb-photos .up-retour:hover,
.utjb-photos .up-retour:focus {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; margin: 0 0 10px; border: 0; background: transparent;
  color: var(--up-texte); font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}
.utjb-photos .up-retour svg { width: 18px; height: 18px; flex: 0 0 auto; }
.utjb-photos .up-coureur { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 16px 18px;
  background: var(--up-carte); border: 1px solid var(--up-bord); border-left: 6px solid var(--up-cc); border-radius: 14px; margin: 0 0 14px; }
.utjb-photos .up-coureur-nom { font-size: 26px; font-weight: 700; line-height: 1.15; }
.utjb-photos .up-coureur-m { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 14px; color: var(--up-doux); margin: 6px 0 0; }
.utjb-photos .up-coureur-d { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.utjb-photos .up-coureur-res { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.utjb-photos .up-coureur-res b { font-size: 22px; font-weight: 700; }
.utjb-photos .up-coureur-res span { font-size: 13px; color: var(--up-doux); }
.utjb-photos .up-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.utjb-photos .up-actions .up-cherche-court { flex: 0 1 340px; }
.utjb-photos .up-lien,
.utjb-photos .up-lien:hover,
.utjb-photos .up-lien:focus {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 9px; border: 1px solid var(--up-bord);
  background: var(--up-carte); color: var(--up-texte); font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; text-decoration: none;
}
.utjb-photos .up-lien:hover { border-color: var(--up-bleu); }
.utjb-photos .up-lien.up-primaire,
.utjb-photos .up-lien.up-primaire:hover,
.utjb-photos .up-lien.up-primaire:focus { background: var(--up-bleu); border-color: var(--up-bleu); color: var(--up-vf); }
.utjb-photos .up-lien svg { width: 16px; height: 16px; flex: 0 0 auto; }
.utjb-photos .up-encart { padding: 14px 16px; margin: 0 0 16px; background: var(--up-carte); border: 1px solid var(--up-bord); border-left: 3px solid var(--up-bleu); border-radius: 14px; font-size: 14px; }
.utjb-photos .up-encart b { font-weight: 700; }

/* ---------- visionneuse (posée hors du bloc, dans body) ---------- */
.utjb-photos .up-lb { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2147483000; display: flex; flex-direction: column; background: #13353a; color: #ffffff; }
.utjb-photos .up-lb[hidden] { display: none; }
.utjb-photos .up-lb-haut { display: flex; align-items: center; gap: 10px; padding: 10px 14px; flex: 0 0 auto; }
.utjb-photos .up-lb-compte { font-size: 14px; font-weight: 600; color: #b8c9c6; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.utjb-photos .up-lb-compte b { color: #ffffff; }
.utjb-photos .up-lb-bt,
.utjb-photos .up-lb-bt:hover,
.utjb-photos .up-lb-bt:focus {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 40px; min-width: 40px; padding: 0 12px;
  border-radius: 9px; border: 1px solid rgba(255,255,255,0.28); background: transparent; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none;
}
.utjb-photos .up-lb-bt:hover { background: rgba(255,255,255,0.12); }
.utjb-photos .up-lb-bt svg { width: 18px; height: 18px; }
.utjb-photos .up-lb-scene { position: relative; flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 0 64px; touch-action: pan-y; }
.utjb-photos .up-lb-scene img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 4px; user-select: none; -webkit-user-drag: none; }
/* logo superposé (éditions sans logo dans le fichier) : taille et place posées par le script, sur la photo affichée */
.utjb-photos .up-lb-scene img.up-lb-logo { position: absolute; max-width: none; max-height: none; object-fit: fill; border-radius: 0; pointer-events: none; }
.utjb-photos .up-lb-scene img.up-lb-logo[hidden] { display: none !important; }
.utjb-photos .up-lb-dl.up-occupe { opacity: 0.55; cursor: progress; }
.utjb-photos .up-lb-fl,
.utjb-photos .up-lb-fl:hover,
.utjb-photos .up-lb-fl:focus {
  position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 9px; background: rgba(255,255,255,0.08); color: #ffffff; cursor: pointer; padding: 0;
}
.utjb-photos .up-lb-fl:hover { background: rgba(255,255,255,0.18); }
.utjb-photos .up-lb-fl svg { width: 26px; height: 26px; }
.utjb-photos .up-lb-prec { left: 8px; }
.utjb-photos .up-lb-suiv { right: 8px; }
.utjb-photos .up-lb-bas { flex: 0 0 auto; padding: 10px 16px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; color: #d7e2df; }
.utjb-photos .up-lb-bas b { color: #ffffff; font-weight: 700; }
.utjb-photos .up-lb-qui { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; flex: 1 1 320px; }
.utjb-photos .up-lb-c,
.utjb-photos .up-lb-c:hover,
.utjb-photos .up-lb-c:focus {
  display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px 4px 4px; border-radius: 9px; border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06); color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer;
}
.utjb-photos .up-lb-c:hover { background: rgba(255,255,255,0.14); }
.utjb-photos .up-lb-c span { font-weight: 400; color: #b8c9c6; }
.utjb-photos .up-lb-c .up-pastille { color: var(--up-vf); }
.utjb-photos .up-lb-retrait { font-size: 12px; color: #b8c9c6; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.utjb-photos .up-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 2147483600; max-width: calc(100vw - 32px); padding: 10px 16px; border-radius: 9px;
  background: var(--up-vf); color: #ffffff; font-size: 14px; font-weight: 600; box-shadow: 0 2px 8px rgba(19,53,58,0.3); overflow-wrap: anywhere; }

/* ---------- bloc étroit (moins de 720 px) et téléphone (moins de 460 px) ---------- */
.utjb-photos.up-etroit .up-bande { padding: 12px; }
.utjb-photos.up-etroit .up-annees { gap: 6px; }
.utjb-photos.up-etroit .up-annees .up-annee { padding: 6px 4px; font-size: 14px; }
.utjb-photos.up-etroit .up-corps { padding: 14px 12px 20px; }
.utjb-photos.up-etroit .up-courses { display: flex; overflow-x: auto; gap: 8px; margin: 0 -12px 16px; padding: 0 12px 4px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.utjb-photos.up-etroit .up-courses::-webkit-scrollbar { display: none; }
.utjb-photos.up-etroit .up-courses .up-course { flex: 0 0 136px; scroll-snap-align: start; }
.utjb-photos.up-etroit .up-seg { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
.utjb-photos.up-etroit .up-seg::-webkit-scrollbar { display: none; }
.utjb-photos.up-etroit .up-outils { flex-direction: column; align-items: stretch; }
.utjb-photos.up-etroit .up-hero { min-height: 300px; }
.utjb-photos.up-etroit .up-hero-in { padding: 20px 16px 16px; }
.utjb-photos.up-etroit .up-hero-t { font-size: 27px; }
.utjb-photos.up-etroit .up-coureur-nom { font-size: 22px; }
.utjb-photos.up-etroit .up-coureur-res { align-items: flex-start; }
.utjb-photos.up-etroit .up-actions .up-cherche-court { flex: 1 1 100%; }
.utjb-photos.up-mini .up-rangee, .utjb-photos.up-mini .up-rangees { gap: 3px; }
.utjb-photos.up-mini .up-vig { border-radius: 4px; }
@media (max-width: 719px) {
  .utjb-photos .up-lb-scene { padding: 0; }
  .utjb-photos .up-lb-fl { display: none; }
  .utjb-photos .up-lb-bt .up-lb-txt { display: none; }
}
