﻿body
{
   background-color:#f3f3f3;
}

#inscription .div_inscription_popup {
  display: none;
}

.bloc_head_espace_perso{
  margin-left:20%;
  margin-top:20px;
  width:60%;
  height:340px;
  position:relative;
  padding-bottom: 5rem;
}

/* ------------------------------------------------------------------
   Espace perso : newsletters
------------------------------------------------------------------ */
.bloc_espace_perso_newsletters {
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  position: relative;
  padding-bottom: 4rem;
}
.bloc_espace_perso_newsletters .titre_newsletters {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 64px;
  background-color: #0093D5;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
}
.bloc_espace_perso_newsletters .titre_newsletters h1 {
  font-size: 1.3rem;
  color: #ffffff;
  margin: 0;
  padding: 0 64px;
  text-align: center;
  letter-spacing: 0.02em;
}
.bloc_espace_perso_newsletters .titre_newsletters__back {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem 0.4rem 0.65rem;
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_newsletters .titre_newsletters__back:hover,
.bloc_espace_perso_newsletters .titre_newsletters__back:focus {
  background-color: rgba(255, 255, 255, 0.3);
  outline: none;
}
.bloc_espace_perso_newsletters .titre_newsletters__back:active {
  transform: translateY(-50%) scale(0.97);
}
.bloc_espace_perso_newsletters .titre_newsletters__back svg {
  width: 18px;
  height: 18px;
  display: block;
}
.bloc_espace_perso_newsletters .titre_newsletters__back__label {
  display: inline;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd {
  background-color: #1D327B;
  color: #ffffff;
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd p {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd form {
  margin: 0;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd__btn {
  display: inline-block;
  padding: 0.85rem 1.5rem;
  background-color: #ffffff;
  color: #1D327B;
  border: 0;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd__btn:hover {
  background-color: #0093D5;
  color: #ffffff;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd__btn:active {
  transform: scale(0.98);
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd--retire {
  background-color: #ffffff;
  color: #1D327B;
  border: 1px solid #e3e7ed;
  margin-top: 1.5rem;
  margin-bottom: 0;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd--retire .ep-newsletter-rgpd__btn--retire {
  background-color: #EA5242;
  color: #ffffff;
}
.bloc_espace_perso_newsletters .ep-newsletter-rgpd--retire .ep-newsletter-rgpd__btn--retire:hover {
  background-color: #1D327B;
  color: #ffffff;
}
.bloc_espace_perso_newsletters .newsletter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1.25rem;
}
.bloc_espace_perso_newsletters .newsletter-card {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.bloc_espace_perso_newsletters .newsletter-card--full {
  grid-column: 1 / -1;
}
.bloc_espace_perso_newsletters .newsletter-card__header {
  padding: 1rem 1.25rem;
  background-color: #1D327B;
  color: #ffffff;
}
.bloc_espace_perso_newsletters .newsletter-card__header h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 0.02em;
}
.bloc_espace_perso_newsletters .newsletter-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bloc_espace_perso_newsletters .newsletter-card__hint {
  margin: 0;
  font-size: 0.9rem;
  color: #6b7a90;
  line-height: 1.4;
}
.bloc_espace_perso_newsletters .newsletter-card__hint--warning {
  color: #1D327B;
  background-color: #fff8e1;
  border: 1px solid #FBC115;
  border-radius: 8px;
  padding: 0.75rem 1rem;
}
.bloc_espace_perso_newsletters .newsletter-card__status {
  font-size: 0.85rem;
  color: #6b7a90;
  line-height: 1.4;
}
.bloc_espace_perso_newsletters .newsletter-card__status--ok { color: #2AAEA9; font-weight: 500; }
.bloc_espace_perso_newsletters .newsletter-card__status--error { color: #EA5242; font-weight: 500; }
.bloc_espace_perso_newsletters .newsletter-card__status--muted { color: #6b7a90; }
.bloc_espace_perso_newsletters .ep-toggle-group {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eef0f4;
}
.bloc_espace_perso_newsletters .ep-toggle-group:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.bloc_espace_perso_newsletters .ep-toggle-group__title {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 700;
  color: #1D327B;
  letter-spacing: 0.05em;
}
.bloc_espace_perso_newsletters .ep-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  user-select: none;
}
.bloc_espace_perso_newsletters .ep-toggle input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
.bloc_espace_perso_newsletters .ep-toggle__switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  flex: 0 0 40px;
  background-color: #d4dae3;
  border-radius: 999px;
  transition: background-color 200ms ease;
}
.bloc_espace_perso_newsletters .ep-toggle__switch::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 200ms ease;
}
.bloc_espace_perso_newsletters .ep-toggle input[type="checkbox"]:checked + .ep-toggle__switch {
  background-color: #0093D5;
}
.bloc_espace_perso_newsletters .ep-toggle input[type="checkbox"]:checked + .ep-toggle__switch::after {
  transform: translateX(18px);
}
.bloc_espace_perso_newsletters .ep-toggle__label {
  font-size: 0.95rem;
  color: #1D327B;
}
.bloc_espace_perso_newsletters .newsletter-card__add {
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0 0.875rem;
  border: 1px solid #e3e7ed;
  border-radius: 8px;
  background-color: #f4f6fa;
  color: #1D327B;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.25;
  box-sizing: border-box;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.bloc_espace_perso_newsletters .newsletter-card__add:hover,
.bloc_espace_perso_newsletters .newsletter-card__add:focus {
  outline: none;
  border-color: #0093D5;
  box-shadow: 0 0 0 3px rgba(0, 147, 213, 0.12);
}
.bloc_espace_perso_newsletters .newsletter-others {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bloc_espace_perso_newsletters .newsletter-others__item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  background-color: #f4f6fa;
  border-radius: 10px;
}
.bloc_espace_perso_newsletters .newsletter-others__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.bloc_espace_perso_newsletters .newsletter-others__name {
  font-size: 1rem;
  font-weight: 600;
  color: #1D327B;
}
.bloc_espace_perso_newsletters .newsletter-others__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #ffffff;
  color: #EA5242;
  text-decoration: none;
  transition: background-color 200ms ease, color 200ms ease;
}
.bloc_espace_perso_newsletters .newsletter-others__remove:hover {
  background-color: #EA5242;
  color: #ffffff;
}
.bloc_espace_perso_newsletters .newsletter-others__remove svg {
  width: 16px;
  height: 16px;
}
.bloc_espace_perso_newsletters .newsletter-others__channels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 1.25rem;
}

@media (max-width: 720px) {
  .bloc_espace_perso_newsletters {
    width: calc(100% - 32px);
    padding-bottom: 2rem;
  }
  .bloc_espace_perso_newsletters .titre_newsletters {
    height: 56px;
    margin-bottom: 1rem;
  }
  .bloc_espace_perso_newsletters .titre_newsletters h1 {
    font-size: 0.95rem;
    padding: 0 56px;
  }
  .bloc_espace_perso_newsletters .titre_newsletters__back__label {
    display: none;
  }
  .bloc_espace_perso_newsletters .titre_newsletters__back {
    padding: 0.45rem;
    gap: 0;
  }
  .bloc_espace_perso_newsletters .newsletter-card__body {
    padding: 1rem;
  }
  .bloc_espace_perso_newsletters .ep-newsletter-rgpd {
    padding: 1.125rem;
  }
}

.bloc_espace_perso_motdepasseperdu{
  margin-left:20%;
  margin-top:50px;
  margin-bottom:20px;
  width:60%;
  position:relative;
  padding-bottom: 5rem;
}

.bloc_espace_perso_bienvenue{
  margin-left:20%;
  margin-top:50px;
  margin-bottom:20px;
  width:60%;
  position:relative;
  padding-bottom: 5rem;
}

/* ------------------------------------------------------------------
   Espace perso : abonnements
   Charte couleurs :
     --ep-primary   : #1D327B  (bleu fonce, principal)
     --ep-accent    : #0093D5  (bleu clair, accent)
     --ep-secondary : #2AAEA9  (bleu-vert, secondaire)
     --ep-red       : #EA5242
     --ep-yellow    : #FBC115
------------------------------------------------------------------ */
.bloc_espace_perso_abonnements {
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  position: relative;
  padding-bottom: 4rem;
}

/* Bandeau de titre */
.bloc_espace_perso_abonnements .titre_abonnement {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 64px;
  background-color: #0093D5;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
}
.bloc_espace_perso_abonnements .titre_abonnement h1 {
  font-size: 1.5rem;
  color: #ffffff;
  margin: 0;
  padding: 0 64px;
  text-align: center;
  letter-spacing: 0.02em;
}

/* Bouton retour (icone SVG inline) */
.bloc_espace_perso_abonnements .titre_abonnement__back {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem 0.4rem 0.65rem;
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_abonnements .titre_abonnement__back:hover,
.bloc_espace_perso_abonnements .titre_abonnement__back:focus {
  background-color: rgba(255, 255, 255, 0.3);
  outline: none;
}
.bloc_espace_perso_abonnements .titre_abonnement__back:active {
  transform: translateY(-50%) scale(0.97);
}
.bloc_espace_perso_abonnements .titre_abonnement__back svg {
  width: 18px;
  height: 18px;
  display: block;
}
.bloc_espace_perso_abonnements .titre_abonnement__back__label {
  display: inline;
}

/* Liste des abonnements */
.bloc_espace_perso_abonnements .liste_abonnements {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 1.5rem;
}

/* Card abonnement */
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  scroll-margin-top: 80px;
  transition: box-shadow 250ms ease, transform 250ms ease;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
  transform: translateY(-2px);
}

.bloc_espace_perso_abonnements .card_abonnement__header {
  background-color: #1D327B;
  color: #ffffff;
  padding: 1.25rem 1.5rem;
}
.bloc_espace_perso_abonnements .card_abonnement__header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 0.02em;
}
.bloc_espace_perso_abonnements .card_abonnement__centres {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.92);
}
.bloc_espace_perso_abonnements .card_abonnement__centres strong {
  font-weight: 600;
  color: #ffffff;
}

.bloc_espace_perso_abonnements .card_abonnement__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
}

.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement strong {
  font-weight: 600;
}

/* Navigation periode (chevrons) - chevrons alignes au bord du bloc gris */
.bloc_espace_perso_abonnements .periode-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
.bloc_espace_perso_abonnements .periode-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #ffffff;
  border: 1px solid #e3e7ed;
  border-radius: 50%;
  color: #1D327B;
  font-family: inherit;
  font-size: 1.1rem;
  cursor: pointer;
  flex: 0 0 36px;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.bloc_espace_perso_abonnements .periode-nav__btn:hover:not(:disabled),
.bloc_espace_perso_abonnements .periode-nav__btn:focus:not(:disabled) {
  background-color: #0093D5;
  border-color: #0093D5;
  color: #ffffff;
  outline: none;
}
.bloc_espace_perso_abonnements .periode-nav__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bloc_espace_perso_abonnements .periode-nav__btn svg {
  width: 16px;
  height: 16px;
  display: block;
}
.bloc_espace_perso_abonnements .periode-nav__center {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.875rem;
  text-align: center;
  cursor: pointer;
  background-color: #f4f6fa;
  border: 1px solid #e3e7ed;
  border-radius: 999px;
}
.bloc_espace_perso_abonnements .periode-nav__title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1D327B;
  line-height: 1.1;
}
.bloc_espace_perso_abonnements .periode-nav__title svg {
  width: 12px;
  height: 12px;
  opacity: 0.6;
}
.bloc_espace_perso_abonnements .periode-nav__sub {
  margin-top: 2px;
  font-size: 0.75rem;
  color: #6b7a90;
}
.bloc_espace_perso_abonnements .periode-nav__select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  font-family: inherit;
  border: 0;
  background: transparent;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

/* Solde + dates */
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  flex-wrap: wrap;
  background-color: #f4f6fa;
  border-radius: 10px;
  padding: 1.25rem;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 240px;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement p {
  margin: 0;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement [id^="label-solde-"] {
  color: #6b7a90;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement [id^="solde-"] {
  font-size: 1rem;
  color: #1D327B;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement [id^="solde-"] strong {
  font-size: 1.2rem;
  color: #2AAEA9;
  font-weight: 700;
  margin: 0 0.15em;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement .icon_coin {
  vertical-align: sub;
  width: 1.25em;
  height: 1.25em;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .date_abonnement {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: right;
  flex: 0 0 auto;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .date_abonnement p {
  margin: 0;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 0.4rem 0.875rem;
  font-size: 0.9rem;
  color: #1D327B;
  border: 1px solid #e3e7ed;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .date_abonnement p strong {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  color: #6b7a90;
  letter-spacing: 0.05em;
  margin: 0;
  line-height: 1.2;
}

/* Historique */
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details {
  border-top: 1px solid #eef0f4;
  padding-top: 1rem;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details summary {
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7a90;
  padding: 0.25rem 0;
  list-style: none;
  position: relative;
  padding-left: 1.25rem;
  user-select: none;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details summary::-webkit-details-marker { display: none; }
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details summary::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #0093D5;
  border-bottom: 2px solid #0093D5;
  transform: translateY(-65%) rotate(-45deg);
  transition: transform 200ms ease;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details[open] summary::before {
  transform: translateY(-35%) rotate(45deg);
}
.bloc_espace_perso_abonnements .historique_abo_wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 0.75rem;
  border-radius: 8px;
  border: 1px solid #eef0f4;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table {
  width: 100%;
  border-collapse: collapse;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table th {
  background-color: #1D327B;
  padding: 0.65rem 0.5rem;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table tr:nth-child(odd) {
  background-color: #f4f6fa;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table td {
  padding: 0.65rem 0.5rem;
  vertical-align: middle;
  font-size: 0.9rem;
  color: #1D327B;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table td:not(:first-child) {
  text-align: center;
  white-space: nowrap;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table td:nth-child(2) {
  font-weight: 700;
  color: #2AAEA9;
}
.bloc_espace_perso_abonnements .liste_abonnements .card_abonnement details table td:nth-child(3) {
  font-weight: 700;
  color: #EA5242;
}

/* Responsive */
@media (max-width: 720px) {
  .bloc_espace_perso_abonnements {
    width: calc(100% - 32px);
    padding-bottom: 2rem;
  }
  .bloc_espace_perso_abonnements .titre_abonnement {
    height: 56px;
    margin-bottom: 1rem;
  }
  .bloc_espace_perso_abonnements .titre_abonnement h1 {
    font-size: 1.05rem;
    padding: 0 56px;
  }
  .bloc_espace_perso_abonnements .titre_abonnement__back__label {
    display: none;
  }
  .bloc_espace_perso_abonnements .titre_abonnement__back {
    padding: 0.45rem;
    gap: 0;
  }
  .bloc_espace_perso_abonnements .card_abonnement__header {
    padding: 1rem 1.125rem;
  }
  .bloc_espace_perso_abonnements .card_abonnement__header h2 {
    font-size: 1.05rem;
  }
  .bloc_espace_perso_abonnements .card_abonnement__body {
    padding: 1rem;
    gap: 0.875rem;
  }
  .bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement {
    flex-direction: column;
    padding: 0.875rem;
    gap: 0.75rem;
  }
  .bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .solde_abonnement {
    flex: 0 0 auto;
  }
  .bloc_espace_perso_abonnements .liste_abonnements .card_abonnement .infos_abonnement .date_abonnement {
    text-align: left;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

.bloc_espace_perso_factures{
  margin-left:20%;
  margin-top:20px;
  width:60%;
  padding-bottom:10px;
  position:relative;
  background-color:#ffffff;
  color:#1dbecf;
  margin-bottom: 5rem;
}

.bloc_espace_perso_echeancier{
  margin-left:20%;
  margin-top:20px;
  width:60%;
  padding-bottom:10px;
  position:relative;
  background-color:#ffffff;
  color:#1dbecf;
  margin-bottom: 5rem;
}

.bloc_espace_perso_prelevements{
  margin-left:20%;
  margin-top:20px;
  width:60%;
  padding-bottom:10px;
  position:relative;
  background-color:#ffffff;
  color:#1dbecf;
  margin-bottom: 5rem;
}

/* ------------------------------------------------------------------
   Espace perso : reservations
------------------------------------------------------------------ */
.bloc_espace_perso_reservations {
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  position: relative;
  padding-bottom: 4rem;
}

/* Bandeau de titre */
.bloc_espace_perso_reservations .titre_reservation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 64px;
  background-color: #0093D5;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
}
.bloc_espace_perso_reservations .titre_reservation h1 {
  font-size: 1.5rem;
  color: #ffffff;
  margin: 0;
  padding: 0 64px;
  text-align: center;
  letter-spacing: 0.02em;
}
.bloc_espace_perso_reservations .titre_reservation__back {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem 0.4rem 0.65rem;
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_reservations .titre_reservation__back:hover,
.bloc_espace_perso_reservations .titre_reservation__back:focus {
  background-color: rgba(255, 255, 255, 0.3);
  outline: none;
}
.bloc_espace_perso_reservations .titre_reservation__back:active {
  transform: translateY(-50%) scale(0.97);
}
.bloc_espace_perso_reservations .titre_reservation__back svg {
  width: 18px;
  height: 18px;
  display: block;
}
.bloc_espace_perso_reservations .titre_reservation__back__label {
  display: inline;
}

/* Onglets segmented control */
.bloc_espace_perso_reservations .resa-tabs {
  display: flex;
  gap: 0.25rem;
  padding: 0.25rem;
  background-color: #f4f6fa;
  border: 1px solid #e3e7ed;
  border-radius: 999px;
  margin: 0 auto 1.5rem;
  max-width: 380px;
  box-sizing: border-box;
}
.bloc_espace_perso_reservations .resa-tabs__tab {
  flex: 1 1 0;
  padding: 0.5rem 1rem;
  background-color: transparent;
  border: 0;
  border-radius: 999px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: #6b7a90;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease;
}
.bloc_espace_perso_reservations .resa-tabs__tab:hover {
  color: #1D327B;
}
.bloc_espace_perso_reservations .resa-tabs__tab.is-active {
  background-color: #1D327B;
  color: #ffffff;
}

/* Liste de cards */
.bloc_espace_perso_reservations .resa-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.bloc_espace_perso_reservations .no_resa {
  text-align: center;
  color: #6b7a90;
  padding: 2rem 1rem;
  margin: 0;
}

/* Card reservation */
.bloc_espace_perso_reservations .reservation-card {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  scroll-margin-top: 80px;
  transition: box-shadow 250ms ease, transform 250ms ease;
}
.bloc_espace_perso_reservations .reservation-card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
  transform: translateY(-2px);
}

.bloc_espace_perso_reservations .reservation-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background-color: #1D327B;
  color: #ffffff;
}
.bloc_espace_perso_reservations .reservation-card__header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  flex: 1 1 auto;
}

/* Status badge */
.bloc_espace_perso_reservations .reservation-card__status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.bloc_espace_perso_reservations .reservation-card__status--confirmee {
  background-color: #2AAEA9;
  color: #ffffff;
}
.bloc_espace_perso_reservations .reservation-card__status--annulee {
  background-color: #EA5242;
  color: #ffffff;
}
.bloc_espace_perso_reservations .reservation-card__status--attente {
  background-color: #FBC115;
  color: #1D327B;
}
.bloc_espace_perso_reservations .reservation-card__status--pending {
  background-color: #6b7a90;
  color: #ffffff;
}

.bloc_espace_perso_reservations .reservation-card__body {
  display: flex;
  gap: 1.25rem;
  padding: 1.25rem;
}
.bloc_espace_perso_reservations .reservation-card__image {
  flex: 0 0 200px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f4f6fa;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D327B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.35'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
  min-height: 120px;
}
.bloc_espace_perso_reservations .reservation-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bloc_espace_perso_reservations .reservation-card__details {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem 1.5rem;
  flex: 1 1 auto;
}
.bloc_espace_perso_reservations .reservation-card__details > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bloc_espace_perso_reservations .reservation-card__details dt {
  font-size: 0.7rem;
  text-transform: uppercase;
  color: #6b7a90;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.bloc_espace_perso_reservations .reservation-card__details dd {
  margin: 0;
  font-size: 0.95rem;
  color: #1D327B;
  font-weight: 500;
}
.bloc_espace_perso_reservations .reservation-card__muted {
  color: #6b7a90;
  font-weight: 400;
  font-size: 0.85em;
}

.bloc_espace_perso_reservations .reservation-card__actions {
  display: flex;
  gap: 1rem;
  padding: 0 1.25rem 20px;
  margin-bottom: 0 !important;
  flex-wrap: wrap;
}
.bloc_espace_perso_reservations .reservation-card .reservation-card__actions form,
.bloc_espace_perso_reservations .reservation-card__actions > form {
  margin: 0 !important;
  padding: 0;
  flex: 1 1 180px;
}
.bloc_espace_perso_reservations .reservation-card__delai {
  flex: 1 1 100%;
  margin: 0;
  padding: 0.75rem 1rem;
  background-color: #fff8e1;
  border: 1px solid #FBC115;
  border-radius: 8px;
  color: #1D327B;
  font-size: 0.85rem;
}
.bloc_espace_perso_reservations .reservation-card__btn {
  width: 100%;
  padding: 0.75rem 1rem;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_reservations .reservation-card__btn:active {
  transform: scale(0.98);
}
.bloc_espace_perso_reservations .reservation-card__btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.bloc_espace_perso_reservations .reservation-card__btn--cancel {
  background-color: #ffffff;
  color: #EA5242;
  border: 1px solid #EA5242;
}
.bloc_espace_perso_reservations .reservation-card__btn--cancel:hover {
  background-color: #EA5242;
  color: #ffffff;
}
.bloc_espace_perso_reservations .reservation-card__btn--justif {
  background-color: #1D327B;
  color: #ffffff;
}
.bloc_espace_perso_reservations .reservation-card__btn--justif:hover {
  background-color: #0093D5;
}

@media (max-width: 720px) {
  .bloc_espace_perso_reservations {
    width: calc(100% - 32px);
    padding-bottom: 2rem;
  }
  .bloc_espace_perso_reservations .titre_reservation {
    height: 56px;
    margin-bottom: 1rem;
  }
  .bloc_espace_perso_reservations .titre_reservation h1 {
    font-size: 1.05rem;
    padding: 0 56px;
  }
  .bloc_espace_perso_reservations .titre_reservation__back__label {
    display: none;
  }
  .bloc_espace_perso_reservations .titre_reservation__back {
    padding: 0.45rem;
    gap: 0;
  }
  .bloc_espace_perso_reservations .reservation-card__body {
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
  }
  .bloc_espace_perso_reservations .reservation-card__image {
    flex: 0 0 auto;
    max-height: 180px;
  }
  .bloc_espace_perso_reservations .reservation-card__details {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
  .bloc_espace_perso_reservations .reservation-card__actions {
    padding: 0 1rem 20px;
  }
  .bloc_espace_perso_reservations .reservation-card__actions form {
    flex: 1 1 100%;
  }
}

/* ------------------------------------------------------------------
   Espace perso : profil
------------------------------------------------------------------ */
.bloc_espace_perso_profil {
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  position: relative;
  padding-bottom: 4rem;
}

/* Bandeau de titre */
.bloc_espace_perso_profil .titre_profil {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 64px;
  background-color: #0093D5;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
}
.bloc_espace_perso_profil .titre_profil h1 {
  font-size: 1.5rem;
  color: #ffffff;
  margin: 0;
  padding: 0 64px;
  text-align: center;
  letter-spacing: 0.02em;
}
.bloc_espace_perso_profil .titre_profil__back {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem 0.4rem 0.65rem;
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_profil .titre_profil__back:hover,
.bloc_espace_perso_profil .titre_profil__back:focus {
  background-color: rgba(255, 255, 255, 0.3);
  outline: none;
}
.bloc_espace_perso_profil .titre_profil__back:active {
  transform: translateY(-50%) scale(0.97);
}
.bloc_espace_perso_profil .titre_profil__back svg {
  width: 18px;
  height: 18px;
  display: block;
}
.bloc_espace_perso_profil .titre_profil__back__label {
  display: inline;
}

/* Message de retour */
.bloc_espace_perso_profil .profil-message {
  padding: 0.875rem 1rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 500;
}
.bloc_espace_perso_profil .profil-message--success {
  background-color: #e6f7f6;
  border: 1px solid #2AAEA9;
  color: #1D327B;
}

/* Card principale */
.bloc_espace_perso_profil .profil-card {
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
}

.bloc_espace_perso_profil .profil-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eef0f4;
  margin-bottom: 1.5rem;
}
.bloc_espace_perso_profil .profil-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.bloc_espace_perso_profil .profil-section__title {
  font-size: 0.95rem;
  text-transform: uppercase;
  font-weight: 700;
  color: #1D327B;
  letter-spacing: 0.05em;
  margin: 0;
}
.bloc_espace_perso_profil .profil-section__hint {
  font-size: 0.85rem;
  color: #6b7a90;
  margin: 0.25rem 0 0;
}

.bloc_espace_perso_profil .profil-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 1rem;
  align-items: end;
}
.bloc_espace_perso_profil .profil-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.bloc_espace_perso_profil .profil-field--full {
  grid-column: 1 / -1;
}
.bloc_espace_perso_profil .profil-field label {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #6b7a90;
  letter-spacing: 0.05em;
  font-weight: 500;
  padding-left: 0.25rem;
}
.bloc_espace_perso_profil .profil-field input,
.bloc_espace_perso_profil .profil-field select {
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0 0.875rem;
  border: 1px solid #e3e7ed;
  border-bottom: 1px solid #e3e7ed;
  border-radius: 8px;
  background-color: #f4f6fa;
  color: #1D327B;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.25;
  box-sizing: border-box;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}
.bloc_espace_perso_profil .profil-field input:focus,
.bloc_espace_perso_profil .profil-field select:focus {
  outline: none;
  border-color: #0093D5;
  box-shadow: 0 0 0 3px rgba(0, 147, 213, 0.12);
  background-color: #ffffff;
}
.bloc_espace_perso_profil .profil-field input[readonly] {
  background-color: #eef0f4;
  color: #6b7a90;
  cursor: not-allowed;
  user-select: none;
  pointer-events: none;
  caret-color: transparent;
}
.bloc_espace_perso_profil .profil-field input[readonly]:focus {
  box-shadow: none;
  border-color: #e3e7ed;
  background-color: #eef0f4;
}
.bloc_espace_perso_profil .profil-field select:disabled {
  background-color: #eef0f4;
  color: #6b7a90;
  cursor: not-allowed;
}

/* Radio civilite */
.bloc_espace_perso_profil .profil-radio-group {
  display: flex;
  gap: 0.5rem;
}
.bloc_espace_perso_profil .profil-radio {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 0.875rem;
  border: 1px solid #e3e7ed;
  border-radius: 8px;
  background-color: #f4f6fa;
  color: #6b7a90;
  font-weight: 500;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
  line-height: 1.25;
  box-sizing: border-box;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.bloc_espace_perso_profil .profil-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bloc_espace_perso_profil .profil-radio:has(input[type="radio"]:checked) {
  background-color: #0093D5;
  border-color: #0093D5;
  color: #ffffff;
}
.bloc_espace_perso_profil .profil-radio:hover {
  border-color: #0093D5;
  color: #1D327B;
}
.bloc_espace_perso_profil .profil-radio:has(input[type="radio"]:checked):hover {
  color: #ffffff;
}

/* Actions */
.bloc_espace_perso_profil .profil-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
.bloc_espace_perso_profil .profil-btn {
  flex: 1 1 200px;
  padding: 0.85rem 1.25rem;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 200ms ease;
}
.bloc_espace_perso_profil .profil-btn:active {
  transform: scale(0.98);
}
.bloc_espace_perso_profil .profil-btn svg {
  width: 18px;
  height: 18px;
}
.bloc_espace_perso_profil .profil-btn--primary {
  background-color: #1D327B;
  color: #ffffff;
}
.bloc_espace_perso_profil .profil-btn--primary:hover {
  background-color: #0093D5;
}
.bloc_espace_perso_profil .profil-btn--secondary {
  background-color: #ffffff;
  color: #1D327B;
  border: 1px solid #1D327B;
}
.bloc_espace_perso_profil .profil-btn--secondary:hover {
  background-color: #1D327B;
  color: #ffffff;
}

@media (max-width: 720px) {
  .bloc_espace_perso_profil {
    width: calc(100% - 32px);
    padding-bottom: 2rem;
  }
  .bloc_espace_perso_profil .titre_profil {
    height: 56px;
    margin-bottom: 1rem;
  }
  .bloc_espace_perso_profil .titre_profil h1 {
    font-size: 1.05rem;
    padding: 0 56px;
  }
  .bloc_espace_perso_profil .titre_profil__back__label {
    display: none;
  }
  .bloc_espace_perso_profil .titre_profil__back {
    padding: 0.45rem;
    gap: 0;
  }
  .bloc_espace_perso_profil .profil-card {
    padding: 1rem;
  }
  .bloc_espace_perso_profil .profil-grid {
    grid-template-columns: 1fr;
  }
  .bloc_espace_perso_profil .profil-section {
    padding-bottom: 1.125rem;
    margin-bottom: 1.125rem;
  }
  .bloc_espace_perso_profil .profil-actions {
    flex-direction: column;
  }
  .bloc_espace_perso_profil .profil-btn {
    flex: 1 1 100%;
  }
}

/* Popup nouveau mot de passe */
.ep-popup {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-family: 'Poppins', sans-serif;
}
.ep-popup__close {
  position: absolute;
  top: -1rem;
  right: -1rem;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #f4f6fa;
  color: #1D327B;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease;
}
.ep-popup__close:hover {
  background-color: #1D327B;
  color: #ffffff;
}
.ep-popup__close svg {
  width: 18px;
  height: 18px;
}
.ep-popup__title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1D327B;
  text-align: center;
}
.ep-popup__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}
.ep-popup__field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.ep-popup__field label {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #6b7a90;
  letter-spacing: 0.05em;
  font-weight: 500;
  padding-left: 0.25rem;
}
.ep-popup__field input {
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0 0.875rem;
  border: 1px solid #e3e7ed;
  border-radius: 8px;
  background-color: #f4f6fa;
  color: #1D327B;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.25;
  box-sizing: border-box;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}
.ep-popup__field input:focus {
  outline: none;
  border-color: #0093D5;
  box-shadow: 0 0 0 3px rgba(0, 147, 213, 0.12);
  background-color: #ffffff;
}
.ep-popup__submit {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.85rem 1.25rem;
  background-color: #1D327B;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.ep-popup__submit:hover {
  background-color: #0093D5;
}
.ep-popup__submit:active {
  transform: scale(0.98);
}

#titre_devenir_membre {
margin-bottom: 20px;
margin-top: 60px;
font-size: 18px;
font-family: 'Poppins';
width:80%;
margin-left:10%;
z-index:3;
}

#separateur_devenir_membre {
margin-bottom:30px;
width:14%;
margin-left:43%;
border-bottom:6px solid #000000;
z-index:3;
}

.input-espace-perso{
  width:90%;
  border-radius:5px;
  border:1px solid #1dbecf;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
}

.input-espace-perso-profil{
  width:100%;
  background-color:#f1f1f2;
  border:0;
  border-bottom:5px solid #41becd;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  font-family:'Poppins';
  font-size:16px;
  padding-left:10px;
  color:#8c8c8c;
}

.input-espace-perso-profil::-webkit-input-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:16px;
}

.input-espace-perso-profil::-moz-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:16px;
}

.input-espace-perso-profil:-moz-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:16px;
}

.input-espace-perso-profil:-ms-input-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:16px;
}

.input_password_1 {
    padding-left:10px;
}

.input_password_1::-webkit-input-placeholder {
    color:#ffffff;
    opacity:1;
    font-size:14px;
}

.input_password_1::-moz-placeholder {
    color:#ffffff;
    opacity:1;
    font-size:14px;
}

.input_password_1:-moz-placeholder {
    color:#ffffff;
    opacity:1;
    font-size:14px;
}

.input_password_1:-ms-input-placeholder {
    color:#ffffff;
    opacity:1;
    font-size:14px;
}

.input_password_2 {
    padding-left:10px;
}

.input_password_2::-webkit-input-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:14px;
    font-weight:300;
}

.input_password_2::-moz-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:14px;
    font-weight:300;
}

.input_password_2:-moz-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:14px;
    font-weight:300;
}

