
/* =========================================================
   HONFLEUR INSIDER
   OU ON VA ?
   ========================================================= */


.rdh-go-page-header {
  padding-bottom: 12px !important;
}


.rdh-go {
  padding:
    0
    8px
    calc(22px + env(safe-area-inset-bottom));

  box-sizing: border-box;
}


/* =========================================================
   CARTES
   ========================================================= */

.rdh-go-card,
.rdh-go-map-card,
.rdh-go-route {
  box-sizing: border-box;

  margin-bottom: 8px;

  background: #fbfaf7;

  border: 1px solid rgba(16,35,90,.07);

  border-radius: 18px;

  box-shadow:
    0 5px 16px rgba(16,35,90,.055);
}


.rdh-go-card {
  padding: 12px;
}


/* =========================================================
   TITRES SECTIONS
   ========================================================= */

.rdh-go-section-head {
  display: flex;
  align-items: center;

  gap: 9px;

  margin-bottom: 11px;
}


.rdh-go-number {
  width: 29px;
  height: 29px;

  flex: 0 0 29px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #10235a;
  color: #ffffff;

  font-size: 14px;
  font-weight: 800;
}


.rdh-go-section-title {
  color: #10235a;

  font-size: 17px;
  line-height: 1.05;

  font-weight: 800;
}


.rdh-go-section-subtitle {
  margin-top: 2px;

  color: #7c879f;

  font-size: 10px;
  line-height: 1.15;
}


/* =========================================================
   DESTINATION
   ========================================================= */

.rdh-go-field-label {
  display: block;

  margin: 0 0 5px 2px;

  color: #6f7990;

  font-size: 10px;
  font-weight: 700;
}


.rdh-go-select-wrap {
  position: relative;
}


.rdh-go-select {
  appearance: none;
  -webkit-appearance: none;

  width: 100%;
  height: 44px;

  box-sizing: border-box;

  padding:
    0
    40px
    0
    13px;

  border:
    1px solid
    #dfe3eb;

  border-radius: 13px;

  outline: none;

  background: #ffffff;

  color: #10235a;

  font-size: 13px;
  font-weight: 700;
}


.rdh-go-select:focus {
  border-color: #d3a044;

  box-shadow:
    0 0 0 3px
    rgba(211,160,68,.12);
}


.rdh-go-select-arrow {
  position: absolute;

  top: 50%;
  right: 13px;

  transform:
    translateY(-55%);

  pointer-events: none;

  color: #d09a38;

  font-size: 22px;
}


.rdh-go-choice-summary {
  margin-top: 8px;

  display: flex;
  align-items: center;

  gap: 7px;

  padding:
    7px
    10px;

  border-radius: 11px;

  background: #f5f7fb;

  color: #10235a;

  font-size: 11px;
  font-weight: 700;
}


.rdh-go-choice-dot {
  width: 8px;
  height: 8px;

  flex: 0 0 8px;

  border-radius: 50%;

  background: #d3a044;
}


/* =========================================================
   POINT DE DEPART
   ========================================================= */

.rdh-go-start-options {
  display: grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap: 6px;
}


.rdh-go-start-option {
  min-width: 0;

  min-height: 76px;

  box-sizing: border-box;

  padding:
    8px
    5px;

  border:
    1px solid
    #e0e4eb;

  border-radius: 13px;

  background: #ffffff;

  color: #10235a;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 5px;

  text-align: center;

  cursor: pointer;

  -webkit-tap-highlight-color:
    transparent;
}


.rdh-go-start-option.active {
  border-color: #d3a044;

  background:
    linear-gradient(
      180deg,
      #fffaf0 0%,
      #ffffff 100%
    );

  box-shadow:
    inset 0 0 0 1px
    rgba(211,160,68,.16);
}


.rdh-go-start-icon {
  width: 27px;
  height: 27px;

  display: flex;
  align-items: center;
  justify-content: center;
}


