/* Apéros de www : page unique et fiche (07/10/2026). Téléphone d'abord ; portée .bep-aperos */
.bep-aperos { color: #2a3342; }
.bep-aperos svg, .bep-tiroir svg, .bep-feuille svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.bep-aperos a { color: #194172; }
.bep-tel-seul { display: inline-flex; }
.bep-ordi-seul { display: none; }
.bep-aide { color: #6b7687; font-size: 13px; margin: 6px 2px 14px; }

/* En-tête et outils */
.bep-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 10px; }
.bep-tete h1 { margin: 0; font-size: 26px; font-weight: 700; color: #194172; text-transform: none; }
.bep-organiser { display: inline-flex; align-items: center; gap: 6px; }
.bep-organiser svg { stroke-width: 2.4; }
.bep-outils { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.bep-cherche { flex: 1 1 260px; position: relative; margin: 0; display: flex; align-items: center; }
.bep-cherche-ouvrir, .bep-cherche-fermer { display: none; }
.bep-js .bep-cherche { flex: 0 0 auto; }
.bep-js .bep-cherche input, .bep-js .bep-cherche .bep-cherche-icone { display: none; }
.bep-js .bep-cherche-ouvrir { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #cfd6e1; border-radius: 19px; background: #fff; color: #194172; cursor: pointer; padding: 0; }
.bep-js .bep-cherche.remplie .bep-cherche-ouvrir { border-color: #194172; box-shadow: inset 0 0 0 1px #194172; }
.bep-js .bep-outils.cherche-ouverte .bep-cherche { flex: 1 1 auto; }
.bep-js .bep-outils.cherche-ouverte .bep-cherche input, .bep-js .bep-outils.cherche-ouverte .bep-cherche .bep-cherche-icone { display: block; }
.bep-js .bep-outils.cherche-ouverte .bep-cherche-ouvrir { display: none; }
.bep-js .bep-outils.cherche-ouverte .bep-cherche-fermer { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-left: 4px; border: 0; background: none; font-size: 24px; color: #194172; cursor: pointer; }
.bep-js .bep-outils.cherche-ouverte .bep-puce-lieu, .bep-js .bep-outils.cherche-ouverte .bep-affiner-btn { display: none; }
.bep-lieu-long { display: none; }
.bep-puce-lieu > span { min-width: 0; }
.bep-lieu-court { display: inline-flex; }
.bep-lieu-ville { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.bep-lieu-rayon { flex: none; white-space: pre; }
.bep-puce-lieu { min-width: 0; flex: 0 1 auto; }
.bep-chevron { width: 14px !important; height: 14px !important; }
.bep-cherche .bep-cherche-icone { position: absolute; left: 11px; top: 50%; margin-top: -9px; color: #6b7687; }
.bep-cherche input { width: 100%; height: 38px; padding: 6px 12px 6px 36px; border: 1px solid #cfd6e1; border-radius: 19px; background: #fff; font-size: 15px; }
.bep-affiner-btn, .bep-puce-lieu { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 1px solid #cfd6e1; border-radius: 19px; background: #fff; color: #194172; font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer; }
.bep-puce-lieu { max-width: 100%; }
.bep-puce-lieu:hover, .bep-affiner-btn:hover { border-color: #194172; text-decoration: none; }
@media (max-width: 479px) { .bep-affiner-mot { display: none; } .bep-affiner-btn { padding: 0 11px; } }
.bep-nb { display: inline-block; min-width: 20px; padding: 0 6px; border-radius: 10px; background: #34870c; color: #fff; font-size: 12px; line-height: 20px; text-align: center; }

/* Bande de dates : défile de côté au téléphone */
.bep-bande { display: flex; gap: 6px; align-items: stretch; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; padding: 2px 0 8px; margin: 0 -15px; padding-left: 15px; padding-right: 15px; }
.bep-jourpuce { display: inline-flex; align-items: center; gap: 5px; flex: none; padding: 7px 13px; border: 1px solid #cfd6e1; border-radius: 19px; background: #fff; color: #194172; font-weight: 700; font-size: 14px; white-space: nowrap; text-decoration: none; cursor: pointer; }
.bep-jourpuce small { color: #6b7687; font-weight: 700; font-size: 12px; }
.bep-jourpuce:hover { border-color: #194172; text-decoration: none; }
.bep-jourpuce.actif { background: #194172; border-color: #194172; color: #fff; }
.bep-jourpuce.actif small { color: rgba(255, 255, 255, 0.85); }
.bep-jourpuce.deux { flex-direction: column; gap: 0; padding: 4px 9px; min-width: 48px; border-radius: 12px; font-size: 11px; font-weight: 400; line-height: 1.15; }
.bep-jourpuce.deux b { font-size: 16px; }
.bep-jourpuce.deux small { font-size: 11px; color: #34870c; }
.bep-jourpuce.deux.actif small { color: #fff; }
.bep-jourpuce.zero { opacity: 0.55; }
.bep-jourpuce { position: relative; }
.bep-point { position: absolute; top: 4px; right: 6px; width: 6px; height: 6px; border-radius: 3px; background: #34870c; }
.bep-jourpuce.actif .bep-point { background: #fff; }
.bep-sep { flex: none; width: 1px; background: #dfe4ec; margin: 4px 2px; }
.bep-cal-btn { padding: 7px 11px; }
.bep-cal-tel { margin-top: 4px; }

/* Résultat et groupes par jour */
.bep-resultat { margin: 8px 0 4px; font-weight: 700; color: #194172; font-size: 15px; }
.bep-jour { margin-bottom: 6px; }
.bep-jour-titre { position: sticky; top: calc(51px + var(--bep-colle, 0px)); z-index: 5; display: block; margin: 0 -15px 8px; padding: 9px 15px 7px; background: #f4f6f9; border-bottom: 1px solid #dfe4ec; font-size: 15px; font-weight: 700; color: #1b2433; text-transform: none; }
.bep-jour-titre small { color: #6b7687; font-size: 15px; font-weight: 400; white-space: nowrap; }
.bep-passes-titre { margin: 26px 0 4px; font-size: 18px; color: #5e6b80; text-transform: none; }
.bep-passes-titre small { font-size: 13px; color: #6b7687; }

/* Cartes */
.bep-cartes { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 10px; }
.bep-carte { display: flex; gap: 12px; padding: 12px; background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; color: inherit; text-decoration: none; min-width: 0; }
.bep-carte:hover, .bep-carte:focus { border-color: #b4c0d2; box-shadow: 0 2px 8px rgba(25, 65, 114, 0.08); text-decoration: none; color: inherit; }
.bep-carte:focus-visible { outline: 2px solid #194172; outline-offset: 2px; }
.bep-carte.est-passe { opacity: 0.78; }
.bep-vignette { position: relative; flex: 0 0 72px; width: 72px; height: 72px; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.bep-vignette img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bep-vignette svg { width: 30px; height: 30px; stroke-width: 1.7; }
.t-membre { background: #e9f2e3; color: #3d7a1f; }
.t-hotel { background: #e6eef8; color: #2f5f9e; }
.t-ailleurs { background: #f6ece2; color: #9a5b1d; }
.t-enligne { background: #efe9f6; color: #6a4a9a; }
.bep-nouveau { position: absolute; left: 4px; bottom: 4px; padding: 1px 6px; border-radius: 9px; background: rgba(255, 255, 255, 0.82); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); color: #194172; font-size: 11px; font-weight: 700; line-height: 16px; }
.bep-partie { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; padding: 1px 9px 1px 7px; border-radius: 11px; background: #e3f2dc; color: #2c6e12; font-size: 13px; font-weight: 700; }
.bep-partie svg { width: 14px !important; height: 14px !important; stroke-width: 2.6; }
.bep-lieu > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.bep-carte-corps { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.bep-quand { font-size: 13px; color: #194172; margin: 0; }
.bep-quand b { font-size: 15px; }
.bep-type { color: #6b7687; }
.bep-tag { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; font-weight: 700; line-height: 16px; vertical-align: 1px; white-space: nowrap; }
.bep-tag.en-cours { background: #fde8e4; color: #b0341a; }
.bep-tag.aujourdhui, .bep-tag.demain { background: #e6eef8; color: #1f4f8a; }
.bep-tag.tu-y-vas { background: #e3f2dc; color: #2c6e12; }
.bep-tag.nouveau { background: #fff3cc; color: #7a5a00; }
.bep-tag.passe { background: #eceff3; color: #5e6b80; }
.bep-titre { font-size: 17px; font-weight: 700; line-height: 1.25; color: #1b2433; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bep-lieu { display: flex; align-items: center; gap: 4px; font-size: 14px; color: #3d4757; min-width: 0; }
.bep-lieu svg { width: 15px; height: 15px; color: #6b7687; }
.bep-pied { display: flex; justify-content: space-between; gap: 8px; margin-top: 2px; font-size: 13px; color: #6b7687; min-width: 0; }
.bep-qui { font-weight: 700; color: #2c6e12; white-space: nowrap; }
.bep-qui.premier { font-weight: 400; color: #6b7687; }
.bep-par { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bep-plus { text-align: center; margin: 16px 0 24px; }
.bep-vide { margin: 12px 0 20px; padding: 22px 16px; text-align: center; background: #fff; border: 1px dashed #cfd6e1; border-radius: 10px; }
.bep-vide .btn { margin: 4px; }

/* Calendrier */
.bep-cal { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 10px 10px 8px; }
.bep-cal-tete { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.bep-cal-tete b { color: #194172; font-size: 16px; }
.bep-cal-nav { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 18px; font-size: 24px; line-height: 1; text-decoration: none; }
.bep-cal-nav:hover { background: #eef1f5; text-decoration: none; }
.bep-cal-grille { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.bep-dow { font-size: 12px; color: #6b7687; padding: 2px 0 4px; }
.bep-cal-jour { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 44px; border-radius: 8px; color: #1b2433; font-weight: 700; font-size: 15px; line-height: 1.1; text-decoration: none; }
.bep-cal-jour small { font-size: 11px; color: #34870c; font-weight: 700; }
.bep-cal-jour:hover { background: #eef1f5; text-decoration: none; color: #1b2433; }
.bep-cal-jour.vide { color: #8a94a3; font-weight: 400; }
.bep-cal-jour.vide small { color: #b8c0cc; }
.bep-cal-jour.passe { opacity: 0.45; }
.bep-cal-jour.aujourdhui { box-shadow: inset 0 0 0 2px #194172; }
.bep-cal-jour.actif, .bep-cal-jour.actif:hover { background: #194172; color: #fff; opacity: 1; }
.bep-cal-jour.actif small { color: #fff; }
.bep-cal-jour.hors { visibility: hidden; }
.bep-cal-legende { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 11px; color: #6b7687; }
.bep-cal-legende span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 4px; border-radius: 3px; vertical-align: -1px; }
.bep-cal-legende .lt::before { box-shadow: inset 0 0 0 2px #194172; }
.bep-cal-legende .lp::before { background: #c9cfd8; }
.bep-cal-legende .ln::before { background: #34870c; border-radius: 5px; }
.bep-organise { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 14px; margin-bottom: 20px; }
.bep-organise h3 { margin: 0 0 6px; font-size: 16px; color: #194172; text-transform: none; }
.bep-organise p { color: #5e6b80; font-size: 14px; }

/* Affiner : feuille par le bas au téléphone, tiroir à droite sur ordinateur */
.bep-tiroir .modal-dialog { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; width: auto; }
.bep-tiroir .modal-content { display: flex; flex-direction: column; max-height: 90vh; border: 0; border-radius: 16px 16px 0 0; }
.bep-tiroir .modal-body { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.bep-tiroir.fade .modal-dialog { transform: translate(0, 100%); transition: transform 0.25s ease-out; }
.bep-tiroir.in .modal-dialog { transform: none; }
.bep-tiroir .modal-title { font-weight: 700; color: #194172; text-transform: none; }
.bep-tiroir .modal-footer { display: flex; gap: 8px; justify-content: space-between; padding-bottom: calc(15px + env(safe-area-inset-bottom)); }
.bep-tiroir .modal-footer .btn-primary { flex: 1; }
.bep-tiroir .modal-footer .btn + .btn { margin-left: 0; }
.bep-champ { margin: 0 0 18px; padding: 0; border: 0; min-width: 0; }
.bep-champ legend, .bep-champ > label { display: block; width: auto; margin: 0 0 6px; padding: 0; border: 0; font-size: 15px; font-weight: 700; color: #1b2433; }
.bep-champ select { margin-bottom: 6px; }
.bep-rayons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.bep-rayons .bep-aide { flex-basis: 100%; margin: 4px 0 0; }
.bep-puces { display: flex; flex-wrap: wrap; gap: 6px; }
.bep-puce { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 7px 12px; border: 1px solid #cfd6e1; border-radius: 19px; background: #fff; font-weight: 600; font-size: 14px; cursor: pointer; }
.bep-puce input { margin: 0; }
.bep-tiroir label, .bep-commenter label { color: #1b2433; }
.bep-tiroir .bep-puce { font-weight: 600; }
.bep-interrupteur { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 0; border-top: 1px solid #eef1f5; font-weight: 400; cursor: pointer; }
.bep-interrupteur input { margin-top: 3px; flex: none; }
.bep-interrupteur b { display: block; color: #1b2433; }
.bep-interrupteur small { display: block; color: #6b7687; font-size: 13px; }

/* Fiche */
.bep-fil { margin: 4px 0 10px; font-size: 14px; color: #6b7687; overflow-wrap: anywhere; }
.bep-fil a { font-weight: 700; }
.bep-bandeau { margin: 0 0 12px; padding: 12px 14px; background: #eef1f5; border: 1px solid #d5dbe3; border-radius: 10px; color: #194172; }
.bep-fiche, .bep-bloc { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 16px; margin-bottom: 14px; }
.bep-bloc h2 { margin: 0 0 10px; font-size: 14px; letter-spacing: 0.03em; text-transform: uppercase; color: #194172; }
.bep-bloc h2 small { color: #6b7687; font-size: 13px; letter-spacing: 0; }
.bep-hero { display: block; margin: -16px -16px 14px; }
.bep-hero img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 10px 10px 0 0; }
.bep-h1 { margin: 4px 0 14px; font-size: 24px; font-weight: 700; line-height: 1.2; color: #1b2433; text-transform: none; overflow-wrap: anywhere; }
.bep-faits { display: flex; flex-direction: column; gap: 12px; }
.bep-fait { display: flex; gap: 12px; align-items: flex-start; }
.bep-fait svg { width: 22px; height: 22px; color: #194172; margin-top: 1px; }
.bep-fait b { display: block; font-size: 16px; color: #1b2433; }
.bep-fait span { display: block; font-size: 14px; color: #6b7687; }
.bep-desc { font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
.bep-desc img { max-width: 100%; height: auto; }
.bep-avatars { display: flex; flex-wrap: wrap; gap: 10px 8px; }
.bep-avatar { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 64px; font-size: 12px; text-decoration: none; color: #3d4757; }
.bep-avatar img, .bep-initiale { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.bep-initiale { display: flex; align-items: center; justify-content: center; background: #dfe5ee; color: #5e6b80; font-weight: 700; font-size: 18px; }
.bep-autres { background: #eef1f5; font-size: 15px; }
.bep-avatar-nom { max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bep-voir-tous { margin: 10px 0 0; }
.bep-orga { display: flex; gap: 12px; align-items: center; }
.bep-orga-photo { flex: none; }
.bep-orga-photo img, .bep-orga-photo .bep-initiale { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: flex; }
.bep-orga-qui { display: flex; flex-direction: column; min-width: 0; }
.bep-orga-role { font-size: 12px; color: #6b7687; }
.bep-orga-qui b { font-size: 16px; color: #1b2433; }
.bep-orga-qui span { font-size: 13px; color: #6b7687; }
.bep-orga-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bep-action .btn + .btn { margin-top: 8px; }
.bep-etat { margin: 0 0 10px; font-size: 15px; }
.bep-etat.ok { color: #2c6e12; }
.bep-etat.ok svg { width: 18px; height: 18px; vertical-align: -3px; stroke-width: 2.6; }
.bep-quitter { padding-left: 0; }
.bep-commenter label { font-weight: 700; margin-top: 10px; }
.bep-commenter .btn { margin-top: 10px; }
.bep-collant { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #dfe4ec; box-shadow: 0 -4px 14px rgba(25, 65, 114, 0.08); }
.bep-collant-txt { display: flex; flex-direction: column; min-width: 0; font-size: 13px; color: #6b7687; line-height: 1.3; }
.bep-collant-txt b { font-size: 15px; color: #1b2433; }
.bep-collant-txt.ok b { color: #2c6e12; }
.bep-collant .btn { flex: none; }
.bep-fiche-page { padding-bottom: 76px; }
.bep-feuille .modal-title { font-weight: 700; color: #194172; text-transform: none; }

@media (max-width: 767px) {
  .bep-feuille .modal-dialog { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; width: auto; }
  .bep-feuille .modal-content { border: 0; border-radius: 16px 16px 0 0; }
  .bep-feuille.fade .modal-dialog { transform: translate(0, 100%); transition: transform 0.25s ease-out; }
  .bep-feuille.in .modal-dialog { transform: none; }
  .bep-feuille .modal-footer { display: flex; gap: 8px; padding-bottom: calc(15px + env(safe-area-inset-bottom)); }
  .bep-feuille .modal-footer .btn { flex: 1; }
  .bep-feuille .modal-footer .btn + .btn { margin-left: 0; }
}
@media (min-width: 768px) {
  .bep-tete h1 { font-size: 30px; }
  .bep-h1 { font-size: 28px; }
  .bep-hero img { max-height: 320px; }
  .bep-tiroir .modal-dialog { top: 0; bottom: 0; left: auto; right: 0; width: 420px; }
  .bep-tiroir .modal-content { height: 100%; max-height: none; border-radius: 0; }
  .bep-tiroir.fade .modal-dialog { transform: translate(100%, 0); }
  .bep-tiroir.in .modal-dialog { transform: none; }
}
@media (min-width: 992px) {
  .bep-tel-seul, .bep-tel-bloc, .bep-cal-tel, .bep-collant, .bep-sep { display: none !important; }
  .bep-ordi-seul { display: block; }
  .bep-outils .bep-ordi-seul { display: block; }
  .bep-tete .bep-ordi-seul { display: inline; }
  .bep-bande { overflow: visible; flex-wrap: wrap; margin: 0; padding-left: 0; padding-right: 0; }
  .bep-jour-titre { margin: 0 0 8px; padding: 9px 0 7px; }
  .bep-colonne .bep-cal { margin-top: 4px; }
  .bep-fiche-page { padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .bep-tiroir.fade .modal-dialog, .bep-feuille.fade .modal-dialog { transition: none; }
}

/* Repères de « Sortir » (07/10/2026) */
.bep-onglets { display: flex; gap: 22px; margin: 2px 0 12px; border-bottom: 1px solid #dfe4ec; overflow-x: auto; }
.bep-onglets a { position: relative; padding: 8px 0 10px; color: #5e6b80; font-weight: 700; font-size: 16px; text-decoration: none; white-space: nowrap; }
.bep-onglets a:hover { color: #194172; text-decoration: none; }
.bep-onglets a.actif { color: #1b2433; }
.bep-onglets a.actif::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; border-radius: 2px; background: #194172; }
.bep-pastilles { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; }
.bep-pastille { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 16px; background: #194172; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.bep-pastille:hover, .bep-pastille:focus { color: #fff; text-decoration: none; opacity: 0.9; }
.bep-tout-effacer { font-size: 13px; font-weight: 700; text-decoration: underline; }
.bep-puces-vue { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.bep-sous-titre { margin: 18px 0 10px; font-size: 17px; font-weight: 700; color: #1b2433; text-transform: none; }
.bep-cartes-orga { display: grid; gap: 10px; }
.bep-carte-orga { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 14px 16px; }
.bep-orga-quand { margin: 0 0 4px; color: #5e6b80; font-size: 14px; font-weight: 700; }
.bep-orga-titre { margin: 0 0 8px; font-size: 17px; font-weight: 700; text-transform: none; }
.bep-orga-titre a { color: #1b2433; }
.bep-orga-etat { margin: 0 0 10px; color: #5e6b80; font-size: 14px; }
.bep-tag.publie { background: #e3f2dc; color: #2c6e12; }
.bep-tag.complet { background: #e6eef8; color: #1f4f8a; }
.bep-gerer { display: inline-flex; align-items: center; gap: 4px; padding: 7px 14px; border-radius: 18px; background: #eef1f5; color: #194172; font-weight: 700; text-decoration: none; }
.bep-gerer:hover { background: #e2e7ee; text-decoration: none; }
.bep-gerer svg { width: 16px !important; height: 16px !important; }
.bep-plus-passes { margin-top: 10px; }
.bep-plus-passes summary { cursor: pointer; font-weight: 700; color: #194172; margin-bottom: 10px; }
.bep-organiser-bas { margin: 18px 0; }
.bep-cal-jour { position: relative; }
.bep-cal-jour .bep-point { top: 3px; right: 3px; }
.bep-raccourcis { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 6px; }
.bep-lieu-courant { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; padding: 10px 12px; border-radius: 10px; background: #eef1f5; color: #194172; font-weight: 700; }
.bep-lieu-courant span { flex: 1 1 auto; min-width: 0; }
.bep-ma-ville { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border: 1px solid #cfd6e1; border-radius: 15px; background: #fff; color: #194172; font-size: 13px; font-weight: 700; cursor: pointer; }
.bep-ma-ville svg { width: 15px !important; height: 15px !important; }
.bep-combo { position: relative; }
.bep-combo-liste { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; margin: 2px 0 0; padding: 4px 0; list-style: none; background: #fff; border: 1px solid #cfd6e1; border-radius: 8px; box-shadow: 0 6px 18px rgba(25, 65, 114, 0.12); max-height: 260px; overflow-y: auto; }
.bep-combo-liste li { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; cursor: pointer; }
.bep-combo-liste li small { color: #6b7687; white-space: nowrap; }
.bep-combo-liste li[aria-selected="true"], .bep-combo-liste li:hover { background: #eef1f5; }
.bep-partout-btn { margin: 8px 0 4px; padding: 0; border: 0; background: none; color: #194172; font-weight: 700; text-decoration: underline; cursor: pointer; }
.bep-distance { margin-top: 12px; }
.bep-distance label { display: block; margin: 0 0 4px; font-weight: 700; color: #1b2433; }
.bep-distance input[type="range"] { width: 100%; accent-color: #194172; }
.bep-distance output { display: block; margin-top: 2px; font-weight: 700; color: #194172; }
.bep-graduations { display: flex; justify-content: space-between; color: #6b7687; font-size: 12px; }
.bep-effacer { font-weight: 700; text-decoration: underline; align-self: center; }
.bep-effacer.desactive { color: #9aa4b2; pointer-events: none; text-decoration: none; }
@media (max-width: 991px) {
  .bep-outils { flex-wrap: nowrap; }
  .bep-puce-lieu { flex: 1 1 auto; }
  .bep-entete-colle { position: sticky; top: 51px; z-index: 20; margin: 0 -15px; padding: 6px 15px 0; background: #f4f6f9; }
  .bep-feuille-cal .modal-dialog { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; width: auto; }
  .bep-feuille-cal .modal-content { border: 0; border-radius: 16px 16px 0 0; max-height: 92vh; overflow-y: auto; }
  .bep-feuille-cal.fade .modal-dialog { transform: translate(0, 100%); transition: transform 0.25s ease-out; }
  .bep-feuille-cal.in .modal-dialog { transform: none; }
  .bep-feuille-cal .modal-body { padding-bottom: calc(15px + env(safe-area-inset-bottom)); }
}
@media (min-width: 992px) {
  .bep-lieu-long { display: inline-flex; }
  .bep-lieu-court { display: none; }
  .bep-js .bep-cherche { flex: 1 1 260px; }
  .bep-js .bep-cherche input, .bep-js .bep-cherche .bep-cherche-icone { display: block; }
  .bep-js .bep-cherche-ouvrir { display: none; }
  .bep-jour-titre { top: 51px; }
  .bep-organiser-bas { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bep-feuille-cal.fade .modal-dialog { transition: none; }
}