.input_password_2:-ms-input-placeholder {
    color:#1dbecf;
    opacity:1;
    font-size:14px;
    font-weight:300;
}

.select-espace-perso{
  width:90%;
  border-radius:5px;
  border:1px solid #1dbecf;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  -moz-appearance:none;
  -webkit-appearance: none;
  appearance: none;
}

.select-espace-perso-profil{
  width:100%;
  background-color:#f1f1f2;
  border:0;
  border-bottom:5px solid #41becd;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  -moz-appearance:none;
  -webkit-appearance: none;
  appearance: none;
  font-family:'Poppins';
  font-size:16px;
  padding-left:5px;
  color:#8c8c8c;
}

.select-espace-perso-newsletters-centres{
  width:80%;
  background-color:#ffffff;
  border:0;
  border-bottom:5px solid #41becd;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  -moz-appearance:none;
  -webkit-appearance: none;
  appearance: none;
  font-family:'Poppins';
  font-size:16px;
  padding-left:5px;
  color:#4acbd9;
  text-align:center;
  text-align-last:center;
}

.select_jereserve{
  width:200px;
  background-color:#ffffff;
  border:1px solid #41becd;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  -moz-appearance:none;
  -webkit-appearance: none;
  appearance: none;
  font-family:'Poppins';
  font-size:16px;
  color:#4acbd9;
  text-align:center;
  text-align-last:center;
}