.rdh-go-start-icon svg {
  width: 24px;
  height: 24px;

  fill: none;

  stroke: #d09a38;
  stroke-width: 1.8;

  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-go-start-option strong {
  display: block;

  font-size: 10.5px;
  line-height: 1.08;

  font-weight: 800;
}


.rdh-go-start-option small {
  display: block;

  margin-top: 3px;

  color: #8a93a7;

  font-size: 7.5px;
  line-height: 1.12;
}


/* =========================================================
   RECHERCHE ADRESSE
   ========================================================= */

.rdh-go-destination-search,
.rdh-go-other-start {
  margin-top: 8px;
}


.rdh-go-inline-field {
  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 6px;
}


.rdh-go-inline-field input {
  min-width: 0;

  height: 40px;

  box-sizing: border-box;

  padding:
    0
    11px;

  border:
    1px solid
    #dfe3eb;

  border-radius: 11px;

  outline: none;

  background: #ffffff;

  color: #10235a;

  font-size: 11px;
}


.rdh-go-inline-field input:focus {
  border-color: #d3a044;
}


.rdh-go-inline-field button {
  height: 40px;

  padding:
    0
    12px;

  border: 0;

  border-radius: 11px;

  background: #10235a;

  color: #ffffff;

  font-size: 10px;
  font-weight: 800;
}


.rdh-go-search-results {
  display: grid;

  gap: 4px;

  margin-top: 5px;
}


.rdh-go-search-result {
  width: 100%;

  box-sizing: border-box;

  padding:
    8px
    10px;

  border:
    1px solid
    #e6e8ee;

  border-radius: 10px;

  background: #ffffff;

  color: #10235a;

  text-align: left;

  font-size: 10px;
  line-height: 1.2;
}


/* =========================================================
   STATUT
   ========================================================= */

.rdh-go-status {
  min-height: 0;

  margin-top: 7px;

  color: #7c879f;

  font-size: 10px;
  line-height: 1.25;
}


.rdh-go-status:empty {
  display: none;
}


.rdh-go-status.error {
  color: #aa3d3d;
}


/* =========================================================
   CARTE
   ========================================================= */

.rdh-go-map-card {
  position: relative;

  overflow: hidden;

  height: 235px;

  padding: 0;
}


.rdh-go-map {
  width: 100%;
  height: 100%;

  background: #e9edf2;
}


.rdh-go-map .leaflet-control-attribution {
  font-size: 7px;
}


.rdh-go-map .leaflet-control-zoom {
  border: 0;

  box-shadow:
    0 3px 10px
    rgba(16,35,90,.12);
}


.rdh-go-recenter {
  position: absolute;

  z-index: 500;

  right: 10px;
  bottom: 10px;

  width: 38px;
  height: 38px;

  border: 0;

  border-radius: 50%;

  background: #ffffff;

  color: #10235a;

  box-shadow:
    0 3px 12px
    rgba(16,35,90,.18);

  font-size: 20px;
  font-weight: 700;
}


/* =========================================================
   TRAJET
   ========================================================= */

.rdh-go-route {
  padding: 12px;
}


.rdh-go-route-main {
  display: flex;
  align-items: center;

  gap: 9px;
}


.rdh-go-walk-icon {
  width: 37px;
  height: 37px;

  flex: 0 0 37px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #fff4dd;
}


.rdh-go-walk-icon svg {
  width: 23px;
  height: 23px;

  fill: none;

  stroke: #10235a;
  stroke-width: 1.8;

  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-go-route-mode {
  color: #10235a;

  font-size: 16px;
  line-height: 1;

  font-weight: 800;
}


.rdh-go-route-destination {
  margin-top: 4px;

  color: #7c879f;

  font-size: 9px;
}


.rdh-go-route-destination strong {
  color: #10235a;
}


.rdh-go-route-stats {
  margin:
    11px
    0;

  padding:
    9px
    0;

  display: grid;

  grid-template-columns:
    1fr
    1px
    1fr;

  align-items: center;

  border-top:
    1px solid
    #eceef2;

  border-bottom:
    1px solid
    #eceef2;
}


.rdh-go-route-stats > div:not(.rdh-go-route-separator) {
  text-align: center;
}


.rdh-go-route-stats strong {
  display: block;

  color: #10235a;

  font-size: 19px;
  line-height: 1;

  font-weight: 800;
}


.rdh-go-route-stats span {
  display: block;

  margin-top: 3px;

  color: #8b94a6;

  font-size: 8px;
}


.rdh-go-route-separator {
  height: 30px;

  background: #e5e8ee;
}


.rdh-go-guide {
  width: 100%;
  height: 45px;

  box-sizing: border-box;

  padding:
    0
    15px;

  border: 0;

  border-radius: 13px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  background:
    linear-gradient(
      100deg,
      #10235a,
      #1c397a
    );

  color: #ffffff;

  font-size: 13px;
  font-weight: 800;

  box-shadow:
    0 5px 14px
    rgba(16,35,90,.16);
}


.rdh-go-guide span:last-child {
  color: #e3b85d;

  font-size: 27px;
  font-weight: 300;
}


/* =========================================================
   MARQUEURS
   ========================================================= */

.rdh-go-marker {
  width: 19px;
  height: 19px;

  box-sizing: border-box;

  border:
    3px solid
    #ffffff;

  border-radius: 50%;

  background: #10235a;

  box-shadow:
    0 2px 7px
    rgba(16,35,90,.25);
}


.rdh-go-marker.destination {
  background: #d3a044;
}


/* =========================================================
   PETITS ECRANS
   ========================================================= */

@media (max-width: 390px) {

  .rdh-go-card {
    padding: 10px;
  }

  .rdh-go-start-option {
    min-height: 70px;
  }

  .rdh-go-map-card {
    height: 215px;
  }

}



/* =========================================================
   DESTINATION - SAISIE LIBRE
   20/08/2026
   ========================================================= */

.rdh-go-destination-main {
  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 6px;
}


.rdh-go-destination-input-wrap {
  position: relative;

  min-width: 0;
}


.rdh-go-destination-icon {
  position: absolute;

  top: 50%;
  left: 12px;

  transform:
    translateY(-50%);

  width: 23px;
  height: 23px;

  display: flex;
  align-items: center;
  justify-content: center;

  pointer-events: none;
}


.rdh-go-destination-icon svg {
  width: 22px;
  height: 22px;

  fill: none;

  stroke: #d09a38;
  stroke-width: 1.8;

  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-go-destination-input {
  appearance: none;
  -webkit-appearance: none;

  width: 100%;
  height: 46px;

  box-sizing: border-box;

  padding:
    0
    12px
    0
    42px;

  border:
    1px solid
    #dfe3eb;

  border-radius: 13px;

  outline: none;

  background: #ffffff;

  color: #10235a;

  font-size: 13px;
  font-weight: 700;
}


.rdh-go-destination-input::placeholder {
  color: #7c879f;

  font-weight: 600;

  opacity: 1;
}


.rdh-go-destination-input:focus {
  border-color: #d3a044;

  box-shadow:
    0 0 0 3px
    rgba(211,160,68,.12);
}


.rdh-go-destination-search-button {
  height: 46px;

  padding:
    0
    13px;

  border: 0;

  border-radius: 13px;

  background: #10235a;

  color: #ffffff;

  font-size: 10px;
  font-weight: 800;

  cursor: pointer;
}


@media (max-width: 390px) {

  .rdh-go-destination-search-button {
    padding:
      0
      10px;

    font-size: 9px;
  }

}



/* === OU ON VA - ANTI ZOOM IOS === */

/*
 * Safari iPhone zoome automatiquement lorsqu'un champ
 * de saisie utilise une police inférieure à 16px.
 *
 * On conserve donc la mise en page actuelle,
 * mais les champs passent à 16px pendant la saisie.
 */

.rdh-go input[type="search"],
.rdh-go input[type="text"],
.rdh-go-destination-input,
#rdh-go-destination-address,
#rdh-go-start-address {
  font-size: 16px !important;
}


/*
 * Le texte reste visuellement compact grâce
 * aux dimensions et paddings existants.
 */

.rdh-go-destination-input {
  font-weight: 700 !important;
}

#rdh-go-start-address {
  font-weight: 600 !important;
}


/*
 * Les résultats de recherche peuvent rester petits :
 * eux ne déclenchent aucun zoom Safari.
 */

.rdh-go-search-result {
  font-size: 11px !important;
}

/* === FIN OU ON VA - ANTI ZOOM IOS === */



/* =========================================================
   OU ON VA - HEBERGEMENT MANQUANT
   ========================================================= */

.rdh-go-hebergement-missing {
  margin-top: 8px;

  padding: 10px;

  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;

  border: 1px solid rgba(211,160,68,.28);
  border-radius: 12px;

  background:
    linear-gradient(
      100deg,
      #fff9ed 0%,
      #ffffff 100%
    );
}


.rdh-go-hebergement-missing-text {
  flex: 1 1 auto;
  min-width: 0;
}


.rdh-go-hebergement-missing-text strong {
  display: block;

  color: #10235a;

  font-size: 11px;
  line-height: 1.15;

  font-weight: 800;
}


.rdh-go-hebergement-missing-text span {
  display: block;

  margin-top: 3px;

  color: #7c879f;

  font-size: 8px;
  line-height: 1.2;
}


.rdh-go-hebergement-missing-button {
  flex: 0 0 auto;

  min-height: 36px;

  padding:
    0
    10px;

  border: 0;

  border-radius: 10px;

  background: #10235a;

  color: #ffffff;

  font-size: 9px;
  line-height: 1.1;

  font-weight: 800;

  cursor: pointer;

  -webkit-tap-highlight-color:
    transparent;
}


.rdh-go-hebergement-missing-button:active {
  transform: scale(.98);
}


@media (max-width: 390px) {

  .rdh-go-hebergement-missing {
    align-items: stretch;
    flex-direction: column;
  }

  .rdh-go-hebergement-missing-button {
    width: 100%;
  }

}


/* =========================================================
   OU ON VA - BOUTON EFFACER DESTINATION
   ========================================================= */

.rdh-go-destination-input {
  padding-right: 42px !important;
}


/* Masque le X natif de Safari pour éviter un doublon */

.rdh-go-destination-input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}


