/* C-livrer — style accueil/carte street food
   Ciblé uniquement sur la page carte. Palette conservée : variables existantes du thème. */

.g-shell{
  background:var(--bg);
}

/* Sidebar PC : même palette, rendu plus premium */
.g-panel{
  width:420px;
  min-width:360px;
  border-right:1.5px solid var(--border);
  background:var(--surface);
  box-shadow:18px 0 44px rgba(11,37,69,.10);
}

.g-panel-head{
  padding:18px 18px 16px;
  position:relative;
  overflow:hidden;
}

.g-panel-head:after{
  content:'Street food';
  position:absolute;
  right:16px;
  bottom:14px;
  font-family:var(--display);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.20);
  pointer-events:none;
}

.g-panel-brand{
  gap:12px;
  margin-bottom:14px;
}

.g-panel-auth{
  gap:8px;
}

.g-authbtn{
  height:36px;
  border-radius:12px;
  padding:0 15px;
  font-weight:900;
}

.g-panel-search{
  min-height:46px;
  border-radius:14px;
  padding:11px 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.g-panel-search-input{
  font-weight:700;
}

/* Filtres : aspect chips street-food, sans changer les couleurs */
.g-panel-filters,
.g-panel-radius{
  gap:8px;
  padding:12px 14px;
  align-items:center;
}

.g-chip{
  min-height:34px;
  border-radius:999px;
  padding:8px 15px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(11,37,69,.06);
}

.g-chip.is-active{
  box-shadow:0 10px 20px rgba(11,37,69,.12);
}

.g-commune{
  gap:10px;
  padding:16px;
}

.g-commune__title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
}

.g-commune__title:before{
  content:'⌖';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:var(--surface);
  border:1.5px solid var(--border);
  font-family:var(--ui);
  font-size:14px;
}

.g-commune__form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
}

.g-input,
.g-input--commune,
.g-input--top{
  min-height:42px;
  border-radius:14px;
  font-weight:700;
}

.g-panel-helper{
  padding:8px 16px 10px;
  font-weight:800;
}

/* Titre de section */
.g-panel-sec{
  padding:15px 18px 10px;
}

.g-panel-sec-title{
  position:relative;
  font-size:15px;
  letter-spacing:-.03em;
}

.g-panel-sec-title:after{
  content:'';
  position:absolute;
  left:0;
  right:-8px;
  bottom:-4px;
  height:7px;
  background:var(--bg);
  border-radius:999px;
  z-index:-1;
}

.g-panel-sec-count{
  font-weight:900;
}

/* Cartes foodtrucks desktop */
.g-list{
  gap:10px;
  padding:12px 12px 18px;
  background:var(--surface) !important;
}

.g-card{
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:12px;
  padding:12px;
  border:1.5px solid var(--border) !important;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(11,37,69,.06);
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.g-card:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(11,37,69,.10);
}

.g-card__img{
  width:72px;
  height:72px;
  border-radius:16px;
}

.g-card__name{
  font-size:14px;
  margin-bottom:5px;
}

.g-card__meta{
  font-size:11px;
  font-weight:800;
}

.g-card__sub{
  font-size:10px;
  font-weight:950;
}

.g-badge{
  align-self:center;
  border-radius:999px;
  padding:6px 12px;
  font-size:10px;
  font-weight:950;
}

/* Carte : ne change pas les tuiles, seulement l'intégration visuelle */
.g-mapwrap{
  background:var(--bg);
}

.g-map{
  filter:saturate(1.02) contrast(1.01);
}

.leaflet-control-zoom{
  border:0 !important;
  box-shadow:0 10px 24px rgba(11,37,69,.12) !important;
}

.leaflet-control-zoom a{
  border:0 !important;
  font-family:var(--display) !important;
  font-weight:900 !important;
}

.g-marker{
  box-shadow:0 8px 22px rgba(11,37,69,.20);
}

/* Navigation PC */
.g-bottomnav--desktop{
  padding:8px;
  gap:6px;
}

.g-navbtn{
  border-radius:16px;
  padding:10px 8px;
  font-weight:900;
}