.input_jereserve{
  width:120px;
  background-color:#ffffff;
  border:1px solid #41becd;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  height:40px;
  -moz-appearance:none;
  -webkit-appearance: none;
  appearance: none;
  font-family:'Poppins';
  font-size:16px;
  color:#4acbd9;
  text-align:center;
}

.bloc_espace_perso_login{
  margin-left:20%;
  margin-top:100px;
  margin-bottom:100px;
  width:60vw;
  height:60vh;
  position:relative;
}

.bloc_espace_perso_devenir_membre{
  margin-left:20%;
  margin-top:100px;
  margin-bottom:100px;
  width:60vw;
  height:60vh;
  position:relative;
}

.accueil_bloc_slider{
  margin-left:20%;
  margin-top:20px;
  margin-bottom:20px;
  width:60%;
  position:relative;
}

.accueil_blocs_content
{
/* nofloat:left; */
margin-left:20%;
margin-top:20px;
width:60%;
position:relative;
}

.accueil_blocs_content_reservations
{
margin-left:0;
/* margin-top:20px; */
width:100%;
position:relative;
}

.accueil_bloc_slider_centre{
float:left;
width:100%;
position:relative;
}

.accueil_bloc_slider_centre_titre{
position:absolute;
left:10%;
top:10%;
width:80%;
color:#16164f;
line-height: 3vh;
font-size: 3vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_adresse{
position:absolute;
left:10%;
top:20%;
width:80%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_tel{
position:absolute;
left:10%;
top:40%;
width:40%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_email{
position:absolute;
left:10%;
top:50%;
width:40%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_web{
position:absolute;
left:10%;
top:60%;
width:40%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_web a{
text-decoration:none;
color:#16164f;
}

.accueil_bloc_slider_centre_facebook{
position:absolute;
left:10%;
top:70%;
width:40%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_slider_centre_twitter{
position:absolute;
left:10%;
top:80%;
width:40%;
color:#16164f;
line-height: 2vh;
font-size: 2vh;
font-family: 'Poppins';
text-decoration:none;
}


#bloc_partage_twitter{
  position:absolute;
  right:12px;
  bottom:50px;
  width:60px;
  z-index:3;
}

#bloc_partage_facebook{
  position:absolute;
  right:12px;
  bottom:10px;
  width:60px;
  z-index:3;
}

.background_head_solidaire{
/* noopacity: 0.5;
nobackground-color: #ffffff; */
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index:2;
/* nobackground-color:rgba(255,255,255,0.5); */
}

.head_solidaire{
background-color:rgba(255,255,255,0.5);
/* nobackground-color:#ffffff;
noopacity:0.5;
nobackground-image:url('../images/accueil-geoloc.png');
nobackground-repeat: no-repeat;
nobackground-size:cover;
nobackground-position: left; */
float:left;
margin-left:20%;
margin-top:20px;
width:60%;
height:250px;
text-align:center;
font-size: 18px;
color:#000000;
position:relative;
}

#bouton_geoloc {
background: #fff none repeat scroll 0 0;
border: 4px solid #fff;
color: #4abbb5;
text-decoration: none;
padding-left: 35px;
padding-right: 30px;
background-image:url('../images/marker2.png');
background-repeat: no-repeat;
background-size:contain;
background-position: left;
position: relative;
}

#titre_solidaire {
margin-bottom: 20px;
margin-top: 60px;
font-size: 18px;
font-family: 'Poppins';
width:80%;
margin-left:10%;
z-index:3;
}

#separateur_solidaire {
margin-bottom:30px;
width:14%;
margin-left:43%;
border-bottom:6px solid #000000;
z-index:3;
}

#texte_solidaire {
margin-bottom: 20px;
margin-top: 10px;
font-size: 1vw;
font-family: 'Poppins';
width:80%;
margin-left:10%;
line-height:1vw;
z-index:3;
}