.rdh-go-destination-clear {
  position: absolute;

  top: 50%;
  right: 9px;

  transform: translateY(-50%);

  width: 28px;
  height: 28px;

  padding: 0;

  border: 0;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #eef0f4;

  color: #7c879f;

  font-size: 21px;
  line-height: 1;
  font-weight: 400;

  cursor: pointer;

  -webkit-tap-highlight-color: transparent;
}


.rdh-go-destination-clear[hidden] {
  display: none !important;
}


.rdh-go-destination-clear:active {
  background: #e2e5eb;

  transform:
    translateY(-50%)
    scale(.94);
}


/* === RDH X AUTRE ADRESSE === */

.rdh-go-start-input-wrap {
  position: relative;
  min-width: 0;
}

.rdh-go-start-input-wrap input {
  width: 100%;
  padding-right: 42px !important;
}

.rdh-go-start-input-wrap
input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}

.rdh-go-inline-field .rdh-go-start-clear {
  position: absolute;
  top: 50%;
  right: 7px;

  transform: translateY(-50%);

  width: 27px;
  height: 27px;

  padding: 0;
  border: 0;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #eef0f4;
  color: #7c879f;

  font-size: 20px;
  line-height: 1;

  cursor: pointer;
}

.rdh-go-inline-field
.rdh-go-start-clear[hidden] {
  display: none !important;
}


