.banana-access-button {
  position: relative;
  z-index: 5;
  cursor: pointer;
  border: 2px solid #ffd94d;
  color: #6e4300;
  background: linear-gradient(145deg,#fff9cf,#ffd84f);
  box-shadow: 0 5px 14px rgba(91,61,0,.2);
  font: inherit;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .2px;
}
.banana-access-button--map {
  min-width: 48px;
  min-height: 44px;
  padding: 0 9px;
  border-radius: 14px;
}
.banana-access-button[data-plan="premium"] { color: #fff; border-color: #ffe56d; background: linear-gradient(145deg,#7b4de5,#d64e9b); }
.banana-access-modal[hidden] { display: none !important; }
.banana-access-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 18px; }
.banana-access-modal__backdrop { position: absolute; inset: 0; background: rgba(2,24,38,.76); backdrop-filter: blur(7px); }
.banana-access-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%,440px);
  max-height: min(88dvh,720px);
  overflow: auto;
  padding: 25px 22px 22px;
  text-align: center;
  border: 3px solid rgba(255,255,255,.85);
  border-radius: 29px;
  color: #07384a;
  background: linear-gradient(155deg,#fffef3,#eefbf8);
  box-shadow: 0 24px 65px rgba(0,0,0,.32);
}
.banana-access-modal__close { position: absolute; top: 10px; right: 11px; width: 40px; height: 40px; cursor: pointer; border: 0; border-radius: 14px; color: #fff; background: #0a4961; font-size: 26px; }
.banana-access-modal__icon { display: grid; width: 68px; height: 68px; margin: 0 auto 10px; place-items: center; border-radius: 22px; background: linear-gradient(145deg,#fff6a5,#ffc929); box-shadow: 0 7px 0 #dfa500; font-size: 33px; }
.banana-access-modal__panel > small { display: block; margin-top: 13px; color: #9a6100; font-size: 10px; font-weight: 1000; letter-spacing: 1.15px; }
.banana-access-modal__panel h2 { margin: 7px 24px 10px; font-size: clamp(25px,7vw,34px); line-height: 1.02; }
.banana-access-modal__panel p { color: #49646d; font-size: 14px; line-height: 1.45; }
.banana-access-modal__free,
.banana-access-modal__premium { display: grid; gap: 3px; margin-top: 9px; padding: 13px 14px; text-align: left; border-radius: 15px; }
.banana-access-modal__free { border: 1px solid #b9e7dc; background: #e9fbf6; }
.banana-access-modal__premium { border: 1px solid #ead98f; background: #fff8d4; }
.banana-access-modal__free b { color: #087d68; }
.banana-access-modal__premium b { color: #8a5b00; }
.banana-access-modal__free span,
.banana-access-modal__premium span { color: #47636c; font-size: 12px; line-height: 1.35; }
.banana-access-modal__soon { margin: 13px 0 8px !important; font-size: 12px !important; font-weight: 800; }
.banana-access-modal__preview { margin: 12px 0; padding: 13px; border-radius: 15px; color: #fff; background: #153e59; }
.banana-access-modal__preview strong { display: block; margin-bottom: 9px; }
.banana-access-modal__preview > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.banana-access-modal__preview button,
.banana-access-modal__ok { min-height: 44px; cursor: pointer; border: 0; border-radius: 13px; font-weight: 900; }
.banana-access-modal__preview button { color: #153e59; background: #fff; }
.banana-access-modal__ok { width: 100%; margin-top: 7px; color: #fff; background: linear-gradient(135deg,#13a987,#0d8f93); }
body.banana-access-modal-open { overflow: hidden !important; }
#gpsTestToggle[hidden],
#locationButton[hidden] { display: none !important; }
body[data-theme="night"] .banana-access-modal__panel { color: #fff; border-color: rgba(119,231,220,.28); background: linear-gradient(155deg,#071d35,#0a3342); }
body[data-theme="night"] .banana-access-modal__panel p,
body[data-theme="night"] .banana-access-modal__free span,
body[data-theme="night"] .banana-access-modal__premium span { color: #c4d9df; }
body[data-theme="night"] .banana-access-modal__free { border-color: #1c6762; background: #0b3e42; }
body[data-theme="night"] .banana-access-modal__premium { border-color: #7b6421; background: #3c3211; }

@media (max-width: 430px) {
  .banana-access-modal { padding: 10px; align-items: end; }
  .banana-access-modal__panel { width: 100%; max-height: 92dvh; padding: 23px 16px 17px; border-radius: 26px 26px 18px 18px; }
  .banana-access-button--map { min-width: 44px; padding-inline: 7px; }
}

/* BananaGo Gratuit / Premium — présentation claire et mobile */
.nav-item.nav-access {
  color: #7640b9;
}

.nav-item.nav-access > span {
  display: grid;
  width: 30px;
  height: 30px;
  margin: 0 !important;
  place-items: center;
  border: 2px solid #ffcf32;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #7a49dc, #dc4f9d);
  box-shadow: 0 4px 0 #e6a900, 0 6px 12px rgba(77, 35, 125, .22);
  font-size: 15px !important;
}

.nav-item.nav-access > small {
  color: inherit;
  font-size: 8.5px;
}

.nav-item.nav-access[data-plan="premium"] {
  color: #b87700;
}

.banana-access-home-card {
  position: relative;
  z-index: 3;
  display: grid;
  width: calc(100% - 30px);
  margin: 12px auto 15px;
  padding: 13px 13px 13px 12px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .92);
  border-radius: 21px;
  color: #063b4c;
  background: linear-gradient(135deg, rgba(255, 252, 213, .97), rgba(255, 217, 70, .97));
  box-shadow: 0 10px 24px rgba(6, 54, 70, .19), inset 0 1px 0 rgba(255, 255, 255, .88);
}

.banana-access-home-card::after {
  position: absolute;
  z-index: -1;
  width: 120px;
  height: 120px;
  top: -68px;
  right: -35px;
  content: "";
  border-radius: 50%;
  background: rgba(255, 255, 255, .34);
}

.banana-access-home-card[data-plan="premium"] {
  color: #fff;
  background: linear-gradient(135deg, rgba(93, 48, 181, .98), rgba(220, 67, 148, .98));
}

.banana-access-home-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 17px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 5px 0 rgba(155, 99, 0, .2);
  font-size: 27px;
  transform: rotate(-4deg);
}

.banana-access-home-card__copy {
  display: grid;
  min-width: 0;
  gap: 2px;
  text-align: left;
}

.banana-access-home-card__copy > span {
  color: #775000;
  font-size: 8px;
  font-weight: 1000;
  letter-spacing: .75px;
}

.banana-access-home-card[data-plan="premium"] .banana-access-home-card__copy > span {
  color: #ffe46c;
}

.banana-access-home-card__copy > strong {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.16;
  text-overflow: ellipsis;
}

.banana-access-home-card__copy > small {
  color: #315d67;
  font-size: 9.5px;
  font-weight: 750;
  line-height: 1.25;
}

.banana-access-home-card[data-plan="premium"] .banana-access-home-card__copy > small {
  color: rgba(255, 255, 255, .88);
}

.banana-access-home-card > button {
  min-height: 39px;
  padding: 0 11px;
  cursor: pointer;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: #7141bd;
  box-shadow: 0 5px 0 #4d278c;
  font: inherit;
  font-size: 9px;
  font-weight: 1000;
}

.banana-access-home-card[data-plan="premium"] > button {
  color: #56318d;
  background: #fff3a6;
  box-shadow: 0 5px 0 #e0ad1d;
}

.banana-access-button--map {
  display: inline-flex;
  min-width: 62px;
  min-height: 48px;
  padding: 4px 7px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
}

.banana-access-button--map span {
  font-size: 17px;
  line-height: 1;
}

.banana-access-button--map small {
  margin-top: 2px;
  font-size: 8px;
  line-height: 1;
}

.banana-access-modal {
  padding: 14px;
}

.banana-access-modal__panel {
  width: min(100%, 620px);
  max-height: min(94dvh, 790px);
  padding: 12px 16px 16px;
  overflow-x: hidden;
  border: 3px solid #ffe469;
  border-radius: 30px;
  background: #fffdf3;
  box-shadow: 0 26px 80px rgba(0, 16, 39, .4), 0 0 0 5px rgba(255, 255, 255, .17);
}

.banana-access-modal__close {
  z-index: 3;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255, 255, 255, .8);
  border-radius: 14px;
  background: rgba(4, 48, 69, .82);
  box-shadow: 0 5px 13px rgba(0, 0, 0, .16);
  line-height: 34px;
}

.banana-access-modal__hero {
  position: relative;
  display: grid;
  min-height: 132px;
  padding: 16px 48px 15px 13px;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  overflow: hidden;
  border-radius: 22px;
  color: #fff;
  text-align: left;
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 234, 87, .48), transparent 25%),
    linear-gradient(135deg, #006d7f, #124578 55%, #6739a9);
}

.banana-access-modal__hero::after {
  position: absolute;
  right: 15px;
  bottom: 8px;
  content: "🍌";
  opacity: .22;
  font-size: 54px;
  transform: rotate(-18deg);
}

.banana-access-modal__hero img {
  position: relative;
  z-index: 1;
  width: 90px;
  height: 104px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .26));
}

.banana-access-modal__hero > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.banana-access-modal__hero small {
  color: #ffe66c;
  font-size: 8.5px;
  font-weight: 1000;
  letter-spacing: 1.25px;
}

.banana-access-modal__hero h2,
.banana-access-modal__panel .banana-access-modal__hero h2 {
  margin: 5px 0 6px;
  color: #fff;
  font-size: clamp(22px, 5.5vw, 31px);
  line-height: 1.02;
}

.banana-access-modal__hero p,
.banana-access-modal__panel .banana-access-modal__hero p {
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.banana-access-modal__plans {
  display: grid;
  margin-top: 11px;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.banana-access-modal__free,
.banana-access-modal__premium {
  position: relative;
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 14px;
  flex-direction: column;
  gap: 7px;
  border-radius: 19px;
  text-align: left;
}

.banana-access-modal__free {
  border: 2px solid #9bdfd2;
  background: linear-gradient(145deg, #effdf9, #dff9f1);
}

.banana-access-modal__premium {
  padding-top: 27px;
  border: 2px solid #f0bc32;
  background: linear-gradient(145deg, #fff8cf, #ffe99c);
  box-shadow: 0 7px 16px rgba(151, 96, 0, .15);
}

.banana-access-modal__premium > em {
  position: absolute;
  top: -2px;
  right: 12px;
  padding: 4px 10px 5px;
  border-radius: 0 0 10px 10px;
  color: #fff;
  background: linear-gradient(135deg, #7d44d2, #d34c98);
  font-size: 8px;
  font-style: normal;
  font-weight: 1000;
  letter-spacing: .75px;
}

.banana-access-modal__free header,
.banana-access-modal__premium header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.banana-access-modal__free header span,
.banana-access-modal__premium header span {
  color: #0a6f67;
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .5px;
}

.banana-access-modal__premium header span {
  color: #7042b1;
}

.banana-access-modal__free header b,
.banana-access-modal__premium header b {
  color: #07394a;
  font-size: 23px;
  line-height: 1;
}

.banana-access-modal__free > strong,
.banana-access-modal__premium > strong {
  color: #07394a;
  font-size: 12px;
}

.banana-access-modal__free ul,
.banana-access-modal__premium ul {
  display: grid;
  margin: 1px 0 0;
  padding: 0;
  gap: 5px;
  list-style: none;
}

.banana-access-modal__free li,
.banana-access-modal__premium li {
  position: relative;
  padding-left: 18px;
  color: #355d66;
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.25;
}

.banana-access-modal__free li::before,
.banana-access-modal__premium li::before {
  position: absolute;
  left: 0;
  content: "✓";
  color: #069b82;
  font-weight: 1000;
}

.banana-access-modal__premium li::before {
  color: #9a54ce;
}

.banana-access-modal__premium > small {
  margin-top: auto;
  color: #7e5b00;
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1.25;
}

.banana-access-modal__launch {
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px dashed #7f55bd;
  border-radius: 13px;
  color: #613791;
  background: #f7efff;
  font-size: 10px;
  font-weight: 1000;
}

.banana-access-modal__preview {
  display: grid;
  gap: 7px;
  margin: 10px 0 3px;
  padding: 11px;
  text-align: left;
}

.banana-access-modal__preview[hidden] {
  display: none !important;
}

.banana-access-modal__preview strong {
  margin: 0;
  font-size: 11px;
}

.banana-access-modal__preview > span {
  color: #d1e5eb;
  font-size: 9px;
}

.banana-access-modal__preview button.is-active {
  color: #fff;
  background: linear-gradient(135deg, #7b49d4, #d64e99);
  box-shadow: inset 0 0 0 2px #ffe25c;
}

.banana-access-modal__ok {
  min-height: 46px;
  margin-top: 10px;
  border-radius: 15px;
  background: linear-gradient(135deg, #08a984, #0879a3);
  box-shadow: 0 5px 0 #075e73;
  font-size: 12px;
}

.app[data-theme="night"] .banana-access-home-card {
  border-color: rgba(255, 229, 92, .8);
  color: #fff;
  background: linear-gradient(135deg, rgba(70, 38, 129, .97), rgba(10, 78, 111, .97));
}

.app[data-theme="night"] .banana-access-home-card__copy > span {
  color: #ffe361;
}

.app[data-theme="night"] .banana-access-home-card__copy > small {
  color: #d2e7ec;
}

@media (max-width: 520px) {
  .banana-access-modal {
    padding: 8px;
    align-items: end;
  }

  .banana-access-modal__panel {
    width: 100%;
    max-height: 94dvh;
    padding: 9px 10px 13px;
    border-radius: 26px 26px 17px 17px;
  }

  .banana-access-modal__hero {
    min-height: 112px;
    padding: 12px 43px 11px 9px;
    grid-template-columns: 70px minmax(0, 1fr);
  }

  .banana-access-modal__hero img {
    width: 70px;
    height: 88px;
  }

  .banana-access-home-card {
    width: calc(100% - 22px);
    grid-template-columns: 43px minmax(0, 1fr);
    padding: 11px;
  }

  .banana-access-home-card__icon {
    width: 43px;
    height: 43px;
    border-radius: 15px;
    font-size: 24px;
  }

  .banana-access-home-card > button {
    min-height: 34px;
    grid-column: 1 / -1;
    box-shadow: 0 4px 0 #4d278c;
  }
}

@media (max-width: 365px) {
  .banana-access-modal__plans {
    grid-template-columns: 1fr;
  }

  .banana-access-modal__premium {
    padding-top: 25px;
  }
}

.banana-access-modal__ok[href]{display:block;text-align:center;text-decoration:none;margin-bottom:8px}