/* ------------------------------------------------------------------
   Refonte espace-perso : grille de tuiles + hero responsive
------------------------------------------------------------------ */
.ep-menu-spacer { height: 200px; }

.ep-hero {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  padding: 1.25rem 1.5rem;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  box-sizing: border-box;
}
.ep-hero__logo-circle {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 1px solid #eef0f4;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
}
.ep-hero__logo-circle img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.ep-hero__welcome {
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #1D327B;
  line-height: 1.2;
}
.ep-hero__welcome strong {
  font-weight: 700;
  color: #0093D5;
}

.ep-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  max-width: 1100px;
  width: calc(100% - 32px);
  margin: 0 auto 64px;
}
.ep-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  aspect-ratio: 1 / 1;
  padding: 1rem;
  border-radius: 8px;
  color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.ep-tile:hover,
.ep-tile:focus {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.14);
  outline: none;
}
.ep-tile__icon {
  display: inline-flex;
  width: 56px;
  height: 56px;
  color: #ffffff;
}
.ep-tile__icon svg { width: 100%; height: 100%; display: block; }
.ep-tile__label {
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #ffffff;
}

@media (max-width: 720px) {
  .ep-menu-spacer { height: 120px; }
  .ep-hero {
    gap: 1rem;
    padding: 1rem 1.125rem;
  }
  .ep-hero__logo-circle {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    padding: 6px;
  }
  .ep-hero__welcome {
    font-size: 1.15rem;
  }
  .ep-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .ep-tile__icon { width: 44px; height: 44px; }
  .ep-tile__label { font-size: 12px; }
}