/* Mobile : garde couleurs, améliore l'expérience */
@media (max-width:980px){
  .g-shell{
    height:100dvh;
  }

  .g-topbar{
    top:10px;
    left:12px;
    right:12px;
  }

  .g-topbar__search{
    gap:9px;
  }

  .g-input--top{
    min-height:44px;
    border-radius:16px;
    box-shadow:0 10px 24px rgba(11,37,69,.10);
  }

  .g-topbar__chips{
    gap:8px;
    padding-bottom:2px;
  }

  .g-topbar__commune{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }

  .g-mobilebar{
    left:12px;
    right:12px;
    bottom:88px;
    border-radius:24px;
    padding:9px 12px 13px;
    box-shadow:0 16px 42px rgba(11,37,69,.16);
  }

  .g-mobilebar__handle{
    width:42px;
    height:4px;
    margin-bottom:12px;
  }

  .g-mobilebar__kicker{
    font-weight:950;
  }

  .g-mobilebar__name{
    font-size:17px;
    letter-spacing:-.04em;
  }

  .g-mobiledeck{
    gap:12px;
    padding:2px 32px;
  }

  .g-mobilecard{
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    min-height:102px;
    border-radius:18px;
    padding:10px;
    box-shadow:0 10px 24px rgba(11,37,69,.08);
  }

  .g-mobilecard__img{
    width:88px;
    height:82px;
    border-radius:16px;
  }

  .g-mobilecard__name{
    font-size:14px;
  }

  .g-mobilecard__meta{
    font-weight:800;
  }

  .g-mobiledeck__nav{
    width:32px;
    height:32px;
    border-radius:999px;
    box-shadow:0 8px 20px rgba(11,37,69,.10);
  }

  .g-map-mobilenav{
    left:10px;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    border-radius:22px;
    padding:7px;
  }

  .g-map-mni{
    border-radius:17px;
    font-weight:900;
  }
}

@media (max-width:420px){
  .g-topbar{
    left:8px;
    right:8px;
  }

  .g-mobilebar{
    left:8px;
    right:8px;
  }

  .g-mobiledeck{
    padding-inline:28px;
  }

  .g-mobilecard{
    grid-template-columns:78px minmax(0,1fr);
  }

  .g-mobilecard__img{
    width:78px;
  }
}

/* Correctif ciblé — onglet mobile "À découvrir".
   Supprime les fonds colorés/gradients des cartes foodtrucks et rend la zone plus sobre. */
.g-mobilebar{
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(226,232,240,.92) !important;
  backdrop-filter:blur(16px);
}

.g-mobilebar__header{
  padding:0 4px 2px;
}

.g-mobilebar__kicker{
  color:var(--muted) !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:10px;
}

.g-mobilebar__name{
  color:var(--text) !important;
}

.g-mobilebar__count{
  color:var(--text2) !important;
  font-weight:800;
}

.g-mobiledeck{
  gap:10px !important;
}

.g-mobilecard,
.g-mobilecard.is-active{
  background:#fff !important;
  background-image:none !important;
  border:1px solid rgba(226,232,240,.96) !important;
  box-shadow:0 10px 26px rgba(11,37,69,.08) !important;
}

.g-mobilecard:hover,
.g-mobilecard.is-active{
  transform:translateY(-1px);
  border-color:rgba(249,115,22,.45) !important;
  box-shadow:0 14px 32px rgba(11,37,69,.12) !important;
}

.g-mobilecard__img{
  border:1px solid rgba(226,232,240,.9);
  box-shadow:none !important;
}

.g-mobilecard__name{
  color:var(--text) !important;
  letter-spacing:-.02em;
}

.g-mobilecard__meta{
  color:var(--text2) !important;
}

.g-mobilecard__sub{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 8px;
  background:rgba(249,115,22,.08) !important;
  color:var(--primary) !important;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.g-mobiledeck__nav{
  background:#fff !important;
  border:1px solid rgba(226,232,240,.96) !important;
  color:var(--text) !important;
}
