/*
Theme Name: RDH App
Theme URI: https://app.radiodigitalehonfleur.fr
Author: Honfleur Insider
Description: Thème sur mesure pour lapplication PWA Honfleur Insider.
Version: 1.2
Text Domain: rdh-app
*/

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #f3f6fb;
  font-family: Arial, Helvetica, sans-serif;
  color: #10235a;
}

body {
  min-height: 100vh;
  padding-bottom: 92px;
}

.rdh-app {
  width: 100%;
  max-width: 700px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 28px 18px 42px;
}

.rdh-header {
  padding: 18px 6px 28px;
}

.rdh-brand {
  font-size: 32px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -1px;
  color: #10235a;
}

.rdh-subtitle {
  margin-top: 8px;
  font-size: 16px;
  color: #6a789d;
}

.rdh-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.rdh-card {
  min-height: 155px;
  padding: 22px;
  border-radius: 26px;
  background: #ffffff;
  color: #10235a;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(16, 35, 90, 0.07);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.rdh-card:hover {
  box-shadow: 0 14px 34px rgba(16, 35, 90, 0.11);
}

.rdh-card:active {
  transform: scale(0.98);
}

.rdh-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: #edf2ff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rdh-icon-warm {
  background: #fff0dc;
}

.rdh-icon svg {
  width: 28px;
  height: 28px;
  display: block;
  fill: none;
  stroke: #10235a;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-icon-warm svg {
  stroke: #e88a1a;
}

/* BARRE DE NAVIGATION */

.rdh-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 700px;
  height: 78px;
  padding: 8px 10px 10px;
  background: rgba(255,255,255,0.97);
  border-top: 1px solid rgba(16,35,90,0.08);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  z-index: 9999;
  box-shadow: 0 -8px 30px rgba(16,35,90,0.08);
}

.rdh-nav-item {
  color: #7a86a7;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
}

.rdh-nav-item svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-nav-item.active {
  color: #10235a;
}

@media (max-width: 480px) {

  body {
    padding-bottom: 86px;
  }

  .rdh-app {
    padding: 20px 14px 32px;
  }

  .rdh-header {
    padding: 16px 4px 22px;
  }

  .rdh-brand {
    font-size: 27px;
  }

  .rdh-subtitle {
    font-size: 14px;
  }

  .rdh-grid {
    gap: 12px;
  }

  .rdh-card {
    min-height: 138px;
    padding: 18px;
    border-radius: 22px;
    font-size: 18px;
  }

  .rdh-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  .rdh-icon svg {
    width: 25px;
    height: 25px;
  }

  .rdh-bottom-nav {
    height: 74px;
  }

}

@media (min-width: 700px) {

  .rdh-app {
    padding-top: 48px;
  }

  .rdh-card {
    min-height: 170px;
  }

}

.rdh-page-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 4px 26px;
}

.rdh-back {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(16,35,90,0.07);
}

.rdh-back svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #10235a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-page-title {
  font-size: 28px;
  font-weight: 800;
  color: #10235a;
}

.rdh-radio-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rdh-radio-card {
  background: #ffffff;
  border-radius: 24px;
  padding: 16px;
  display: grid;
  grid-template-columns: 64px 1fr 54px;
  gap: 14px;
  align-items: center;
  box-shadow: 0 10px 30px rgba(16,35,90,0.07);
}

.rdh-radio-logo {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: #edf2ff;
  color: #10235a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.rdh-radio-logo-warm {
  background: #fff0dc;
  color: #d17a17;
}

.rdh-radio-name {
  font-size: 17px;
  font-weight: 700;
  color: #10235a;
}

.rdh-radio-meta {
  margin-top: 5px;
  font-size: 13px;
  color: #7a86a7;
}

.rdh-play {
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 50%;
  background: #10235a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.rdh-play svg {
  width: 22px;
  height: 22px;
  fill: #ffffff;
  stroke: none;
  margin-left: 2px;
}

/* CORRECTION CARTES RADIOS */

.rdh-radio-card {
  grid-template-columns: 72px minmax(0, 1fr) 54px !important;
  min-height: 96px !important;
  padding: 14px !important;
}

.rdh-radio-art {
  width: 72px !important;
  height: 72px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}

.rdh-radio-info {
  min-width: 0;
}

.rdh-radio-name {
  font-size: 17px !important;
  line-height: 1.2;
}

.rdh-radio-meta {
  font-size: 13px !important;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 480px) {
  .rdh-radio-card {
    grid-template-columns: 60px minmax(0, 1fr) 48px !important;
    min-height: 84px !important;
    padding: 12px !important;
  }

  .rdh-radio-art {
    width: 60px !important;
    height: 60px !important;
    border-radius: 14px !important;
  }

  .rdh-radio-name {
    font-size: 15px !important;
  }

  .rdh-radio-meta {
    font-size: 12px !important;
  }

  .rdh-play {
    width: 46px !important;
    height: 46px !important;
  }
}

.rdh-radio-art {
  object-fit: contain !important;
  padding: 4px !important;
  background: #ffffff !important;
}

@media (min-width: 481px) {
  .rdh-radio-art {
    width: 82px !important;
    height: 82px !important;
  }

  .rdh-radio-card {
    grid-template-columns: 90px minmax(0, 1fr) 54px !important;
  }
}

/* CORRECTION AFFICHAGE METEO */

.rdh-section-content {
  width: 100%;
  display: block;
}

.rdh-embed-card {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.rdh-embed-frame {
  display: block;
  width: 100% !important;
  height: 980px !important;
  min-height: 980px !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent;
}

@media (max-width: 480px) {
  .rdh-embed-frame {
    height: 900px !important;
    min-height: 900px !important;
  }
}

/* METEO NATIVE RDH */

.rdh-meteo {
  width: 100%;
}

.rdh-meteo-current {
  background: #ffffff;
  border-radius: 28px;
  padding: 32px 24px 26px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(16,35,90,.07);
}

.rdh-meteo-current-icon {
  height: 82px;
}

.rdh-meteo-current-icon svg {
  width: 78px;
  height: 78px;
}

.rdh-meteo-temperature {
  margin-top: 8px;
  font-size: 64px;
  line-height: 1;
  font-weight: 800;
  color: #10235a;
}

.rdh-meteo-condition {
  margin-top: 10px;
  font-size: 20px;
  color: #657299;
}

.rdh-meteo-infos {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
}

.rdh-meteo-info {
  padding: 14px 8px;
  border-radius: 16px;
  background: #f3f6fb;
  color: #7180a5;
  font-size: 13px;
}

.rdh-meteo-info strong {
  display: block;
  margin-top: 6px;
  color: #10235a;
  font-size: 17px;
}

.rdh-meteo-title {
  margin: 30px 0 16px;
  font-size: 22px;
  color: #10235a;
}

.rdh-meteo-forecast {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 10px;
}

.rdh-meteo-day {
  min-width: 0;
  padding: 16px 7px;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 8px 22px rgba(16,35,90,.05);
}

.rdh-meteo-day-name {
  font-weight: 700;
  text-transform: capitalize;
}

.rdh-meteo-day-icon {
  height: 54px;
  margin: 10px 0;
}

.rdh-meteo-day-icon svg {
  width: 52px;
  height: 52px;
}

.rdh-meteo-max {
  font-size: 18px;
  font-weight: 700;
}

.rdh-meteo-min {
  margin-top: 3px;
  font-size: 14px;
  color: #7d89aa;
}

.rdh-meteo-source {
  margin-top: 22px;
  text-align: center;
  font-size: 11px;
  color: #929bb6;
}

@media (max-width: 580px) {

  .rdh-meteo-forecast {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 5px;
  }

  .rdh-meteo-day {
    min-width: 100px;
  }

  .rdh-meteo-temperature {
    font-size: 55px;
  }

}

/* =====================================================
   MINI PLAYER RADIO - POSITION ET TAILLES VERROUILLEES
   ===================================================== */

#rdh-mini-player.rdh-mini-player {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 106px !important;

  transform: translate(-50%, 130%) !important;

  width: calc(100% - 24px) !important;
  max-width: 676px !important;

  height: 74px !important;
  min-height: 74px !important;
  max-height: 74px !important;

  margin: 0 !important;
  padding: 10px 12px !important;

  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 48px !important;
  align-items: center !important;
  gap: 12px !important;

  overflow: hidden !important;

  border-radius: 22px !important;
  background: #10235a !important;
  color: #ffffff !important;

  box-shadow: 0 15px 35px rgba(16,35,90,.28) !important;

  z-index: 100000 !important;

  opacity: 0 !important;
  pointer-events: none !important;

  transition:
    transform .25s ease,
    opacity .25s ease !important;
}

#rdh-mini-player.rdh-mini-player.visible {
  transform: translate(-50%, 0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#rdh-mini-player .rdh-mini-art {
  display: block !important;

  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;

  margin: 0 !important;
  padding: 3px !important;

  object-fit: contain !important;

  border-radius: 13px !important;
  background: #ffffff !important;
}

#rdh-mini-player .rdh-mini-info {
  min-width: 0 !important;
  width: auto !important;
  overflow: hidden !important;
}

#rdh-mini-player .rdh-mini-station {
  margin: 0 !important;

  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 700 !important;

  color: #ffffff !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rdh-mini-player .rdh-mini-song {
  margin: 3px 0 0 !important;

  font-size: 12px !important;
  line-height: 16px !important;

  color: rgba(255,255,255,.72) !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rdh-mini-player .rdh-mini-toggle {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 50% !important;

  background: #ffffff !important;
  color: #10235a !important;

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

#rdh-mini-player .rdh-mini-toggle svg {
  width: 21px !important;
  height: 21px !important;
  max-width: 21px !important;
  max-height: 21px !important;
}

@media (max-width: 480px) {

  #rdh-mini-player.rdh-mini-player {
    bottom: 100px !important;

    width: calc(100% - 18px) !important;

    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;

    grid-template-columns: 50px minmax(0, 1fr) 44px !important;
    gap: 10px !important;

    padding: 10px !important;
  }

  #rdh-mini-player .rdh-mini-art {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
  }

  #rdh-mini-player .rdh-mini-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }
}


/* CINEMA RDH */

.rdh-cinema {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rdh-cinema-loading,
.rdh-cinema-empty {
  padding: 30px;
  background: #ffffff;
  border-radius: 24px;
  text-align: center;
  color: #7180a5;
}

.rdh-movie-card {
  display: grid;
  grid-template-columns: 145px minmax(0,1fr);
  gap: 20px;
  padding: 18px;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.07);
}

.rdh-movie-poster {
  width: 145px;
  aspect-ratio: 2 / 3;
  border-radius: 18px;
  object-fit: cover;
  background: #eef2f8;
}

.rdh-movie-content {
  min-width: 0;
}

.rdh-movie-title {
  font-size: 22px;
  line-height: 1.15;
  font-weight: 800;
  color: #10235a;
}

.rdh-movie-meta {
  margin-top: 7px;
  color: #7b87a8;
  font-size: 14px;
}