@media (max-width: 360px) {
  .ep-grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------
   Anciennes classes (conservees pour compat des autres pages)
------------------------------------------------------------------ */
.bloc_1_4{
border:0;
margin:0;
padding:0;
background-color:#989898;
display:none;
}

.bloc_2_4{
border:0;
margin:0;
padding:0;
background-color:#989898;
display:table-cell;
}

.bloc_1_4_separator{
display:table-cell;
width:20px;
}

.no_resa {
  color: #000;
  text-align: center;
  margin: 50px;
}

.accueil_bloc_titre_blanc a {
position:absolute;
left:10%;
top:5%;
height:5%;
color:#ffffff;
font-size: 30px;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_titre {
position:absolute;
left:10%;
top:5%;
height:5%;
width:90%;
font-size: 1.3vw;
font-family: 'Poppins';
text-decoration:none;
z-index:4;
}

.accueil_bloc_titre a {
font-size: 1.3vw;
font-family: 'Poppins';
text-decoration:none;
width:100%;
}

.accueil_bloc_titre_noir a {
position:absolute;
left:10%;
top:5%;
height:5%;
color:#000000;
font-size: 28px;
font-family: 'Poppins';
text-decoration:none;
}

.accueil_bloc_soustitre_blanc a {
position:absolute;
left:10%;
top:10%;
height:5%;
color:#ffffff;
font-size: 19px;
font-family: 'Poppins';
line-height: 2em;
text-decoration:none;
}

.accueil_bloc_soustitre {
position:absolute;
left:10%;
top:10%;
height:5%;
font-size: 16px;
font-family: 'Poppins';
line-height: 2em;
text-decoration:none;
z-index:4;
}

.accueil_bloc_soustitre a {
font-size: 16px;
font-family: 'Poppins';
line-height: 2em;
text-decoration:none;
}

.accueil_bloc_soustitre_noir a{
position:absolute;
left:10%;
top:10%;
height:5%;
color:#000000;
font-size: 19px;
font-family: 'Poppins';
line-height: 2em;
text-decoration:none;
}

/*-------------------------------------------- Debut Slider page accueil --------------------------------------------------*/

/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  margin-bottom: 0px;
  padding: 0;
  /* *zoom: 1; */
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  transform: translatez(0);
  -webkit-transform: translatez(0);
}
/** THEME
===================================*/
.bx-wrapper {
  -moz-box-shadow: 0 0 0px #ccc;
  -webkit-box-shadow: 0 0 0px #ccc;
  box-shadow: 0 0 0px #ccc;
  border: 0px solid #fff;
  background: #fff;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%;
}
/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url('../images/bx_loader.gif') center center no-repeat #ffffff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #000;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  /* *zoom: 1;
  *display: inline; */
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 10px;
  background: url('../images/controls.png') no-repeat 0 -32px;
}
.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: 0 0;
}
.bx-wrapper .bx-next {
  right: 10px;
  background: url('../images/controls.png') no-repeat -43px -32px;
}
.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
  background-position: -43px 0;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}