/* =========================================================
   RDH GO ORDER SAFE V1
   ========================================================= */

/*
 * Aucun déplacement de balise HTML.
 * Les deux cartes existantes sont uniquement réordonnées
 * visuellement.
 */

.rdh-go {
  display: flex;
  flex-direction: column;
}


.rdh-go > .rdh-go-card-start {
  order: 1;
}


.rdh-go > .rdh-go-card-destination {
  order: 2;
}


.rdh-go > .rdh-go-map-card {
  order: 3;
}


.rdh-go > .rdh-go-route {
  order: 4;
}


/* === FIN RDH GO ORDER SAFE V1 === */



/* =========================================================
   RDH GO NUMBERED DESTINATIONS V1
   ========================================================= */


/* ---------------------------------------------------------
   RESULTAT DANS LA LISTE
   --------------------------------------------------------- */

.rdh-go-numbered-result {
  display: grid !important;

  grid-template-columns:
    28px
    minmax(0,1fr)
    auto;

  align-items: center;

  gap: 8px;

  min-height: 44px;

  padding:
    7px
    9px !important;

  cursor: pointer;

  -webkit-tap-highlight-color:
    transparent;
}


.rdh-go-numbered-result:active {
  background: #f7f8fb;
}


.rdh-go-numbered-result-badge {
  width: 26px;
  height: 26px;

  display: flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  border-radius: 50%;

  background: #d3a044;

  color: #ffffff;

  font-size: 11px;
  line-height: 1;

  font-weight: 900;
}


.rdh-go-numbered-result-text {
  min-width: 0;

  color: #10235a;

  font-size: 11px;
  line-height: 1.22;

  font-weight: 650;
}


.rdh-go-numbered-result-distance {
  white-space: nowrap;

  color: #7c879f;

  font-size: 9px;
  line-height: 1;

  font-weight: 800;
}


/* ---------------------------------------------------------
   MEME NUMERO SUR LA CARTE
   --------------------------------------------------------- */

.rdh-go-numbered-marker {
  width: 32px;
  height: 32px;

  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: center;

  border:
    3px solid
    #ffffff;

  border-radius: 50%;

  background: #d3a044;

  box-shadow:
    0 3px 10px
    rgba(16,35,90,.32);
}


.rdh-go-numbered-marker span {
  color: #ffffff;

  font-size: 12px;
  line-height: 1;

  font-weight: 900;
}


/* Tooltip du nom du lieu */

.rdh-go-map .leaflet-tooltip {
  border: 0;

  border-radius: 9px;

  padding:
    6px
    8px;

  box-shadow:
    0 3px 12px
    rgba(16,35,90,.18);

  color: #10235a;

  font-size: 10px;
}


/* ---------------------------------------------------------
   PETITS ECRANS
   --------------------------------------------------------- */

@media (max-width: 390px) {

  .rdh-go-numbered-result {
    grid-template-columns:
      27px
      minmax(0,1fr)
      auto;

    gap: 6px;
  }


  .rdh-go-numbered-result-text {
    font-size: 10.5px;
  }


  .rdh-go-numbered-result-distance {
    font-size: 8.5px;
  }

}


/* === FIN RDH GO NUMBERED DESTINATIONS V1 === */



/* =========================================================
   OU ON VA - STATUS DESTINATION V1
   ========================================================= */

.rdh-go-destination-status {
  margin-top: 7px;
}


.rdh-go-destination-status:empty {
  display: none;
}


.rdh-go-destination-status.error {
  color: #aa3d3d;
}


/* === FIN OU ON VA - STATUS DESTINATION V1 === */