.rdh-movie-program {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.rdh-cinema-day {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rdh-cinema-date {
  width: 78px;
  flex: 0 0 78px;
}

.rdh-cinema-date strong {
  display: block;
  font-size: 13px;
  color: #10235a;
}

.rdh-cinema-date span {
  font-size: 12px;
  color: #8b96b2;
}

.rdh-cinema-times {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.rdh-cinema-time {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #edf2ff;
  color: #10235a;
  font-size: 13px;
  font-weight: 700;
}

.rdh-cinema-time small {
  font-size: 9px;
  color: #7885a6;
}

.rdh-movie-details {
  margin-top: 17px;
}

.rdh-movie-details summary {
  cursor: pointer;
  color: #10235a;
  font-size: 13px;
  font-weight: 700;
}

.rdh-movie-synopsis {
  margin-top: 12px;
  color: #596889;
  font-size: 13px;
  line-height: 1.55;
}

.rdh-movie-credit {
  margin-top: 9px;
  color: #657394;
  font-size: 12px;
  line-height: 1.45;
}

.rdh-trailer-button {
  margin-top: 16px;
  border: 0;
  padding: 10px 14px;
  border-radius: 14px;
  background: #fff0dc;
  color: #d68120;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rdh-trailer-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.rdh-trailer-modal {
  position: fixed;
  inset: 0;
  z-index: 200000;
  background: rgba(5,12,35,.82);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.rdh-trailer-modal.visible {
  display: flex;
}

.rdh-trailer-box {
  position: relative;
  width: 100%;
  max-width: 850px;
}

.rdh-trailer-video {
  display: block;
  width: 100%;
  max-height: 80vh;
  background: #000000;
  border-radius: 18px;
}

.rdh-trailer-close {
  position: absolute;
  right: -12px;
  top: -12px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #10235a;
  font-size: 27px;
  cursor: pointer;
  z-index: 2;
}

@media (max-width: 580px) {

  .rdh-movie-card {
    grid-template-columns: 95px minmax(0,1fr);
    gap: 14px;
    padding: 14px;
  }

  .rdh-movie-poster {
    width: 95px;
    border-radius: 14px;
  }

  .rdh-movie-title {
    font-size: 17px;
  }

  .rdh-cinema-day {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .rdh-cinema-date {
    width: auto;
    flex: none;
  }
}

/* ESPACE BAS DE PAGE CINEMA */

.rdh-cinema {
  padding-bottom: 120px;
}

@media (max-width: 480px) {
  .rdh-cinema {
    padding-bottom: 110px;
  }
}

/* =====================================================
   AGENDA RDH
   ===================================================== */

.rdh-agenda {
  padding-bottom: 125px;
}

.rdh-agenda-loading,
.rdh-agenda-empty {
  padding: 30px;
  border-radius: 24px;
  background: #ffffff;
  text-align: center;
  color: #7783a4;
  box-shadow: 0 10px 30px rgba(16,35,90,.06);
}

.rdh-agenda-count {
  margin: 0 4px 15px;
  font-size: 13px;
  color: #8792ad;
}

.rdh-agenda-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.rdh-event-card {
  overflow: hidden;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.07);
}

.rdh-event-media {
  position: relative;
  width: 100%;
  height: 210px;
  overflow: hidden;
  background: #edf2f8;
}

.rdh-agenda-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rdh-agenda-image-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #edf2ff;
}

.rdh-agenda-image-empty svg {
  width: 55px;
  height: 55px;
  fill: none;
  stroke: #7684aa;
  stroke-width: 1.6;
}

.rdh-event-date {
  position: absolute;
  top: 14px;
  left: 14px;

  width: 66px;
  min-height: 78px;

  padding: 7px 5px;

  border-radius: 17px;

  background: rgba(255,255,255,.94);
  backdrop-filter: blur(7px);

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

  color: #10235a;

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

.rdh-event-date strong {
  font-size: 25px;
  line-height: 27px;
}

.rdh-event-date span {
  font-size: 11px;
  text-transform: capitalize;
  color: #7985a5;
}

.rdh-event-weekday {
  font-weight: 700;
  color: #10235a !important;
}

.rdh-event-content {
  padding: 18px 20px 20px;
}

.rdh-event-category {
  display: inline-block;

  margin-bottom: 9px;
  padding: 6px 10px;

  border-radius: 10px;

  background: #fff0dc;
  color: #d17c1e;

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

.rdh-event-title {
  font-size: 20px;
  line-height: 1.25;
  font-weight: 800;
  color: #10235a;
}

.rdh-event-details {
  margin-top: 13px;

  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;

  color: #7783a3;
  font-size: 13px;
}

.rdh-event-details span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rdh-event-details svg {
  width: 17px;
  height: 17px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-event-link {
  margin-top: 16px;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  text-decoration: none;

  color: #10235a;

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

.rdh-event-link svg {
  width: 17px;
  height: 17px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


@media (min-width: 650px) {

  .rdh-event-card {
    display: grid;
    grid-template-columns: 245px minmax(0,1fr);
  }

  .rdh-event-media {
    height: 100%;
    min-height: 220px;
  }

  .rdh-event-content {
    padding: 25px;
  }

}


@media (max-width: 480px) {

  .rdh-event-media {
    height: 180px;
  }

  .rdh-event-title {
    font-size: 18px;
  }

  .rdh-event-content {
    padding: 16px;
  }

}

/* =====================================================
   PROMENADES RDH
   ===================================================== */

.rdh-promenades {
  padding-bottom: 125px;
}

.rdh-promenades-loading,
.rdh-promenades-empty {
  padding: 30px;
  border-radius: 24px;
  background: #ffffff;
  text-align: center;
  color: #7783a4;
  box-shadow: 0 10px 30px rgba(16,35,90,.06);
}

.rdh-promenades-intro {
  margin: 0 4px 18px;
  color: #7783a4;
  font-size: 14px;
  line-height: 1.5;
}

.rdh-walk-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.rdh-walk-card {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 16px;
  padding: 18px;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.07);
}

.rdh-walk-card-icon {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: #fff0dc;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rdh-walk-card-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: #df871f;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-walk-card-title {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  color: #10235a;
}

.rdh-walk-card-meta {
  margin-top: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 13px;
  color: #7b87a8;
}

.rdh-walk-card-description {
  margin: 12px 0 0;
  color: #657394;
  font-size: 13px;
  line-height: 1.5;
}

.rdh-walk-open {
  margin-top: 15px;
  border: 0;
  padding: 10px 14px;
  border-radius: 14px;
  background: #edf2ff;
  color: #10235a;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.rdh-walk-open svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =====================================================
   DETAIL PROMENADE
   ===================================================== */

.rdh-walk-detail {
  position: fixed;
  inset: 0;
  z-index: 150000;
  background: #f3f6fb;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .28s ease;
}

.rdh-walk-detail.visible {
  transform: translateX(0);
}

.rdh-walk-detail-inner {
  width: 100%;
  max-width: 760px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px 16px 130px;
}

.rdh-walk-detail-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 2px 20px;
}

.rdh-walk-close {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 15px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(16,35,90,.07);
}

.rdh-walk-close svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #10235a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-walk-detail-title {
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
  color: #10235a;
}

.rdh-walk-detail-summary {
  margin-top: 5px;
  color: #7783a4;
  font-size: 13px;
}


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

.rdh-walk-map-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.07);
}

.rdh-walk-map {
  width: 100%;
  height: 430px;
  z-index: 1;
}

.rdh-walk-map .leaflet-control-container {
  position: relative;
  z-index: 5;
}

.rdh-locate {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 500;

  border: 0;
  padding: 10px 14px;
  border-radius: 15px;

  background: rgba(255,255,255,.96);
  color: #10235a;

  display: flex;
  align-items: center;
  gap: 7px;

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

  cursor: pointer;

  box-shadow: 0 8px 24px rgba(16,35,90,.18);
}

.rdh-locate svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-location-message {
  min-height: 20px;
  margin: 9px 5px 0;
  color: #7a86a6;
  font-size: 12px;
}


/* =====================================================
   DESCRIPTION
   ===================================================== */

.rdh-walk-description {
  margin-top: 25px;
  padding: 22px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.06);
}

.rdh-walk-description h2,
.rdh-walk-steps h2 {
  margin: 0 0 13px;
  font-size: 21px;
  color: #10235a;
}

.rdh-walk-description p {
  margin: 0;
  color: #637192;
  font-size: 14px;
  line-height: 1.6;
}


/* =====================================================
   ETAPES
   ===================================================== */

.rdh-walk-steps {
  margin-top: 18px;
  padding: 22px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(16,35,90,.06);
}

#rdh-walk-steps-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rdh-walk-step {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 12px;
  padding: 0 0 20px;
}

.rdh-walk-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 37px;
  bottom: 0;
  width: 2px;
  background: #e5eaf4;
}

.rdh-walk-step-number {
  position: relative;
  z-index: 2;

  width: 42px;
  height: 42px;

  border-radius: 50%;

  background: #edf2ff;
  color: #10235a;

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

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

.rdh-walk-step-title {
  padding-top: 2px;
  color: #10235a;
  font-size: 15px;
  font-weight: 700;
}

.rdh-walk-step-description {
  margin-top: 5px;
  color: #6f7d9d;
  font-size: 13px;
  line-height: 1.5;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 520px) {

  .rdh-walk-card {
    grid-template-columns: 58px minmax(0,1fr);
    gap: 13px;
    padding: 15px;
  }

  .rdh-walk-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 17px;
  }

  .rdh-walk-card-icon svg {
    width: 28px;
    height: 28px;
  }

  .rdh-walk-card-title {
    font-size: 17px;
  }

  .rdh-walk-map {
    height: 360px;
  }

  .rdh-walk-detail-title {
    font-size: 21px;
  }

  .rdh-walk-description,
  .rdh-walk-steps {
    padding: 18px;
  }

}


/* =====================================================
   PROMENADES - FINITION TYPE GOODBARBER
   ===================================================== */


/* ---------------------------------------------
   Chargement itinéraire
   --------------------------------------------- */

.rdh-map-loading {
  position: absolute;
  z-index: 700;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);

  padding: 8px 14px;

  background: rgba(255,255,255,.96);
  color: #10235a;

  border-radius: 20px;

  font-size: 12px;
  font-weight: 700;

  white-space: nowrap;

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


/* ---------------------------------------------
   Marqueurs étapes
   --------------------------------------------- */

.marker-number {
  width: 34px;
  height: 34px;

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

  border-radius: 50%;

  background: #10235a;
  color: #ffffff;

  border: 3px solid #ffffff;

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

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


/* Position utilisateur */

.user-marker {
  width: 22px;
  height: 22px;

  border-radius: 50%;

  background: #087cff;

  border: 4px solid #ffffff;

  box-shadow:
    0 0 0 4px rgba(8,124,255,.20),
    0 3px 10px rgba(0,0,0,.25);
}


/* ---------------------------------------------
   Popups Leaflet
   --------------------------------------------- */

.rdh-walk-map .leaflet-popup-content-wrapper {
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(16,35,90,.18);
}

.rdh-walk-map .leaflet-popup-content {
  margin: 14px 16px;
}

.popup-title {
  color: #10235a;
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 5px;
}

.popup-desc {
  color: #687697;
  font-size: 12px;
  line-height: 1.45;
}


/* ---------------------------------------------
   Zone navigation GPS
   --------------------------------------------- */

.rdh-walk-navigation-panel {
  margin-top: 18px;
}


/* Démarrer */

.rdh-start-walk {
  width: 100%;

  border: 0;

  padding: 16px 18px;

  border-radius: 18px;

  background: #10235a;
  color: #ffffff;

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

  letter-spacing: .2px;

  cursor: pointer;

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

  transition:
    transform .15s ease,
    background .15s ease;
}

.rdh-start-walk:active {
  transform: scale(.985);
}

.rdh-start-walk.active {
  background: #d35c48;
}


/* ---------------------------------------------
   Prochaine étape
   --------------------------------------------- */

.rdh-walk-navigation {
  display: none;

  margin-top: 14px;

  padding: 17px 18px;

  border-radius: 20px;

  background: #ffffff;

  box-shadow:
    0 8px 26px rgba(16,35,90,.07);
}

.rdh-navigation-label {
  color: #8a95b0;

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

  letter-spacing: .8px;
}

.rdh-navigation-name {
  margin-top: 4px;

  color: #10235a;

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

  font-weight: 800;
}

.rdh-navigation-distance {
  margin-top: 7px;

  color: #df871f;

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


/* ---------------------------------------------
   Arrivée
   --------------------------------------------- */

.rdh-walk-arrival {
  display: none;

  margin-top: 14px;

  padding: 16px 18px;

  border-radius: 18px;

  background: #eaf8ef;

  color: #286442;

  font-size: 14px;
}

.rdh-walk-arrival strong {
  display: block;

  margin-bottom: 4px;

  font-size: 15px;
}


/* ---------------------------------------------
   Étape active / terminée
   --------------------------------------------- */

.rdh-walk-step {
  cursor: pointer;

  transition:
    background .18s ease,
    opacity .18s ease;
}

.rdh-walk-step.current {
  margin-left: -8px;
  margin-right: -8px;

  padding: 10px 8px 20px;

  border-radius: 15px;

  background: #edf4ff;
}

.rdh-walk-step.current .rdh-walk-step-number {
  background: #df871f;
  color: #ffffff;
}

.rdh-walk-step.done {
  opacity: .55;
}

.rdh-walk-step.done .rdh-walk-step-number {
  background: #5a9b72;
  color: #ffffff;
}


/* ---------------------------------------------
   Carte
   --------------------------------------------- */

.rdh-walk-map-wrapper {
  position: relative;
}

.rdh-walk-map {
  height: 52vh;
  min-height: 390px;
  max-height: 570px;
}


/* Bouton localisation */

.rdh-locate {
  right: auto;
  left: 16px;
  bottom: 16px;

  padding: 12px 16px;

  border-radius: 18px;

  font-size: 14px;

  background: rgba(255,255,255,.97);

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


/* ---------------------------------------------
   Masquer texte GPS vide
   --------------------------------------------- */

.rdh-location-message:empty {
  display: none;
}


/* ---------------------------------------------
   Mobile
   --------------------------------------------- */

@media (max-width: 520px) {

  .rdh-walk-map {
    height: 48vh;
    min-height: 350px;
  }

  .rdh-start-walk {
    padding: 15px 14px;

    font-size: 14px;
  }

  .rdh-navigation-name {
    font-size: 17px;
  }

}


/* =====================================================
   RDH HOME - VERROUILLAGE FINAL DU LAYOUT
   ===================================================== */

.rdh-app.rdh-home-new {
  width: 100% !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 20px 16px 125px !important;
  box-sizing: border-box !important;
}


/* HEADER */

.rdh-home-new .rdh-home-hero {
  width: 100% !important;
  padding: 12px 4px 24px !important;
  box-sizing: border-box !important;
}

.rdh-home-new .rdh-home-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.rdh-home-new .rdh-home-brand h1 {
  margin: 0 !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
  color: #10235a !important;
}

.rdh-home-new .rdh-home-tagline {
  margin-top: 6px !important;
  font-size: 15px !important;
  color: #bd8d4d !important;
}


/* GRILLE */

.rdh-home-new .rdh-home-grid {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 14px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* CARTES */

.rdh-home-new .rdh-home-card {
  min-width: 0 !important;
  width: 100% !important;

  display: flex !important;
  flex-direction: column !important;

  overflow: hidden !important;

  background: #ffffff !important;

  border-radius: 24px !important;

  text-decoration: none !important;

  box-shadow:
    0 10px 28px rgba(16,35,90,.08) !important;
}


/* IMAGE */

.rdh-home-new .rdh-home-card-image {
  width: 100% !important;
  height: 195px !important;

  overflow: hidden !important;

  background: #fbfaf8 !important;
}

.rdh-home-new .rdh-home-card-image img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  max-width: none !important;

  object-fit: cover !important;
  object-position: center !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* TEXTE */

.rdh-home-new .rdh-home-card-body {
  position: relative !important;

  min-height: 105px !important;

  padding: 15px 42px 17px 17px !important;

  box-sizing: border-box !important;
}

.rdh-home-new .rdh-home-card h2 {
  margin: 0 !important;

  font-size: 24px !important;
  line-height: 1.08 !important;

  color: #10235a !important;
}

.rdh-home-new .rdh-home-card p {
  margin: 7px 0 0 !important;

  font-size: 13px !important;
  line-height: 1.35 !important;

  color: #687596 !important;
}

.rdh-home-new .rdh-home-arrow {
  position: absolute !important;

  right: 15px !important;
  bottom: 17px !important;

  font-size: 30px !important;

  color: #c69248 !important;
}


/* PROMENADES */

.rdh-home-new .rdh-home-card-wide {
  grid-column: 1 / -1 !important;

  width: 100% !important;

  display: grid !important;
  grid-template-columns: 55% 45% !important;

  min-height: 205px !important;
}

.rdh-home-new .rdh-home-card-wide .rdh-home-card-image {
  width: 100% !important;
  height: 205px !important;
}

.rdh-home-new .rdh-home-card-wide .rdh-home-card-body {
  min-height: 205px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  padding: 20px 42px 20px 20px !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 560px) {

  .rdh-app.rdh-home-new {
    padding:
      14px 12px 115px !important;
  }

  .rdh-home-new .rdh-home-brand h1 {
    font-size: 25px !important;
  }

  .rdh-home-new .rdh-home-tagline {
    font-size: 14px !important;
  }

  .rdh-home-new .rdh-home-grid {
    gap: 10px !important;
  }

  .rdh-home-new .rdh-home-card {
    border-radius: 20px !important;
  }

  .rdh-home-new .rdh-home-card-image {
    height: 145px !important;
  }

  .rdh-home-new .rdh-home-card-body {
    min-height: 92px !important;

    padding:
      13px 31px 14px 13px !important;
  }

  .rdh-home-new .rdh-home-card h2 {
    font-size: 19px !important;
  }

  .rdh-home-new .rdh-home-card p {
    font-size: 11.5px !important;
  }

  .rdh-home-new .rdh-home-arrow {
    right: 10px !important;
    bottom: 13px !important;

    font-size: 25px !important;
  }

  .rdh-home-new .rdh-home-card-wide {
    grid-template-columns: 54% 46% !important;

    min-height: 155px !important;
  }

  .rdh-home-new .rdh-home-card-wide .rdh-home-card-image {
    height: 155px !important;
  }

  .rdh-home-new .rdh-home-card-wide .rdh-home-card-body {
    min-height: 155px !important;

    padding:
      15px 29px 15px 14px !important;
  }

  .rdh-home-new .rdh-home-card-wide h2 {
    font-size: 20px !important;
  }

}


/* =====================================================
   RDH HOME - VERSION PLUS COMPACTE
   ===================================================== */

@media (max-width: 560px) {

  .rdh-app.rdh-home-new {
    padding-top: 10px !important;
  }

  .rdh-home-new .rdh-home-hero {
    padding-bottom: 14px !important;
  }

  .rdh-home-new .rdh-home-grid {
    gap: 8px !important;
  }

  .rdh-home-new .rdh-home-card-image {
    height: 108px !important;
  }

  .rdh-home-new .rdh-home-card-body {
    min-height: 76px !important;
    padding: 10px 28px 11px 12px !important;
  }

  .rdh-home-new .rdh-home-card h2 {
    font-size: 17px !important;
  }

  .rdh-home-new .rdh-home-card p {
    margin-top: 4px !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  .rdh-home-new .rdh-home-arrow {
    right: 9px !important;
    bottom: 11px !important;
    font-size: 22px !important;
  }

  .rdh-home-new .rdh-home-card-wide {
    min-height: 122px !important;
    grid-template-columns: 48% 52% !important;
  }

  .rdh-home-new .rdh-home-card-wide .rdh-home-card-image {
    height: 122px !important;
  }

  .rdh-home-new .rdh-home-card-wide .rdh-home-card-body {
    min-height: 122px !important;
    padding: 12px 27px 12px 13px !important;
  }

  .rdh-home-new .rdh-home-card-wide h2 {
    font-size: 18px !important;
  }

}


/* ==========================================================
   RDH - ACCUEIL MOBILE PWA
   TOUT L'ACCUEIL SUR UN SEUL ECRAN
   ========================================================== */

@media (max-width: 700px) {

  /* ----------------------------------------------------------
     CONTENEUR GENERAL
     ---------------------------------------------------------- */

  .rdh-app.rdh-home-new {
    width: 100% !important;
    max-width: 700px !important;

    height: calc(100dvh - 78px) !important;
    min-height: 0 !important;

    margin: 0 auto !important;

    padding:
      max(8px, env(safe-area-inset-top))
      10px
      6px !important;

    overflow: hidden !important;

    display: flex !important;
    flex-direction: column !important;

    box-sizing: border-box !important;
  }


  /* ----------------------------------------------------------
     ENTETE TRES COMPACT
     ---------------------------------------------------------- */

  .rdh-home-new .rdh-home-hero {
    flex: 0 0 auto !important;

    width: 100% !important;

    padding: 2px 2px 9px !important;
    margin: 0 !important;
  }

  .rdh-home-new .rdh-home-brand {
    display: flex !important;
    align-items: center !important;

    gap: 9px !important;

    min-height: 48px !important;
  }

  .rdh-home-new .rdh-home-anchor {
    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;

    font-size: 27px !important;
  }

  .rdh-home-new .rdh-home-brand h1 {
    margin: 0 !important;

    font-size: clamp(20px, 6vw, 25px) !important;
    line-height: 1.02 !important;

    white-space: nowrap !important;

    color: #10235a !important;
  }

  .rdh-home-new .rdh-home-tagline {
    margin-top: 3px !important;

    font-size: 11.5px !important;
    line-height: 1.1 !important;

    color: #bd8d4d !important;
  }


  /* ----------------------------------------------------------
     GRILLE : ELLE PREND TOUT L'ESPACE DISPONIBLE
     ---------------------------------------------------------- */

  .rdh-home-new .rdh-home-grid {
    flex: 1 1 auto !important;

    min-height: 0 !important;

    width: 100% !important;

    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    grid-template-rows:
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, .72fr) !important;

    gap: 7px !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* ----------------------------------------------------------
     4 CARTES PRINCIPALES
     ---------------------------------------------------------- */

  .rdh-home-new .rdh-home-card {
    min-width: 0 !important;
    min-height: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: hidden !important;

    border-radius: 17px !important;

    background: #ffffff !important;

    box-shadow:
      0 5px 15px rgba(16,35,90,.075) !important;
  }


  /* IMAGE = PARTIE PRINCIPALE DE LA CARTE */

  .rdh-home-new .rdh-home-card-image {
    flex: 1 1 auto !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    overflow: hidden !important;

    background: #fbfaf8 !important;
  }

  .rdh-home-new .rdh-home-card-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    object-fit: cover !important;
    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* TEXTE DES CARTES */

  .rdh-home-new .rdh-home-card-body {
    flex: 0 0 54px !important;

    min-height: 0 !important;

    position: relative !important;

    padding:
      7px
      27px
      7px
      10px !important;

    box-sizing: border-box !important;
  }

  .rdh-home-new .rdh-home-card h2 {
    margin: 0 !important;

    color: #10235a !important;

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

    font-weight: 800 !important;
  }

  .rdh-home-new .rdh-home-card p {
    margin: 4px 0 0 !important;

    color: #687596 !important;

    font-size: 9.5px !important;
    line-height: 1.1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rdh-home-new .rdh-home-arrow {
    position: absolute !important;

    right: 8px !important;
    bottom: 12px !important;

    color: #c69248 !important;

    font-size: 21px !important;
    line-height: 1 !important;
  }


  /* ----------------------------------------------------------
     PROMENADES : GRANDE CARTE HORIZONTALE
     ---------------------------------------------------------- */

  .rdh-home-new .rdh-home-card-wide {
    grid-column: 1 / -1 !important;

    min-width: 0 !important;
    min-height: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: grid !important;

    grid-template-columns:
      48% 52% !important;

    border-radius: 17px !important;
  }

  .rdh-home-new
  .rdh-home-card-wide
  .rdh-home-card-image {
    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;
  }

  .rdh-home-new
  .rdh-home-card-wide
  .rdh-home-card-body {
    min-height: 0 !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    padding:
      8px
      29px
      8px
      12px !important;
  }

  .rdh-home-new
  .rdh-home-card-wide h2 {
    font-size: 17px !important;
  }

  .rdh-home-new
  .rdh-home-card-wide p {
    font-size: 10px !important;

    white-space: normal !important;
  }


  /* ----------------------------------------------------------
     MENU BAS
     ---------------------------------------------------------- */

  .rdh-bottom-nav {
    height: 78px !important;

    padding-bottom:
      env(safe-area-inset-bottom) !important;
  }

}


/* ==========================================================
   PETITS TELEPHONES
   iPhone SE / écrans peu hauts
   ========================================================== */

@media
(max-width: 700px)
and (max-height: 700px) {

  .rdh-app.rdh-home-new {
    height: calc(100dvh - 70px) !important;

    padding-top:
      max(4px, env(safe-area-inset-top)) !important;
  }

  .rdh-home-new .rdh-home-hero {
    padding-bottom: 5px !important;
  }

  .rdh-home-new .rdh-home-brand {
    min-height: 39px !important;
  }

  .rdh-home-new .rdh-home-anchor {
    width: 31px !important;
    height: 31px !important;

    flex-basis: 31px !important;

    font-size: 22px !important;
  }

  .rdh-home-new .rdh-home-brand h1 {
    font-size: 19px !important;
  }

  .rdh-home-new .rdh-home-tagline {
    font-size: 10px !important;
    margin-top: 1px !important;
  }

  .rdh-home-new .rdh-home-grid {
    gap: 5px !important;
  }

  .rdh-home-new .rdh-home-card {
    border-radius: 14px !important;
  }

  .rdh-home-new .rdh-home-card-body {
    flex-basis: 43px !important;

    padding:
      5px
      24px
      5px
      8px !important;
  }

  .rdh-home-new .rdh-home-card h2 {
    font-size: 14px !important;
  }

  .rdh-home-new .rdh-home-card p {
    margin-top: 2px !important;
    font-size: 8.5px !important;
  }

  .rdh-home-new .rdh-home-card-wide h2 {
    font-size: 15px !important;
  }

  .rdh-bottom-nav {
    height: 70px !important;
  }

}


/* =====================================================
   PAGE PLUS
   ===================================================== */

.rdh-plus-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;

  padding-bottom: 110px;
}

.rdh-plus-card {
  position: relative;

  display: flex;
  align-items: center;

  gap: 14px;

  min-height: 110px;

  padding: 18px 38px 18px 16px;

  text-decoration: none;

  background: #ffffff;

  border-radius: 22px;

  box-shadow:
    0 8px 24px rgba(16,35,90,.07);
}

.rdh-plus-icon {
  flex: 0 0 48px;

  width: 48px;
  height: 48px;

  border-radius: 15px;

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

  background: #f4eadc;
}

.rdh-plus-icon svg {
  width: 25px;
  height: 25px;

  fill: none;
  stroke: #c69248;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-plus-title {
  color: #10235a;

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

.rdh-plus-text {
  margin-top: 4px;

  color: #75819f;

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

.rdh-plus-arrow {
  position: absolute;

  right: 13px;

  color: #c69248;

  font-size: 28px;
}


@media (max-width: 560px) {

  .rdh-plus-grid {
    gap: 9px;
  }

  .rdh-plus-card {
    min-height: 88px;

    gap: 10px;

    padding:
      12px
      28px
      12px
      11px;

    border-radius: 17px;
  }

  .rdh-plus-icon {
    flex-basis: 39px;

    width: 39px;
    height: 39px;

    border-radius: 12px;
  }

  .rdh-plus-icon svg {
    width: 21px;
    height: 21px;
  }

  .rdh-plus-title {
    font-size: 14px;
  }

  .rdh-plus-text {
    font-size: 9.5px;
  }

}


/* =====================================================
   CINEMA - AFFICHES ENTIÈRES
   ===================================================== */

.rdh-movie-poster {
  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center !important;

  background: #f7f7f7 !important;
}


/* =========================================================
   ACCUEIL - LOGO HONFLEUR INSIDER
   ========================================================= */

.rdh-home-brand {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 2px 8px 7px !important;

  box-sizing: border-box !important;
}

.rdh-home-logo {
  display: block !important;

  width: 100% !important;
  max-width: 430px !important;
  height: auto !important;

  object-fit: contain !important;
}


@media (max-width: 700px) {

  .rdh-home-brand {
    padding: 0 5px 5px !important;
  }

  .rdh-home-logo {
    max-width: 360px !important;
  }

}


@media (max-height: 700px) and (max-width: 700px) {

  .rdh-home-logo {
    max-width: 300px !important;
  }

  .rdh-home-brand {
    padding-bottom: 2px !important;
  }

}


/* =========================================================
   ACCUEIL - CORRECTION DEFINITIVE TAILLE LOGO
   ========================================================= */

.rdh-app.rdh-home-new .rdh-home-brand {
  flex: 0 0 auto !important;

  width: 100% !important;
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;

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

  margin: 0 !important;
  padding: 5px 12px 7px !important;

  overflow: hidden !important;

  box-sizing: border-box !important;
}


.rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
  display: block !important;

  width: auto !important;
  height: auto !important;

  max-width: 92% !important;
  max-height: 68px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  object-fit: contain !important;

  flex: none !important;
}


/* MOBILE */

@media (max-width: 700px) {

  .rdh-app.rdh-home-new .rdh-home-brand {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;

    padding: 4px 8px 5px !important;
  }

  .rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
    max-width: 96% !important;
    max-height: 60px !important;
  }

}


/* PETITS ECRANS */

@media (max-width: 700px) and (max-height: 700px) {

  .rdh-app.rdh-home-new .rdh-home-brand {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
  }

  .rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
    max-height: 50px !important;
  }

}


/* =========================================================
   ACCUEIL RDH - CORRECTION GENERALE
   ========================================================= */

/* Cache l'ancien titre WordPress du header */
body.home > header,
body.home .site-header,
body.home header.site-header {
  display: none !important;
}


/* PAGE */

.rdh-app.rdh-home-new {
  width: 100% !important;
  max-width: none !important;

  min-height: calc(100dvh - 72px) !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #f3f6fb !important;

  box-sizing: border-box !important;
}


/* CONTENU CENTRAL */

.rdh-home-inner {
  width: 100% !important;
  max-width: 760px !important;

  margin: 0 auto !important;

  padding: 8px 12px 92px !important;

  box-sizing: border-box !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.rdh-home-brand {
  width: 100% !important;
  height: auto !important;

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

  margin: 0 0 8px !important;
  padding: 0 !important;

  overflow: visible !important;
}


.rdh-home-brand .rdh-home-logo {
  display: block !important;

  width: auto !important;
  height: auto !important;

  max-width: 330px !important;
  max-height: 76px !important;

  margin: 0 auto !important;

  object-fit: contain !important;
}


/* =========================================================
   GRILLE
   ========================================================= */

.rdh-home-grid {
  width: 100% !important;

  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap: 12px !important;

  margin: 0 !important;
  padding: 0 !important;
}


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

.rdh-home-card {
  position: relative !important;

  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  overflow: hidden !important;

  border-radius: 20px !important;

  background: #ffffff !important;

  text-decoration: none !important;

  box-shadow:
    0 8px 22px rgba(16,35,90,.07) !important;
}


.rdh-home-card img {
  display: block !important;

  width: 100% !important;
  height: auto !important;

  aspect-ratio: 1 / .72 !important;

  object-fit: cover !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* PROMENADES PLEINE LARGEUR */

.rdh-home-card-wide {
  grid-column: 1 / -1 !important;
}


.rdh-home-card-wide img {
  aspect-ratio: 2 / .70 !important;
}


/* =========================================================
   LIBELLES
   ========================================================= */

.rdh-home-card-label {
  display: block !important;

  width: 100% !important;

  padding: 8px 10px 10px !important;

  color: #10235a !important;

  font-size: 15px !important;
  line-height: 1.1 !important;

  font-weight: 800 !important;

  text-align: center !important;

  text-decoration: none !important;

  box-sizing: border-box !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .rdh-home-inner {
    max-width: 100% !important;

    padding:
      5px
      8px
      82px !important;
  }


  .rdh-home-brand {
    margin-bottom: 4px !important;
  }


  .rdh-home-brand .rdh-home-logo {
    max-width: 275px !important;
    max-height: 62px !important;
  }


  .rdh-home-grid {
    gap: 8px !important;
  }


  .rdh-home-card {
    border-radius: 15px !important;
  }


  .rdh-home-card-label {
    padding: 5px 6px 7px !important;

    font-size: 12px !important;
  }

}


/* =========================================================
   PETITS TELEPHONES / ECRANS PEU HAUTS
   ========================================================= */

@media (max-width: 700px) and (max-height: 750px) {

  .rdh-home-brand .rdh-home-logo {
    max-width: 235px !important;
    max-height: 52px !important;
  }


  .rdh-home-grid {
    gap: 6px !important;
  }


  .rdh-home-card img {
    aspect-ratio: 1 / .60 !important;
  }


  .rdh-home-card-wide img {
    aspect-ratio: 2 / .52 !important;
  }


  .rdh-home-card-label {
    padding: 4px 5px 5px !important;

    font-size: 11px !important;
  }

}


/* =========================================================
   ACCUEIL RDH - AJUSTEMENT FINAL LOGO + HAUTEUR ECRAN
   ========================================================= */


/* ---------------------------------------------------------
   CONTENU GENERAL
   --------------------------------------------------------- */

.rdh-app.rdh-home-new .rdh-home-inner {
  width: 100% !important;
  max-width: 760px !important;

  height: calc(100dvh - 68px) !important;
  min-height: 0 !important;

  margin: 0 auto !important;

  padding:
    5px
    10px
    8px !important;

  display: flex !important;
  flex-direction: column !important;

  box-sizing: border-box !important;

  overflow: hidden !important;
}


/* ---------------------------------------------------------
   LOGO
   --------------------------------------------------------- */

.rdh-app.rdh-home-new .rdh-home-brand {
  flex: 0 0 70px !important;

  width: 100% !important;
  height: 70px !important;

  margin: 0 0 5px !important;
  padding: 0 !important;

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

  overflow: hidden !important;
}


.rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
  display: block !important;

  width: 390px !important;
  max-width: 105% !important;
  height: auto !important;
  max-height: none !important;

  margin: 0 auto !important;

  transform: scale(1.25) !important;
  transform-origin: center center !important;

  object-fit: contain !important;
}


/* ---------------------------------------------------------
   GRILLE
   --------------------------------------------------------- */

.rdh-app.rdh-home-new .rdh-home-grid {
  flex: 1 1 auto !important;

  min-height: 0 !important;

  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0,1fr)) !important;

  grid-template-rows:
    minmax(0,1fr)
    minmax(0,1fr)
    minmax(0,.62fr) !important;

  gap: 8px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ---------------------------------------------------------
   CARTES
   --------------------------------------------------------- */

.rdh-app.rdh-home-new .rdh-home-card {
  position: relative !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  overflow: hidden !important;

  border-radius: 17px !important;

  background: #ffffff !important;

  box-sizing: border-box !important;
}


/* IMAGE */

.rdh-app.rdh-home-new .rdh-home-card img {
  flex: 1 1 auto !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  min-height: 0 !important;

  aspect-ratio: auto !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* LIBELLE */

.rdh-app.rdh-home-new .rdh-home-card-label {
  flex: 0 0 auto !important;

  display: block !important;

  width: 100% !important;

  padding:
    5px
    6px
    6px !important;

  color: #10235a !important;

  font-size: 13px !important;
  line-height: 1.05 !important;

  font-weight: 800 !important;

  text-align: center !important;

  box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   PROMENADES
   --------------------------------------------------------- */

.rdh-app.rdh-home-new .rdh-home-card-wide {
  grid-column: 1 / -1 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

  .rdh-app.rdh-home-new .rdh-home-inner {
    height: calc(100dvh - 64px) !important;

    padding:
      3px
      7px
      5px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-brand {
    flex-basis: 60px !important;

    height: 60px !important;

    margin-bottom: 3px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
    width: 330px !important;
    max-width: 108% !important;

    transform: scale(1.28) !important;
  }


  .rdh-app.rdh-home-new .rdh-home-grid {
    gap: 6px !important;

    grid-template-rows:
      minmax(0,1fr)
      minmax(0,1fr)
      minmax(0,.58fr) !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card {
    border-radius: 14px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card-label {
    padding:
      4px
      5px
      5px !important;

    font-size: 11.5px !important;
  }

}


/* ---------------------------------------------------------
   TELEPHONES PEU HAUTS
   --------------------------------------------------------- */

@media (max-width: 700px) and (max-height: 720px) {

  .rdh-app.rdh-home-new .rdh-home-brand {
    flex-basis: 50px !important;

    height: 50px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-brand .rdh-home-logo {
    width: 290px !important;

    transform: scale(1.30) !important;
  }


  .rdh-app.rdh-home-new .rdh-home-grid {
    gap: 5px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card-label {
    padding:
      3px
      4px
      4px !important;

    font-size: 10.5px !important;
  }

}


/* =========================================================
   ACCUEIL RDH
   RETOUR MISE EN PAGE + SIMPLE HEADER
   ========================================================= */


/* PAGE */

.rdh-app.rdh-home-new {
  width: 100% !important;
  max-width: 760px !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 auto !important;

  padding:
    8px
    10px
    90px !important;

  display: block !important;

  overflow: visible !important;

  box-sizing: border-box !important;
}


/* =========================================================
   NOUVEAU HEADER
   ========================================================= */

.rdh-home-header {
  width: 100% !important;

  height: 66px !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  margin: 0 0 8px 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: transparent !important;

  box-sizing: border-box !important;
}


.rdh-home-header-logo {
  display: block !important;

  width: auto !important;
  height: auto !important;

  max-width: 300px !important;
  max-height: 58px !important;

  margin: 0 auto !important;

  object-fit: contain !important;
}


/* =========================================================
   GRILLE
   ========================================================= */

.rdh-app.rdh-home-new .rdh-home-grid {
  width: 100% !important;

  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0,1fr)) !important;

  grid-template-rows: none !important;

  gap: 8px !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


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

.rdh-app.rdh-home-new .rdh-home-card {
  position: relative !important;

  display: block !important;

  width: 100% !important;
  height: auto !important;

  min-height: 0 !important;

  overflow: hidden !important;

  border-radius: 16px !important;

  background: #ffffff !important;

  text-decoration: none !important;

  box-shadow:
    0 7px 20px rgba(16,35,90,.07) !important;
}


/* IMAGE */

.rdh-app.rdh-home-new .rdh-home-card img {
  display: block !important;

  width: 100% !important;
  height: auto !important;

  aspect-ratio: 1 / .68 !important;

  object-fit: cover !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* TEXTE */

.rdh-app.rdh-home-new .rdh-home-card-label {
  display: block !important;

  width: 100% !important;

  padding:
    5px
    6px
    7px !important;

  color: #10235a !important;

  font-size: 12px !important;
  line-height: 1.1 !important;

  font-weight: 800 !important;

  text-align: center !important;

  box-sizing: border-box !important;
}


/* =========================================================
   PROMENADES
   ========================================================= */

.rdh-app.rdh-home-new .rdh-home-card-wide {
  grid-column: 1 / -1 !important;
}


.rdh-app.rdh-home-new .rdh-home-card-wide img {
  aspect-ratio: 2 / .55 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .rdh-app.rdh-home-new {
    padding:
      5px
      7px
      80px !important;
  }


  .rdh-home-header {
    height: 55px !important;

    margin-bottom: 5px !important;
  }


  .rdh-home-header-logo {
    max-width: 270px !important;
    max-height: 50px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-grid {
    gap: 6px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card {
    border-radius: 14px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card-label {
    padding:
      4px
      5px
      5px !important;

    font-size: 11px !important;
  }

}


/* TELEPHONE PEU HAUT */

@media (max-width:700px) and (max-height:750px) {

  .rdh-home-header {
    height: 47px !important;
  }


  .rdh-home-header-logo {
    max-width: 245px !important;
    max-height: 43px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card img {
    aspect-ratio: 1 / .58 !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card-wide img {
    aspect-ratio: 2 / .45 !important;
  }

}


/* =========================================================
   ACCUEIL RDH
   RETOUR VERSION AVANT NOUVEAU LOGO
   ========================================================= */


/* PAGE */

.rdh-app.rdh-home-new {
  width: 100% !important;
  max-width: 700px !important;

  height: calc(100dvh - 72px) !important;
  min-height: 0 !important;

  margin: 0 auto !important;

  padding:
    8px
    10px
    7px !important;

  display: flex !important;
  flex-direction: column !important;

  overflow: hidden !important;

  background: #f3f6fb !important;

  box-sizing: border-box !important;
}


/* =========================================================
   ANCIEN HEADER TEXTE
   ========================================================= */

.rdh-home-title {
  flex: 0 0 auto !important;

  width: 100% !important;

  margin: 0 0 7px !important;
  padding: 3px 5px 4px !important;

  text-align: center !important;

  background: transparent !important;

  box-sizing: border-box !important;
}


.rdh-home-title-main {
  color: #10235a !important;

  font-size: 21px !important;
  line-height: 1.1 !important;

  font-weight: 800 !important;
}


.rdh-home-title-sub {
  margin-top: 2px !important;

  color: #8b96ad !important;

  font-size: 10px !important;
  line-height: 1.1 !important;

  font-weight: 600 !important;

  letter-spacing: .03em !important;
}


/* ON NE VEUT PLUS DES ESSAIS DE LOGO */

.rdh-home-brand,
.rdh-home-header,
.rdh-home-logo,
.rdh-home-header-logo,
.rdh-home-inner {
  max-height: none !important;
  transform: none !important;
}


/* =========================================================
   GRILLE
   ========================================================= */

.rdh-app.rdh-home-new .rdh-home-grid {
  flex: 1 1 auto !important;

  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;

  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0,1fr)) !important;

  grid-template-rows:
    minmax(0,1fr)
    minmax(0,1fr)
    minmax(0,.72fr) !important;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;
}


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

.rdh-app.rdh-home-new .rdh-home-card {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  border-radius: 16px !important;

  background: #ffffff !important;

  text-decoration: none !important;

  box-shadow:
    0 7px 20px rgba(16,35,90,.07) !important;

  box-sizing: border-box !important;
}


/* IMAGES */

.rdh-app.rdh-home-new .rdh-home-card img {
  display: block !important;

  flex: 1 1 auto !important;

  width: 100% !important;
  height: 100% !important;

  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  aspect-ratio: auto !important;

  object-fit: contain !important;

  background: #ffffff !important;
}


/* LIBELLES */

.rdh-app.rdh-home-new .rdh-home-card-label {
  flex: 0 0 auto !important;

  display: block !important;

  width: 100% !important;

  padding:
    4px
    5px
    6px !important;

  color: #10235a !important;

  font-size: 12px !important;
  line-height: 1.05 !important;

  font-weight: 800 !important;

  text-align: center !important;

  box-sizing: border-box !important;
}


/* PROMENADES */

.rdh-app.rdh-home-new .rdh-home-card-wide {
  grid-column: 1 / -1 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px) {

  .rdh-app.rdh-home-new {
    height: calc(100dvh - 65px) !important;

    padding:
      5px
      7px
      5px !important;
  }


  .rdh-home-title {
    margin-bottom: 5px !important;
    padding: 2px 3px 3px !important;
  }


  .rdh-home-title-main {
    font-size: 17px !important;
  }


  .rdh-home-title-sub {
    font-size: 8.5px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-grid {
    gap: 6px !important;

    grid-template-rows:
      minmax(0,1fr)
      minmax(0,1fr)
      minmax(0,.68fr) !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card {
    border-radius: 14px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-card-label {
    padding:
      3px
      4px
      4px !important;

    font-size: 10.5px !important;
  }

}


/* =========================================================
   TELEPHONES PEU HAUTS
   ========================================================= */

@media (max-width:700px) and (max-height:720px) {

  .rdh-home-title-main {
    font-size: 15px !important;
  }


  .rdh-home-title-sub {
    display: none !important;
  }


  .rdh-home-title {
    margin-bottom: 3px !important;
  }


  .rdh-app.rdh-home-new .rdh-home-grid {
    gap: 5px !important;
  }

}


/* =========================================================
   PROMENADES - PHOTO DANS LA FICHE
   ========================================================= */

.rdh-walk-card {
  display: grid !important;

  grid-template-columns:
    130px
    minmax(0, 1fr) !important;

  gap: 22px !important;

  align-items: start !important;
}


/* PHOTO */

.rdh-walk-card-photo {
  width: 130px !important;
  min-width: 130px !important;
  height: 130px !important;

  margin: 0 !important;

  border-radius: 18px !important;

  overflow: hidden !important;

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


.rdh-walk-card-photo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;
}


/* CONTENU */

.rdh-walk-card-content {
  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


.rdh-walk-card-title {
  margin-top: 0 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .rdh-walk-card {
    grid-template-columns:
      100px
      minmax(0, 1fr) !important;

    gap: 13px !important;
  }


  .rdh-walk-card-photo {
    width: 100px !important;
    min-width: 100px !important;
    height: 100px !important;

    border-radius: 14px !important;
  }

}


/* PETITS TELEPHONES */

@media (max-width: 390px) {

  .rdh-walk-card {
    grid-template-columns:
      86px
      minmax(0, 1fr) !important;

    gap: 10px !important;
  }


  .rdh-walk-card-photo {
    width: 86px !important;
    min-width: 86px !important;
    height: 86px !important;
  }

}


/* =========================================================
   RDH - SUPPRESSION MENU DE NAVIGATION DU BAS
   Navigation désormais assurée par le menu hamburger
   ========================================================= */

.rdh-bottom-nav {
  display: none !important;
}


/* =====================================================
   CINEMA RDH - VERSION PORTRAIT
   16/08/2026
   ===================================================== */

.rdh-movie-card {
  display: block !important;
  padding: 16px !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(16,35,90,.07) !important;
}

/* Affiche officielle verticale */
.rdh-movie-poster {
  display: block !important;
  width: 100% !important;
  max-width: 430px !important;
  height: auto !important;
  aspect-ratio: auto !important;

  margin: 0 auto !important;

  object-fit: contain !important;
  object-position: center !important;

  border-radius: 18px !important;
  background: transparent !important;
}

/* Informations sous laffiche */
.rdh-movie-content {
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 18px !important;
}

/* Mobile */
@media (max-width: 580px) {

  .rdh-movie-card {
    display: block !important;
    padding: 12px !important;
  }

  .rdh-movie-poster {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    border-radius: 16px !important;
  }

  .rdh-movie-content {
    margin-top: 14px !important;
  }

  .rdh-movie-title {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }
}


/* =========================================================
   CHIENS - DETAIL SOUS LA TUILE
   ========================================================= */

.rdh-dogs-info-results {
  width: 100% !important;
  box-sizing: border-box !important;

  margin:
    -4px
    0
    18px !important;
}


.rdh-dogs-info-card.rdh-dog-info-active {
  box-shadow:
    0 8px 24px rgba(16,35,90,.10) !important;
}


.rdh-dogs-info-card.rdh-dog-info-active > b {
  transform: rotate(90deg) !important;
}


.rdh-dogs-info-card > b {
  transition: transform .18s ease !important;
}


/* =========================================================
   CHIENS - RESPECTER LES RETOURS A LA LIGNE WORDPRESS
   ========================================================= */

.rdh-dogs-info-results,
.rdh-dogs-info-results p,
.rdh-dogs-info-results .rdh-dogs-info-detail,
.rdh-dogs-info-results .rdh-dogs-info-text {
  white-space: pre-line !important;
}



/* =========================================================
   HONFLEUR INSIDER - HEADER GLOBAL FIXE
   17/08/2026
   ========================================================= */

.rdh-new-header {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: calc(100% - 24px) !important;
  max-width: 760px !important;

  margin: 0 !important;

  padding-top: env(safe-area-inset-top) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  background: #ffffff !important;

  z-index: 250000 !important;

  box-sizing: border-box !important;
}

.rdh-with-global-header {
  padding-top: calc(82px + env(safe-area-inset-top)) !important;
}



/* =========================================================
   HONFLEUR INSIDER - MINI PLAYER FIXE EN BAS
   17/08/2026
   ========================================================= */

#rdh-mini-player.rdh-mini-player {
  bottom: 0 !important;
  padding-bottom: env(safe-area-inset-bottom) !important;
}

@media (max-width: 700px) {
  #rdh-mini-player.rdh-mini-player {
    bottom: 0 !important;
  }
}


/* =========================================================
   HONFLEUR INSIDER - CENTRAGE VERTICAL INFOS PLAYER
   ========================================================= */

#rdh-mini-player .rdh-mini-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: stretch !important;
  min-height: 100% !important;
}

#rdh-mini-player .rdh-mini-station,
#rdh-mini-player .rdh-mini-song {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* =========================================================
   HONFLEUR INSIDER - AJUSTEMENT VISUEL TEXTE PLAYER
   ========================================================= */

#rdh-mini-player .rdh-mini-info {
  transform: translateY(3px) !important;
}

#rdh-mini-player .rdh-mini-song {
  margin-top: 2px !important;
}


/* =========================================================
   HONFLEUR INSIDER - CENTRAGE REEL TEXTE PLAYER
   ========================================================= */

#rdh-mini-player .rdh-mini-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  align-self: center !important;

  height: auto !important;
  min-height: 0 !important;

  transform: none !important;
}

#rdh-mini-player .rdh-mini-station {
  margin: 0 !important;
}

#rdh-mini-player .rdh-mini-song {
  margin: 3px 0 0 !important;
}


/* =========================================================
   HONFLEUR INSIDER - DEGAGEMENT HEADER PAGE PROMENADES
   ========================================================= */

body.page-template-page-promenades .rdh-app.rdh-with-global-header,
body.page-promenenades .rdh-app.rdh-with-global-header {
  padding-top: calc(125px + env(safe-area-inset-top)) !important;
}


/* =========================================================
   HONFLEUR INSIDER
   DETAIL PROMENADE - VERSION FINALE HEADER FIXE
   17/08/2026
   ========================================================= */


/* ---------------------------------------------------------
   PANNEAU DETAIL
   --------------------------------------------------------- */

.rdh-walk-detail {
  position: fixed !important;

  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  z-index: 150000 !important;

  background: #f3f6fb !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  -webkit-overflow-scrolling: touch !important;

  transform: translateX(100%) !important;
  transition: transform .28s ease !important;

  box-sizing: border-box !important;
}


.rdh-walk-detail.visible {
  transform: translateX(0) !important;
}


/* ---------------------------------------------------------
   CONTENU DU DETAIL
   Le dégagement supérieur réserve la place du header global
   --------------------------------------------------------- */

.rdh-walk-detail-inner {
  width: 100% !important;
  max-width: 760px !important;

  min-height: 100% !important;

  margin: 0 auto !important;

  padding:
    calc(112px + env(safe-area-inset-top))
    16px
    calc(115px + env(safe-area-inset-bottom))
    16px !important;

  box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   TITRE DE LA PROMENADE
   --------------------------------------------------------- */

.rdh-walk-detail-header {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  gap: 14px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 2px 20px !important;

  box-sizing: border-box !important;
}


.rdh-walk-close {
  flex: 0 0 46px !important;

  width: 46px !important;
  height: 46px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 15px !important;

  background: #ffffff !important;

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

  color: #10235a !important;

  cursor: pointer !important;

  box-shadow: 0 8px 24px rgba(16,35,90,.07) !important;
}


.rdh-walk-close svg {
  width: 22px !important;
  height: 22px !important;

  fill: none !important;
  stroke: currentColor !important;

  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


.rdh-walk-detail-header > div {
  min-width: 0 !important;
}


.rdh-walk-detail-title {
  margin: 0 !important;

  color: #10235a !important;

  font-size: 26px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}


.rdh-walk-detail-summary {
  margin: 5px 0 0 !important;

  color: #7783a4 !important;

  font-size: 13px !important;
  line-height: 1.3 !important;
}


/* ---------------------------------------------------------
   CARTE
   --------------------------------------------------------- */

.rdh-walk-map-wrapper {
  position: relative !important;

  width: 100% !important;

  margin: 0 !important;

  overflow: hidden !important;

  border-radius: 26px !important;

  background: #ffffff !important;

  box-shadow: 0 10px 30px rgba(16,35,90,.07) !important;
}


.rdh-walk-map {
  width: 100% !important;
  height: 430px !important;

  z-index: 1 !important;
}


/* ---------------------------------------------------------
   BOUTON ME LOCALISER
   --------------------------------------------------------- */

.rdh-locate {
  position: absolute !important;

  left: 14px !important;
  bottom: 14px !important;

  z-index: 500 !important;

  border: 0 !important;

  padding: 10px 14px !important;

  border-radius: 15px !important;

  background: rgba(255,255,255,.96) !important;
  color: #10235a !important;

  display: flex !important;
  align-items: center !important;
  gap: 7px !important;

  font-size: 13px !important;
  font-weight: 700 !important;

  cursor: pointer !important;

  box-shadow: 0 8px 24px rgba(16,35,90,.18) !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 560px) {

  .rdh-walk-detail-inner {
    padding:
      calc(104px + env(safe-area-inset-top))
      12px
      calc(105px + env(safe-area-inset-bottom))
      12px !important;
  }


  .rdh-walk-detail-header {
    gap: 10px !important;
    padding-bottom: 16px !important;
  }


  .rdh-walk-close {
    flex-basis: 42px !important;

    width: 42px !important;
    height: 42px !important;

    border-radius: 14px !important;
  }


  .rdh-walk-detail-title {
    font-size: 21px !important;
  }


  .rdh-walk-detail-summary {
    font-size: 12px !important;
  }


  .rdh-walk-map {
    height: 360px !important;
  }

}



/* Tuile Chiens : image légèrement réduite pour harmoniser avec les autres */
.rdh-home-card-chiens .rdh-home-walk-picture img {
  width: 84%;
  max-width: 84%;
  display: block;
  margin: 0 auto;
}



/* =========================================================
   HONFLEUR INSIDER - METEO V2
   18/08/2026
   ========================================================= */

.rdh-meteo-v2 {
  padding-bottom: 26px;
}


/* ---------- MAINTENANT ---------- */

.rdh-weather-now {
  background: linear-gradient(
    145deg,
    #ffffff 0%,
    #fffdf8 100%
  );

  border: 1px solid rgba(16,35,90,.06);
  border-radius: 26px;

  padding: 24px 20px 18px;

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


.rdh-weather-now-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}


.rdh-weather-main-icon {
  width: 105px;
  height: 105px;

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


.rdh-weather-main-icon svg {
  width: 96px;
  height: 96px;
}


.rdh-weather-now-temperature {
  text-align: left;
}


.rdh-weather-temperature {
  font-size: 62px;
  line-height: .95;

  font-weight: 800;

  color: #10235a;

  letter-spacing: -3px;
}


.rdh-weather-condition {
  margin-top: 8px;

  font-size: 17px;
  font-weight: 600;

  color: #536181;
}


.rdh-weather-feels {
  margin-top: 6px;

  font-size: 13px;

  color: #8590a9;
}


.rdh-weather-feels strong {
  color: #10235a;
}


.rdh-weather-range {
  display: flex;
  justify-content: center;

  gap: 22px;

  margin-top: 17px;

  color: #7d89a5;

  font-size: 13px;
}


.rdh-weather-range strong {
  margin-left: 4px;

  color: #10235a;

  font-size: 16px;
}


/* ---------- INDICATEURS ---------- */

.rdh-weather-stats {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 8px;

  margin-top: 20px;
}


.rdh-weather-stat {
  min-width: 0;

  padding: 12px 5px;

  border-radius: 15px;

  background: #f7f6f2;

  text-align: center;

  font-size: 11px;

  color: #7a849f;
}


.rdh-weather-stat-icon {
  display: block;

  height: 20px;

  margin-bottom: 5px;

  font-size: 17px;
}


.rdh-weather-stat strong {
  display: block;

  margin-top: 4px;

  color: #10235a;

  font-size: 13px;

  white-space: nowrap;
}


/* ---------- SECTIONS ---------- */

.rdh-weather-section {
  margin-top: 25px;
}


.rdh-weather-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 12px;
}


.rdh-weather-section-head h2 {
  margin: 0;

  color: #10235a;

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


/* ---------- HEURE PAR HEURE ---------- */

.rdh-weather-hourly {
  display: flex;

  gap: 8px;

  overflow-x: auto;

  padding: 2px 1px 7px;

  scrollbar-width: none;
}


.rdh-weather-hourly::-webkit-scrollbar {
  display: none;
}


.rdh-weather-hour {
  flex: 0 0 75px;

  padding: 12px 6px;

  background: #ffffff;

  border-radius: 17px;

  text-align: center;

  box-shadow:
    0 6px 18px rgba(16,35,90,.05);
}


.rdh-weather-hour-time {
  min-height: 18px;

  color: #6d7895;

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


.rdh-weather-hour-icon {
  height: 42px;

  margin: 6px 0;
}


.rdh-weather-hour-icon svg {
  width: 42px;
  height: 42px;
}


.rdh-weather-hour strong {
  color: #10235a;

  font-size: 17px;
}


.rdh-weather-hour-rain {
  margin-top: 5px;

  color: #4388bd;

  font-size: 10px;
}


/* ---------- SOLEIL ---------- */

.rdh-weather-sun {
  display: grid;

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

  align-items: center;

  margin-top: 23px;

  padding: 16px 15px;

  background: #ffffff;

  border-radius: 18px;

  box-shadow:
    0 6px 20px rgba(16,35,90,.05);
}


.rdh-weather-sun-item {
  display: flex;
  align-items: center;

  gap: 9px;
}


.rdh-weather-sun-symbol {
  color: #e7a52d;

  font-size: 28px;
}


.rdh-weather-sun-item span {
  display: block;

  color: #8490aa;

  font-size: 10px;
}


.rdh-weather-sun-item strong {
  display: block;

  margin-top: 2px;

  color: #10235a;

  font-size: 16px;
}


.rdh-weather-sun-line {
  width: 1px;
  height: 34px;

  background: #e8e9ed;
}


/* ---------- MAREES ---------- */

.rdh-weather-tides {
  display: flex;
  align-items: center;

  gap: 12px;

  margin-top: 14px;

  padding: 15px 16px;

  border-radius: 18px;

  background:
    linear-gradient(
      135deg,
      #10235a 0%,
      #183775 100%
    );

  text-decoration: none !important;

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


.rdh-weather-tides-icon {
  flex: 0 0 42px;

  width: 42px;
  height: 42px;

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

  border-radius: 50%;

  background: rgba(255,255,255,.12);

  color: #f0b649;

  font-size: 28px;
  line-height: 1;
}


.rdh-weather-tides-copy {
  flex: 1;
}


.rdh-weather-tides-copy strong {
  display: block;

  color: #ffffff;

  font-size: 15px;
}


.rdh-weather-tides-copy span {
  display: block;

  margin-top: 3px;

  color: rgba(255,255,255,.72);

  font-size: 11px;
}


.rdh-weather-tides-arrow {
  color: #f0b649;

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


/* ---------- JOURS ---------- */

.rdh-weather-days {
  overflow: hidden;

  background: #ffffff;

  border-radius: 20px;

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


.rdh-weather-day {
  display: grid;

  grid-template-columns:
    87px 42px 1fr 72px;

  align-items: center;

  min-height: 62px;

  padding: 7px 13px;

  border-bottom:
    1px solid #eceef2;
}


.rdh-weather-day:last-child {
  border-bottom: 0;
}


.rdh-weather-day-name {
  color: #10235a;

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

  text-transform: capitalize;
}


.rdh-weather-day-icon {
  height: 37px;
}


.rdh-weather-day-icon svg {
  width: 37px;
  height: 37px;
}


.rdh-weather-day-condition {
  padding-left: 5px;

  color: #79849e;

  font-size: 11px;
}


.rdh-weather-day-temp {
  text-align: right;

  white-space: nowrap;
}


.rdh-weather-day-temp strong {
  color: #10235a;

  font-size: 16px;
}


.rdh-weather-day-temp span {
  margin-left: 7px;

  color: #9ba3b6;

  font-size: 14px;
}


/* ---------- SOURCE ---------- */

.rdh-meteo-v2 .rdh-meteo-source {
  margin-top: 18px;

  text-align: center;

  color: #a0a6b6;

  font-size: 10px;
}


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

@media (max-width: 390px) {

  .rdh-weather-now {
    padding-left: 14px;
    padding-right: 14px;
  }

  .rdh-weather-main-icon {
    width: 88px;
  }

  .rdh-weather-main-icon svg {
    width: 82px;
    height: 82px;
  }

  .rdh-weather-temperature {
    font-size: 54px;
  }

  .rdh-weather-stats {
    gap: 5px;
  }

  .rdh-weather-stat {
    padding-left: 2px;
    padding-right: 2px;
  }

  .rdh-weather-day {
    grid-template-columns:
      78px 38px 1fr 65px;

    padding-left: 9px;
    padding-right: 9px;
  }

}




/* =========================================================
   HONFLEUR INSIDER - ESPACEMENTS PAGES INTERIEURES
   20/08/2026
   ========================================================= */

/*
 * Rapproche toutes les pages intérieures du header fixe.
 */
.rdh-with-global-header {
  padding-top: calc(78px + env(safe-area-inset-top)) !important;
}


/*
 * Réduit l'espace au-dessus et au-dessous
 * du titre de chaque page.
 */
body .rdh-app.rdh-with-global-header .rdh-page-header {
  padding-top: 8px !important;
  padding-bottom: 14px !important;
}


/*
 * Promenades utilisait auparavant 125px.
 * On l'aligne désormais sur toutes les autres pages.
 */
body.page-template-page-promenades .rdh-app.rdh-with-global-header,
body.page-promenenades .rdh-app.rdh-with-global-header {
  padding-top: calc(78px + env(safe-area-inset-top)) !important;
}




/* =========================================================
   HONFLEUR INSIDER - PLAYER FLOTTANT SUPPRIME DEFINITIVEMENT
   20/08/2026
   ========================================================= */

#rdh-mini-player,
#rdh-mini-player.rdh-mini-player,
.rdh-mini-player {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* =========================================================
   MENU HAMBURGER — SCROLL MOBILE / IPHONE
   ========================================================= */

.rdh-side-menu {
  height: 100vh !important;
  height: 100dvh !important;

  max-height: 100vh !important;
  max-height: 100dvh !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  -webkit-overflow-scrolling: touch !important;

  overscroll-behavior: contain;

  padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;

  box-sizing: border-box !important;
}

.rdh-side-menu-head {
  flex-shrink: 0 !important;
}

/* AGENDA - COULEURS PAR ACTIVITE - DEBUT */

/*
 * Chaque carte possède trois couleurs coordonnées :
 * le liseré gauche, le fond de la pastille et son texte.
 */

.rdh-event-card {
  --rdh-agenda-accent: #7583a7;
  --rdh-agenda-soft: #edf1f7;
  --rdh-agenda-text: #39486f;

  border-left: 4px solid var(--rdh-agenda-accent);
}

/* Atelier, stage, initiation */

.rdh-event-card--atelier {
  --rdh-agenda-accent: #e99a25;
  --rdh-agenda-soft: #fff0d9;
  --rdh-agenda-text: #8a4b00;
}

/* Visites et patrimoine */

.rdh-event-card--visite {
  --rdh-agenda-accent: #347fc4;
  --rdh-agenda-soft: #e6f2ff;
  --rdh-agenda-text: #18558d;
}

/* Expositions et arts */

.rdh-event-card--exposition {
  --rdh-agenda-accent: #8b63c7;
  --rdh-agenda-soft: #f0e8ff;
  --rdh-agenda-text: #5d3594;
}

/* Spectacles, concerts et festivals */

.rdh-event-card--spectacle {
  --rdh-agenda-accent: #d4517c;
  --rdh-agenda-soft: #ffe7ef;
  --rdh-agenda-text: #8d2449;
}

/* Marchés, brocantes, foires et salons */

.rdh-event-card--marche {
  --rdh-agenda-accent: #3a9b68;
  --rdh-agenda-soft: #e2f6ea;
  --rdh-agenda-text: #1c633e;
}

/* Familles et enfants */

.rdh-event-card--famille {
  --rdh-agenda-accent: #d39b14;
  --rdh-agenda-soft: #fff3c5;
  --rdh-agenda-text: #725100;
}

/* Nature, balades et jardins */

.rdh-event-card--nature {
  --rdh-agenda-accent: #16958e;
  --rdh-agenda-soft: #dff5f2;
  --rdh-agenda-text: #0d625e;
}

/* Sports et activités nautiques */

.rdh-event-card--sport {
  --rdh-agenda-accent: #1687b8;
  --rdh-agenda-soft: #e1f4fc;
  --rdh-agenda-text: #075d83;
}

/* Gastronomie et dégustations */

.rdh-event-card--gastronomie {
  --rdh-agenda-accent: #d86c4a;
  --rdh-agenda-soft: #ffe9e1;
  --rdh-agenda-text: #8c3d25;
}

/* Catégorie non reconnue */

.rdh-event-card--autre {
  --rdh-agenda-accent: #7583a7;
  --rdh-agenda-soft: #edf1f7;
  --rdh-agenda-text: #39486f;
}

.rdh-event-card .rdh-event-category {
  background: var(--rdh-agenda-soft);
  color: var(--rdh-agenda-text);

  border: 1px solid
    color-mix(
      in srgb,
      var(--rdh-agenda-accent) 24%,
      transparent
    );

  font-weight: 800;
}

/* Le liseré reste bien visible au niveau de la photo. */

.rdh-event-card .rdh-event-media {
  box-shadow:
    4px 0 0 var(--rdh-agenda-accent) inset;
}

/* AGENDA - COULEURS PAR ACTIVITE - FIN */


/* =========================================================
   PROMENADES
   COMPOSANT POINT DE DEPART PARTAGE AVEC OU ON VA
   ========================================================= */

#rdh-walk-start-selector {
  margin-bottom: 18px;
}


/*
 * Le composant utilise exactement la structure visuelle
 * de "Où on va ?".
 */

#rdh-walk-start-selector.rdh-go-card {
  box-sizing: border-box;
}


/*
 * Le CSS d'origine vise l'identifiant de Où on va.
 * On donne les mêmes règles au champ de Promenades.
 */

#rdh-walk-start-address {
  font-size: 16px !important;
  font-weight: 600 !important;
}


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


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


#rdh-walk-start-selector
.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: #eef1f6;
  color: #64708a;

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

  cursor: pointer;
}


#rdh-walk-start-selector
.rdh-go-start-clear[hidden] {
  display: none !important;
}


#rdh-walk-start-selector
#rdh-walk-start-search {
  min-height: 40px;

  padding:
    0
    13px;

  border: 0;
  border-radius: 11px;

  background: #10235a;
  color: #ffffff;

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

  cursor: pointer;
}


/*
 * Résultats identiques à Où on va.
 */

#rdh-walk-start-results {
  margin-top: 6px;
}


#rdh-walk-start-results
.rdh-go-search-result {
  width: 100%;

  box-sizing: border-box;

  display: block;

  margin-top: 5px;
  padding: 9px 11px;

  border:
    1px solid
    #e0e4eb;

  border-radius: 10px;

  background: #ffffff;
  color: #10235a;

  text-align: left;

  font-size: 11px;

  cursor: pointer;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - BLOC ITINERAIRE TYPE OU ON VA
   ========================================================= */

.rdh-walk-route-card {
  box-sizing: border-box;

  margin:
    18px
    0
    0;

  padding:
    16px;

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

  border-radius:
    22px;

  background:
    #ffffff;

  box-shadow:
    0 6px 22px
    rgba(16,35,90,.05);
}


.rdh-walk-route-head {
  display: flex;

  align-items:
    center;

  gap:
    12px;
}


.rdh-walk-route-icon {
  width:
    45px;

  height:
    45px;

  flex:
    0 0
    45px;

  border-radius:
    50%;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  background:
    #fff7e6;
}


.rdh-walk-route-icon svg {
  width:
    25px;

  height:
    25px;

  fill:
    none;

  stroke:
    #10235a;

  stroke-width:
    1.8;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}


.rdh-walk-route-title {
  color:
    #10235a;

  font-size:
    18px;

  line-height:
    1.1;

  font-weight:
    900;
}


.rdh-walk-route-subtitle {
  margin-top:
    3px;

  color:
    #7380a3;

  font-size:
    11px;

  line-height:
    1.2;
}


.rdh-walk-route-stats {
  margin-top:
    13px;

  padding:
    13px
    0;

  display:
    grid;

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

  align-items:
    center;

  border-top:
    1px solid
    #eceff5;

  border-bottom:
    1px solid
    #eceff5;
}


.rdh-walk-route-stat {
  min-width:
    0;

  text-align:
    center;
}


.rdh-walk-route-separator {
  width:
    1px;

  height:
    37px;

  background:
    #e2e6ef;
}


.rdh-walk-route-value {
  color:
    #10235a;

  font-size:
    22px;

  line-height:
    1;

  font-weight:
    900;
}


.rdh-walk-route-label {
  margin-top:
    4px;

  color:
    #8992aa;

  font-size:
    9px;

  line-height:
    1;
}


.rdh-walk-route-action {
  margin-top:
    13px;
}


.rdh-walk-route-action
#rdh-start-walk {

  width:
    100% !important;

  min-height:
    52px !important;

  box-sizing:
    border-box;

  margin:
    0 !important;

  padding:
    0
    18px !important;

  border:
    0 !important;

  border-radius:
    14px !important;

  background:
    linear-gradient(
      90deg,
      #10235a 0%,
      #294887 100%
    ) !important;

  color:
    #ffffff !important;

  font-size:
    14px !important;

  font-weight:
    900 !important;

  text-align:
    left;

  box-shadow:
    none !important;
}


.rdh-walk-route-action
#rdh-start-walk:not(:disabled)::after {

  content:
    "›";

  float:
    right;

  color:
    #e1aa3e;

  font-size:
    28px;

  line-height:
    18px;

  font-weight:
    400;
}


.rdh-walk-route-action
#rdh-start-walk:disabled {

  opacity:
    .58;

  cursor:
    default;
}


/*
 * L'ancien panneau GPS existe toujours pour
 * les messages de prochaine étape et d'arrivée,
 * mais son bouton principal a été déplacé
 * dans la carte itinéraire.
 */

.rdh-walk-navigation-panel {
  background:
    transparent;
}


@media (max-width: 390px) {

  .rdh-walk-route-card {
    padding:
      14px;
  }


  .rdh-walk-route-value {
    font-size:
      20px;
  }

}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - RYTHME VERTICAL FINAL
   21/08/2026
   ========================================================= */

/*
 * Référence unique entre les grandes cartes.
 */
body.page-template-page-promenades {
  --rdh-promenade-gap: 18px;
}


/*
 * Le sélecteur de départ est le premier bloc.
 */
#rdh-walk-start-selector {
  margin-top: 0 !important;
  margin-bottom: var(--rdh-promenade-gap) !important;
}


/*
 * Carte.
 * Le sélecteur fournit déjà l'espace au-dessus.
 */
body.page-template-page-promenades
.rdh-walk-map-wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/*
 * Carte "À pied".
 */
body.page-template-page-promenades
.rdh-walk-route-card {
  margin-top: var(--rdh-promenade-gap) !important;
  margin-bottom: 0 !important;
}


/*
 * IMPORTANT :
 * l'ancien panneau GPS reste nécessaire au fonctionnement
 * de la promenade, mais son bouton principal a été déplacé
 * dans la carte "À pied".
 *
 * Il ne doit donc créer AUCUN espace lorsqu'il est inactif.
 */
body.page-template-page-promenades
.rdh-walk-navigation-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/*
 * Quand la navigation GPS apparaît réellement,
 * c'est son contenu qui crée son propre espacement.
 */
body.page-template-page-promenades
.rdh-walk-navigation {
  margin-top: var(--rdh-promenade-gap) !important;
}


/*
 * Message d'arrivée.
 */
body.page-template-page-promenades
.rdh-walk-arrival {
  margin-top: var(--rdh-promenade-gap) !important;
}


/*
 * Un message GPS vide ne doit prendre aucune place.
 */
body.page-template-page-promenades
.rdh-location-message:empty {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
}


/*
 * La promenade.
 */
body.page-template-page-promenades
.rdh-walk-description {
  margin-top: var(--rdh-promenade-gap) !important;
  margin-bottom: 0 !important;
}


/*
 * Les étapes.
 */
body.page-template-page-promenades
.rdh-walk-steps {
  margin-top: var(--rdh-promenade-gap) !important;
  margin-bottom: 0 !important;
}


/*
 * Pas de résidu sous le bouton déplacé.
 */
body.page-template-page-promenades
.rdh-walk-route-action {
  margin-bottom: 0 !important;
}



/* =========================================================
   PROMENADES
   PANNEAU GPS HORS FLUX TANT QU'IL EST INACTIF
   ========================================================= */

/*
 * Par défaut, l'ancien panneau ne doit occuper
 * absolument aucune hauteur.
 *
 * Le bouton principal a déjà été déplacé
 * dans le bloc "À pied".
 */
body.page-template-page-promenades
.rdh-walk-navigation-panel {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}


/*
 * La zone "Prochaine étape" reste masquée
 * tant que startWalk() ne l'active pas.
 */
body.page-template-page-promenades
.rdh-walk-navigation {
  margin-top: 18px !important;
}


/*
 * Même logique pour l'arrivée.
 */
body.page-template-page-promenades
.rdh-walk-arrival {
  margin-top: 18px !important;
}


/*
 * La description doit suivre directement
 * le bloc À pied avec le même espacement
 * que les autres grandes cartes.
 */
body.page-template-page-promenades
.rdh-walk-route-card + .rdh-walk-description,
body.page-template-page-promenades
.rdh-walk-navigation-panel + .rdh-walk-description {
  margin-top: 18px !important;
}


/*
 * Filet de sécurité :
 * aucun espace vide ne doit subsister
 * entre le bloc itinéraire et la description.
 */
body.page-template-page-promenades
.rdh-walk-route-card {
  margin-bottom: 0 !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - ESPACEMENTS DEFINITIFS
   21/08/2026

   IMPORTANT :
   On cible directement le panneau détail Promenades.
   On ne dépend plus de la classe WordPress du BODY.
   ========================================================= */


/* ---------------------------------------------------------
   POINT DE DEPART -> CARTE
   --------------------------------------------------------- */

.rdh-walk-detail
#rdh-walk-start-selector {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}


.rdh-walk-detail
.rdh-walk-map-wrapper {
  margin: 0 !important;
}


/* ---------------------------------------------------------
   CARTE -> A PIED
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-walk-route-card {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   MESSAGE GPS

   Le HTML contient des espaces / retours ligne :
   :empty n'est donc pas suffisamment fiable.

   Par défaut : aucune place occupée.
   Le JavaScript remet display:block si un vrai message
   doit être affiché.
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-location-message {
  display: none;
  min-height: 0 !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ---------------------------------------------------------
   ANCIEN PANNEAU GPS

   Son bouton a été déplacé dans le bloc "À pied".
   Les deux autres enfants sont display:none au repos.

   Le conteneur ne doit donc prendre AUCUNE place.
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-walk-navigation-panel {
  margin: 0 !important;
  padding: 0 !important;

  min-height: 0 !important;
  height: auto !important;

  background: transparent !important;
}


/* Prochaine étape : seulement quand le JS l'affiche */

.rdh-walk-detail
.rdh-walk-navigation {
  margin-top: 18px !important;
}


/* Message d'arrivée : seulement quand le JS l'affiche */

.rdh-walk-detail
.rdh-walk-arrival {
  margin-top: 18px !important;
}


/* ---------------------------------------------------------
   A PIED -> LA PROMENADE
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-walk-description {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   LA PROMENADE -> LES ETAPES
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-walk-steps {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   BOUTON DU BLOC A PIED
   --------------------------------------------------------- */

.rdh-walk-detail
.rdh-walk-route-action {
  margin-bottom: 0 !important;
}



/* =========================================================
   PROMENADES - INTRODUCTION SOUS LE TITRE
   ========================================================= */

.rdh-walk-detail-intro {
  margin-top: 7px;

  max-width: 520px;

  color: #637192;

  font-size: 13px;
  line-height: 1.45;
}


/*
 * L'ancien bloc "La promenade" n'est plus utilisé.
 */
.rdh-walk-description {
  display: none !important;
}


/*
 * Les étapes suivent maintenant directement
 * la navigation / le bloc itinéraire.
 */
.rdh-walk-detail
.rdh-walk-steps {
  margin-top: 18px !important;
}



/* =========================================================
   PROMENADES
   SUPPRESSION DISTANCE / DUREE / ETAPES EN DOUBLE
   ========================================================= */

/*
 * Ces informations sont désormais affichées
 * dans le bloc "À pied".
 *
 * Sous le titre de la promenade,
 * on conserve uniquement l'introduction éditoriale.
 */
.rdh-walk-detail-summary {
  display: none !important;
}


/*
 * L'introduction remonte naturellement sous le titre.
 */
.rdh-walk-detail-intro {
  margin-top: 6px !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - PETIT ESPACE ENTRE LES ETAPES
   ========================================================= */

/*
 * On ajoute un petit espace entre chaque étape,
 * pour laisser respirer le bas du bandeau
 * avant le numéro de l'étape suivante.
 */
.rdh-walk-steps > * + * {
  margin-top: 8px !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - PETIT ESPACE ENTRE LES ETAPES
   ========================================================= */

/*
 * On ajoute un petit espace entre chaque étape,
 * pour laisser respirer le bas du bandeau
 * avant le numéro de l'étape suivante.
 */
.rdh-walk-steps > * + * {
  margin-top: 8px !important;
}



/* =========================================================
   PROMENADES - ESPACE REEL ENTRE CHAQUE ETAPE
   ========================================================= */

#rdh-walk-steps-list
.rdh-walk-step + .rdh-walk-step {
  margin-top: 8px !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - ESPACEMENT ENTRE LES CARTES
   ========================================================= */

.rdh-walk-list {
  gap: 24px !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - ESPACEMENT REEL ENTRE LES CARTES
   ========================================================= */

/*
 * Le gap du conteneur ne s'applique pas dans la structure
 * réellement générée par promenades.js.
 * On espace donc directement deux cartes successives.
 */

.rdh-walk-card + .rdh-walk-card {
  margin-top: 20px !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - RETOURS A LA LIGNE DES INTRODUCTIONS
   ========================================================= */

/*
 * Conserve les sauts de ligne saisis dans WordPress
 * tout en laissant le navigateur gérer naturellement
 * les retours automatiques en fin de ligne.
 */
.rdh-walk-card-description {
  white-space: pre-line !important;
}



/* =========================================================
   HONFLEUR INSIDER
   PROMENADES - ESPACE ENTRE ETAPES ET INTRODUCTION
   ========================================================= */

/*
 * Réduit l'espace entre :
 * - le nombre d'étapes
 * - le texte d'introduction
 */
.rdh-walk-card-meta {
  margin-bottom: 6px !important;
}

.rdh-walk-card-description {
  margin-top: 0 !important;
}



/* =========================================================
   HONFLEUR INSIDER
   AGENDA - AFFICHER PLUS D'EVENEMENTS
   ========================================================= */

.rdh-agenda-more-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 24px 0 10px;
  padding: 0 12px;
  box-sizing: border-box;
}

.rdh-agenda-more {
  appearance: none;
  -webkit-appearance: none;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;

  min-height: 48px;
  padding: 12px 20px;

  border: 0;
  border-radius: 999px;

  background: #10235a;
  color: #ffffff;

  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;

  cursor: pointer;

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

.rdh-agenda-more svg {
  width: 18px;
  height: 18px;

  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rdh-agenda-more:active {
  transform: translateY(1px);
}



/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - FORMULAIRE CONTACT
   RDH_PRATIQUE_CONTACT_STYLE_V1
   ========================================================= */

.rdh-contact-card {
  grid-column: 1 / -1;

  width: 100%;
  box-sizing: border-box;

  padding: 20px;

  background: #ffffff;

  border: 1px solid rgba(16,35,90,.08);
  border-radius: 22px;

  box-shadow:
    0 6px 22px rgba(16,35,90,.07);
}


.rdh-contact-heading {
  display: flex;
  align-items: flex-start;

  gap: 13px;

  margin-bottom: 20px;
}


.rdh-contact-icon {
  flex: 0 0 44px;

  width: 44px;
  height: 44px;

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

  border-radius: 14px;

  background: rgba(16,35,90,.07);
  color: #10235a;
}


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

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-contact-title {
  margin: 1px 0 4px;

  color: #10235a;

  font-size: 20px;
  line-height: 1.15;
  font-weight: 800;
}


.rdh-contact-intro {
  color: #68758a;

  font-size: 14px;
  line-height: 1.45;
}


.rdh-contact-form {
  display: grid;
  gap: 15px;
}


.rdh-contact-field {
  display: grid;
  gap: 6px;
}


.rdh-contact-field label {
  color: #263958;

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


.rdh-contact-field input,
.rdh-contact-field textarea {

  display: block;

  width: 100%;
  box-sizing: border-box;

  margin: 0;
  padding: 12px 13px;

  border: 1px solid #d9dfeb;
  border-radius: 12px;

  outline: none;

  background: #ffffff;
  color: #17243a;

  font-family: inherit;
  font-size: 16px;
  line-height: 1.4;

  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}


.rdh-contact-field textarea {
  min-height: 135px;

  resize: vertical;
}


.rdh-contact-field input:focus,
.rdh-contact-field textarea:focus {

  border-color: #10235a;

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


.rdh-contact-submit {

  appearance: none;
  -webkit-appearance: none;

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

  gap: 9px;

  width: 100%;
  min-height: 50px;

  margin-top: 3px;
  padding: 13px 18px;

  border: 0;
  border-radius: 999px;

  background: #10235a;
  color: #ffffff;

  font-family: inherit;
  font-size: 15px;
  font-weight: 800;

  cursor: pointer;

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


.rdh-contact-submit svg {
  width: 19px;
  height: 19px;

  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-contact-submit:active {
  transform: translateY(1px);
}


.rdh-contact-message {

  margin: 0 0 17px;
  padding: 12px 14px;

  border-radius: 12px;

  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
}


.rdh-contact-success {
  background: #edf8f0;
  border: 1px solid #cbe6d1;
  color: #28633a;
}


.rdh-contact-error {
  background: #fff1f1;
  border: 1px solid #f0cece;
  color: #8c3030;
}


/*
 * Champ anti-robot :
 * présent dans le formulaire mais hors écran.
 */
.rdh-contact-honeypot {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  overflow: hidden !important;

  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;

  white-space: nowrap !important;
}


/* === FIN RDH_PRATIQUE_CONTACT_STYLE_V1 === */




/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - CONTACT DEPLIANT
   RDH_PRATIQUE_CONTACT_DETAILS_STYLE_V1
   ========================================================= */

.rdh-contact-details {
  grid-column: 1 / -1;

  width: 100%;
  box-sizing: border-box;

  background: #ffffff;

  border: 1px solid rgba(16,35,90,.08);
  border-radius: 18px;

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

  overflow: hidden;
}


/*
 * Suppression du triangle natif.
 */
.rdh-contact-details > summary {
  list-style: none;
}

.rdh-contact-details > summary::-webkit-details-marker {
  display: none;
}


.rdh-contact-summary {

  display: flex;
  align-items: center;

  gap: 13px;

  width: 100%;
  min-height: 72px;

  padding: 13px 16px;
  box-sizing: border-box;

  cursor: pointer;

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


.rdh-contact-summary-icon {

  flex: 0 0 42px;

  width: 42px;
  height: 42px;

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

  border-radius: 13px;

  background: rgba(16,35,90,.07);
  color: #10235a;
}


.rdh-contact-summary-icon svg {

  width: 23px;
  height: 23px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.rdh-contact-summary-text {

  flex: 1 1 auto;

  min-width: 0;

  display: flex;
  flex-direction: column;

  gap: 3px;
}


.rdh-contact-summary-text strong {

  color: #10235a;

  font-size: 17px;
  line-height: 1.2;
  font-weight: 800;
}


.rdh-contact-summary-text small {

  color: #68758a;

  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
}


.rdh-contact-summary-arrow {

  flex: 0 0 auto;

  color: #718096;

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

  transform: rotate(90deg);

  transition:
    transform .18s ease;
}


.rdh-contact-details[open]
.rdh-contact-summary-arrow {

  transform: rotate(-90deg);
}


.rdh-contact-details[open]
.rdh-contact-summary {

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


.rdh-contact-panel {

  padding: 18px;
}


/*
 * L'ancienne carte ne doit plus ajouter
 * de fond ni de gros espacements.
 */
.rdh-contact-details .rdh-contact-form {

  margin: 0;
}


@media (max-width: 420px) {

  .rdh-contact-summary {
    min-height: 68px;

    padding:
      12px 14px;
  }

  .rdh-contact-summary-icon {

    width: 40px;
    height: 40px;

    flex-basis: 40px;
  }

  .rdh-contact-summary-text small {

    font-size: 12px;
  }

}


/* === FIN RDH_PRATIQUE_CONTACT_DETAILS_STYLE_V1 === */




/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - ICONES DEGRADES
   RDH_PRATIQUE_ICONS_GRADIENTS_V1
   ========================================================= */

/*
 * Un peu plus de personnalité sur les cartes.
 */
.rdh-plus-card,
.rdh-contact-details,
.rdh-pratique-legal-direct a {
  position: relative;
  overflow: hidden;
}


/*
 * STYLE GLOBAL DES ZONES D'ICONE
 */
.rdh-plus-card .rdh-plus-icon,
.rdh-contact-summary-icon {
  border-radius: 18px !important;

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

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.rdh-plus-card .rdh-plus-icon svg,
.rdh-contact-summary-icon svg {
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.08));
}


/*
 * CONTACT - BLEU / VIOLET
 */
.rdh-contact-summary-icon {
  background: linear-gradient(135deg, #4e7bff 0%, #7a4dff 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 12px 24px rgba(90,90,210,.22) !important;
}

.rdh-contact-summary-arrow {
  color: #6c63ff !important;
}


/*
 * MAREES - BLEU OCEAN
 */
.rdh-plus-card--marees .rdh-plus-icon {
  background: linear-gradient(135deg, #42c3ff 0%, #2b76ff 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 12px 24px rgba(43,118,255,.22) !important;
}

.rdh-plus-card--marees .rdh-plus-arrow {
  color: #2b76ff !important;
}

.rdh-plus-card--marees::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #42c3ff 0%, #2b76ff 100%);
  border-radius: 20px;
}


/*
 * ENERGIE - ORANGE / AMBRE
 */
.rdh-plus-card--energie .rdh-plus-icon {
  background: linear-gradient(135deg, #ffc24d 0%, #ff7e2f 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 12px 24px rgba(255,126,47,.22) !important;
}

.rdh-plus-card--energie .rdh-plus-arrow {
  color: #ff8a2f !important;
}

.rdh-plus-card--energie::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #ffc24d 0%, #ff7e2f 100%);
  border-radius: 20px;
}


/*
 * INFORMATIONS LEGALES - PLUS DOUX MAIS ELEGANT
 */
.rdh-pratique-legal-direct a {
  border: 1px solid rgba(92,105,134,.14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,251,255,.88)) !important;
}

.rdh-pratique-legal-direct-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;

  border-radius: 10px;

  background: linear-gradient(135deg, #9aa7bd 0%, #7084a7 100%);
  color: #ffffff;
  opacity: 1 !important;
}


/*
 * PETITE ANIMATION AU TOUCHER
 */
.rdh-plus-card:active .rdh-plus-icon,
.rdh-contact-details > summary:active .rdh-contact-summary-icon {
  transform: scale(.97);
  box-shadow:
    0 7px 16px rgba(16,35,90,.12);
}


/*
 * Légère amélioration de lisibilité des titres.
 */
.rdh-plus-card .rdh-plus-title,
.rdh-contact-summary-text strong {
  letter-spacing: -.2px;
}


/* === FIN RDH_PRATIQUE_ICONS_GRADIENTS_V1 === */




/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - CORRECTION VISIBILITE PICTOS
   RDH_PRATIQUE_ICON_VISIBILITY_FIX_V1
   ========================================================= */

/*
 * Les pictos Marées et Energie doivent ressortir
 * nettement sur les fonds dégradés.
 */
.rdh-plus-card--marees .rdh-plus-icon,
.rdh-plus-card--energie .rdh-plus-icon {
  color: #ffffff !important;
}


/*
 * On force tous les éléments SVG internes
 * à prendre un trait blanc bien visible.
 */
.rdh-plus-card--marees .rdh-plus-icon svg,
.rdh-plus-card--energie .rdh-plus-icon svg,
.rdh-plus-card--marees .rdh-plus-icon svg *,
.rdh-plus-card--energie .rdh-plus-icon svg * {
  stroke: #ffffff !important;
  fill: none !important;
  opacity: 1 !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/*
 * Petite présence visuelle supplémentaire.
 */
.rdh-plus-card--marees .rdh-plus-icon svg,
.rdh-plus-card--energie .rdh-plus-icon svg {
  filter:
    drop-shadow(0 1px 1px rgba(0,0,0,.10))
    drop-shadow(0 2px 5px rgba(0,0,0,.08)) !important;
}


/*
 * On agrandit très légèrement les pictos.
 */
.rdh-plus-card--marees .rdh-plus-icon svg {
  transform: scale(1.08);
}

.rdh-plus-card--energie .rdh-plus-icon svg {
  transform: scale(1.10);
}


/* === FIN RDH_PRATIQUE_ICON_VISIBILITY_FIX_V1 === */




/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - TONS PLUS ELEGANTS
   RDH_PRATIQUE_ELEGANT_TONES_V1
   ========================================================= */

/*
 * CONTACT - bleu ardoise / pervenche adouci
 */
.rdh-contact-summary-icon {
  background: linear-gradient(
    135deg,
    #7f8fe6 0%,
    #6f7fd5 100%
  ) !important;
  color: #ffffff !important;

  box-shadow:
    0 8px 18px rgba(80, 96, 170, .14) !important;
}

.rdh-contact-summary-arrow {
  color: #7b86c7 !important;
}


/*
 * MAREES - bleu océan grisé
 */
.rdh-plus-card--marees .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #8ebcf0 0%,
    #6f98de 100%
  ) !important;
  color: #ffffff !important;

  box-shadow:
    0 8px 18px rgba(85, 120, 185, .14) !important;
}

.rdh-plus-card--marees .rdh-plus-arrow {
  color: #7091cf !important;
}

.rdh-plus-card--marees::before {
  background: linear-gradient(
    180deg,
    #8ebcf0 0%,
    #6f98de 100%
  ) !important;
}


/*
 * ENERGIE - ambre sable / cuivre léger
 */
.rdh-plus-card--energie .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #dcb06a 0%,
    #c89052 100%
  ) !important;
  color: #ffffff !important;

  box-shadow:
    0 8px 18px rgba(160, 112, 58, .14) !important;
}

.rdh-plus-card--energie .rdh-plus-arrow {
  color: #c48b50 !important;
}

.rdh-plus-card--energie::before {
  background: linear-gradient(
    180deg,
    #dcb06a 0%,
    #c89052 100%
  ) !important;
}


/*
 * Ombres un peu plus discrètes pour rester
 * dans l'esprit sobre de l'application.
 */
.rdh-plus-card .rdh-plus-icon,
.rdh-contact-summary-icon {
  box-shadow:
    0 8px 18px rgba(16, 35, 90, .10) !important;
}


/*
 * Présence légère, moins "techno / flashy".
 */
.rdh-plus-card:active .rdh-plus-icon,
.rdh-contact-details > summary:active .rdh-contact-summary-icon {
  box-shadow:
    0 5px 12px rgba(16, 35, 90, .10) !important;
}


/* === FIN RDH_PRATIQUE_ELEGANT_TONES_V1 === */




/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - 4 SERVICES
   RDH_PRATIQUE_4_SERVICES_STYLE_V1
   ========================================================= */


/* SANTE - ROSE POUDRE / BORDEAUX DOUX */

.rdh-plus-card--sante .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #d9a2ad 0%,
    #b97888 100%
  ) !important;
  color: #fff !important;
}

.rdh-plus-card--sante .rdh-plus-arrow {
  color: #b97888 !important;
}

.rdh-plus-card--sante::before {
  background: linear-gradient(
    180deg,
    #d9a2ad,
    #b97888
  ) !important;
}


/* TRANSPORT - VERT SAUGE */

.rdh-plus-card--transport .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #9ebcaf 0%,
    #73988b 100%
  ) !important;
  color: #fff !important;
}

.rdh-plus-card--transport .rdh-plus-arrow {
  color: #73988b !important;
}

.rdh-plus-card--transport::before {
  background: linear-gradient(
    180deg,
    #9ebcaf,
    #73988b
  ) !important;
}


/* DAB - BLEU GRIS */

.rdh-plus-card--dab .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #9faec7 0%,
    #798ba9 100%
  ) !important;
  color: #fff !important;
}

.rdh-plus-card--dab .rdh-plus-arrow {
  color: #798ba9 !important;
}

.rdh-plus-card--dab::before {
  background: linear-gradient(
    180deg,
    #9faec7,
    #798ba9
  ) !important;
}


/* NUMEROS - TERRACOTTA DOUX */

.rdh-plus-card--numeros .rdh-plus-icon {
  background: linear-gradient(
    135deg,
    #d6a58b 0%,
    #b87b62 100%
  ) !important;
  color: #fff !important;
}

.rdh-plus-card--numeros .rdh-plus-arrow {
  color: #b87b62 !important;
}

.rdh-plus-card--numeros::before {
  background: linear-gradient(
    180deg,
    #d6a58b,
    #b87b62
  ) !important;
}


/*
 * Les quatre nouveaux pictogrammes
 */
.rdh-plus-card--sante .rdh-plus-icon svg *,
.rdh-plus-card--transport .rdh-plus-icon svg *,
.rdh-plus-card--dab .rdh-plus-icon svg *,
.rdh-plus-card--numeros .rdh-plus-icon svg * {
  stroke: #fff !important;
  fill: none !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* =========================================================
   PAGES PRATIQUES
   ========================================================= */

.rdh-practical-service-page {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 16px 120px;
  box-sizing: border-box;
}


.rdh-practical-list {
  display: grid;
  gap: 12px;
}


.rdh-practical-item,
.rdh-practical-phone,
.rdh-practical-highlight,
.rdh-practical-info {

  display: flex;
  align-items: center;

  gap: 13px;

  width: 100%;
  box-sizing: border-box;

  padding: 15px;

  background: #fff;

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

  border-radius: 18px;

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


.rdh-practical-item-icon {

  flex: 0 0 42px;

  width: 42px;
  height: 42px;

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

  border-radius: 13px;

  background: #eef1f7;

  color: #10235a;

  font-weight: 800;
}


.rdh-practical-item-content {

  min-width: 0;

  flex: 1;

  display: grid;

  gap: 3px;
}


.rdh-practical-item-content strong,
.rdh-practical-highlight strong,
.rdh-practical-info strong,
.rdh-practical-phone strong {

  color: #10235a;

  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
}


.rdh-practical-item-content span,
.rdh-practical-highlight span,
.rdh-practical-info span,
.rdh-practical-phone span {

  color: #71809a;

  font-size: 13px;
  line-height: 1.35;
}


.rdh-practical-guide {

  flex: 0 0 auto;

  padding: 9px 12px;

  border-radius: 999px;

  background: #10235a;

  color: #fff;

  text-decoration: none;

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


.rdh-practical-emergency {

  display: grid;

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

  gap: 10px;

  margin-bottom: 16px;
}


.rdh-practical-emergency a {

  display: grid;

  gap: 2px;

  padding: 15px;

  background: #fff;

  border:
    1px solid rgba(169,70,85,.14);

  border-radius: 18px;

  text-decoration: none;

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


.rdh-practical-emergency strong {

  color: #a74c5c;

  font-size: 27px;
  line-height: 1;
}


.rdh-practical-emergency span {

  color: #71809a;

  font-size: 12px;
}


.rdh-practical-highlight {

  margin-bottom: 16px;
}


.rdh-practical-highlight > div:nth-child(2) {

  flex: 1;

  display: grid;

  gap: 3px;
}


.rdh-practical-highlight > a {

  color: #10235a;

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

  text-decoration: none;
}


.rdh-practical-highlight-icon {

  font-size: 26px;
}


.rdh-practical-info {

  align-items: flex-start;

  flex-direction: column;

  margin-top: 16px;
}


.rdh-practical-phone {

  text-decoration: none;

  justify-content: space-between;
}


.rdh-practical-phone-text {

  display: grid;
  gap: 3px;

  min-width: 0;
}


.rdh-practical-phone-number {

  flex: 0 0 auto;

  color: #10235a;

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


.rdh-practical-phone.emergency {

  border-color:
    rgba(169,70,85,.18);
}


.rdh-practical-phone.emergency
.rdh-practical-phone-number {

  color: #a74c5c;
}


/* === FIN RDH_PRATIQUE_4_SERVICES_STYLE_V1 === */




/* =========================================================
   PRATIQUE - BORDURE COLOREE A GAUCHE SUR TOUS LES BLOCS
   ========================================================= */

/*
 * Barre verticale commune
 * On garde les cartes blanches et on ajoute une bordure
 * colorée à gauche, comme sur les autres blocs.
 */
.rdh-plus-contact,
.rdh-plus-card {
  position: relative;
  overflow: hidden;
}

.rdh-plus-contact::before,
.rdh-plus-card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  border-radius: 22px 0 0 22px;
  background: #cfd8e6;
}

/* ---------------------------------------------------------
   COULEURS PAR BLOC
   --------------------------------------------------------- */

/* Contactez-nous */
.rdh-plus-contact::before {
  background: #7f8ce3;
}

/* Marées */
.rdh-plus-card--marees::before {
  background: #8eabef;
}

/* Carburant & recharge */
.rdh-plus-card--energie::before {
  background: #d6ad61;
}

/* Santé & urgences */
.rdh-plus-card--sante::before {
  background: #c7929f;
}

/* Banques et distributeurs */
.rdh-plus-card--dab::before,
.rdh-plus-card--distributeurs::before,
.rdh-plus-card--banques::before {
  background: #94a6ca;
}

/* Numéros utiles */
.rdh-plus-card--numeros::before,
.rdh-plus-card--numeros-utiles::before {
  background: #c99c7e;
}



/* =========================================================
   HONFLEUR INSIDER
   PRATIQUE - ACTIVITES SPORTIVES
   RDH_PRATIQUE_SPORTS_CARD_V1
   ========================================================= */

.rdh-plus-card--sports .rdh-plus-icon {
  background:
    linear-gradient(
      135deg,
      #72b8a4 0%,
      #4d917f 100%
    ) !important;

  color: #fff !important;

  box-shadow:
    0 8px 18px rgba(77,145,127,.14) !important;
}

.rdh-plus-card--sports .rdh-plus-arrow {
  color: #4d917f !important;
}

.rdh-plus-card--sports::before {
  background:
    linear-gradient(
      180deg,
      #72b8a4 0%,
      #4d917f 100%
    ) !important;
}

.rdh-plus-card--sports .rdh-plus-icon svg * {
  stroke: #fff !important;
  fill: none !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* === FIN RDH_PRATIQUE_SPORTS_CARD_V1 === */