/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  background: url('../images/controls.png') -86px -11px no-repeat;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
  background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  background: url('../images/controls.png') -86px -44px no-repeat;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
  background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}
/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(80, 80, 80, 0.75);
  width: 100%;
}
.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px;
}

/*---------------------------------------------- Fin Slider page accueil --------------------------------------------------*/


#mask_popup{
  z-index: 9;
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(56, 74, 105, 0.5);
  backdrop-filter: blur(3px) grayscale(1);
  transition: opacity 300ms ease-in-out;
}
#popup{
  z-index: 10;
  display: none;
  flex-direction: column;
  gap: 1rem;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  box-sizing: border-box;
  width: 600px;
  padding: 3rem 2rem;
  max-width: calc(100% - 32px);
  max-height: calc(100% - 32px);
  border-radius: 1rem;
  box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0);
  background-color: var(--white);
  transition: 
    box-shadow 300ms  ease-in-out,
    opacity 250ms  ease-in-out,
    transform 300ms  ease-in-out;
}
#popup h3 {
  font-size: 1.5rem;
  color: var(--secondary);
  text-align: center;
  font-weight: 600;
  margin-bottom: 1rem;
}
#popup form {
  margin: unset;
}
#popup label {
  font-weight: 500;
  color: var(--secondary);
  padding-left: 0.5rem;
}
#popup input:not(input[type='submit']) {
  padding: 0.8rem;
  text-align: left;
  appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
  width: 100%;
  height: fit-content;
  margin: unset;
  border: 2px solid var(--disabled);
  border-radius: 0.5rem;
  box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  font-size: 1rem;
  color: var(--grey);
  background-color: var(--white);
}
#popup input:not(input[type='submit']):focus {
  border: 1px solid var(--secondary);
  color: var(--secondary);
  padding: calc(0.8rem + 1px);
}
#popup input:not(input[type='submit']):focus::placeholder {
  color: var(--secondary);
}
/* #popup input[type='submit']{
  display: flex;
  justify-content: center;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  padding: 0.75rem;
  width: 100%;
  background-color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 0.25rem;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  color: var(--white);
  /* margin-top: 2rem; */
  /* transition: all 250ms ease-in-out;
}
#popup input[type='submit']:hover {
  background-color: var(--secondary);
  border-color: var(--secondary);
  color: var(--white);
} */
/* The container */
.my-radio-container {
    display: block;
    position: relative;
    padding-left: 35px;
    padding-top:3px;
    cursor: pointer;
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color:#1dbecf;
}

/* Hide the browser's default radio button */
.my-radio-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.my-radio-checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
    /* noborder-radius: 50%; */
}

/* On mouse-over, add a grey background color */
.my-radio-container:hover input ~ .my-radio-checkmark {
    background-color: #f1f1f2;
}

/* When the radio button is checked, add a blue background */
.my-radio-container input:checked ~ .my-radio-checkmark {
    background-color: #41becd;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.my-radio-checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.my-radio-container input:checked ~ .my-radio-checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.my-radio-container .my-radio-checkmark:after {
 	top: 9px;
	left: 9px;
	width: 8px;
	height: 8px;
	/* noborder-radius: 50%; */
	background: #41becd;
}


input.yesno{position:relative;vertical-align:middle;margin-left:8px;display:none;}
label.yesno{margin-left:40px;padding-left:10px;position:relative;color:#1dbecf;}
input.yesno:checked+label:before{background-color:#a1dee6;}
input.yesno:checked+label:after{left:-20px;}
label.yesno:before{content:"";position:absolute;top:2px;left: -38px;display: block;width: 38px;height: 16px;background-color: #f1f1f2;border-radius: 10px;margin-top: 0;margin-left: -6px;border: 0px solid hsl(0, 0%, 77%);}
label.yesno:after{content: "";display: block;width: 20px;height: 20px;border-radius: 14px;background-color: #44becd;position: absolute;top: 0px;left: -42px;-webkit-transition: left .3s ease-in-out;-moz-transition: left .3s ease-in-out;-o-transition: left .3s ease-in-out;transition: left .3s ease-in-out;}
input.yesno[disabled]+label:after{display: none;}
input.yesno[disabled]+label:before{background-color: #fafaf8;box-shadow: inset 0 0 3px hsla(0, 0%, 26%, 0.65);opacity: .6;}


.dropzone_100{text-align:center;}
.dropzone_espace_perso_100{margin-left:auto;margin-right:auto;padding:0;position:relative;overflow:hidden;width:100px;height:100px;cursor:pointer;}
.dropzone_espace_perso_100_image{max-width:100px;max-height:100px;}
.dropzone_espace_perso_100_file{position:absolute;top:0;right:0;margin:0;padding:0;font-size:500px;cursor:pointer;opacity:0;filter:alpha(opacity=0);}
.dropzone_espace_perso_100_progress{display:none;position:absolute;bottom:0;left:0;width:100px;margin:0;padding:0;}

.dropzone_160{text-align:center;}
.dropzone_espace_perso_160{margin-left:auto;margin-right:auto;padding:0;position:relative;overflow:hidden;width:160px;height:190px;cursor:pointer;}
.dropzone_espace_perso_160_image{max-width:160px;max-height:160px;}
.dropzone_espace_perso_160_file{position:absolute;top:0;right:0;margin:0;padding:0;font-size:500px;cursor:pointer;opacity:0;filter:alpha(opacity=0);}
.dropzone_espace_perso_160_progress{display:none;position:absolute;bottom:0;left:0;width:160px;margin:0;padding:0;}

/*
-----------------------------------------------------------------------------------------------------------------------------------
en dessous de 1024 pixels de largeur
-----------------------------------------------------------------------------------------------------------------------------------
*/
@media screen and (max-width: 1024px)
{

.head_solidaire{
margin-left:0;
margin-top:0;
width:100%;
min-height: 100%;
}

.accueil_blocs_content
{
margin-top:0;
margin-left:0;
width:100%;
}

.accueil_blocs_content_reservations
{
margin-top:0;
margin-left:0;
width:100%;
}

.accueil_bloc_titre{
  font-size:4vw;
}

.accueil_bloc_titre a{
  font-size:4vw;
}

.accueil_bloc_soustitre a{
  font-size:16px;
}

.bloc_1_4{
width:100vw;
height:100vw;
margin-right:0;
margin-top:0;
display:block;
}

.bloc_1_4_separator{
display:none;
}

.bloc_2_4{
width:100%;
margin-right:0;
margin-top:0;
}

#texte_solidaire {
font-size:3vh;
padding:0;
line-height:3vh;
}

.bloc_espace_perso_login{
  margin-left:0;
  margin-top:100px;
  margin-bottom:0;
  width:100vw;
  height:160vh;
  position:relative;
}

.bloc_head_espace_perso{
  margin-left:0;
  margin-top:100px;
  width:100vw;
  height:140vh;
  position:relative;
}

.accueil_bloc_slider{
  margin-left:0;
  margin-top:0;
  margin-bottom:0;
  width:100vw;
  position:relative;
}


.bloc_espace_perso_motdepasseperdu{
  margin-left:0;
  margin-top:100px;
  width:100vw;
  position:relative;
}

.bloc_espace_perso_bienvenue{
  margin-left:0;
  margin-top:100px;
  width:100vw;
  position:relative;
}

.bloc_espace_perso_factures{
  margin-left:0;
  margin-top:0;
  width:100vw;
  padding-bottom:10px;
}

.bloc_espace_perso_echeancier{
  margin-left:0;
  margin-top:0;
  width:100vw;
  padding-bottom:10px;
}

.bloc_espace_perso_prelevements{
  margin-left:0;
  margin-top:0;
  width:100vw;
  padding-bottom:10px;
}

.select_jereserve{
  width:100%;
}

.input_jereserve{
  width:100%;
}
#inscription .div_inscription_popup {
  display: block;
}
} /* @media screen and (max-width: 1024px) */