/* ── Page d'accueil "hero" : saisie d'adresse avant la liste des restos ── */

body.home-loading #home-hero,
body.home-loading #main-content { display: none !important; }

.home-hero {
  position: fixed;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
  background: linear-gradient(135deg, var(--primary-color) 0%, #d946ef 100%);
}

.home-hero.hidden { display: none !important; }

.home-hero-inner {
  width: 100%;
  max-width: 480px;
  text-align: center;
  color: #fff;
}

.home-hero-logo {
  width: 160px;
  max-width: 60%;
  margin: 0 auto 28px;
  display: block;
}

.home-hero-title {
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  font-weight: 800;
  margin: 0 0 10px;
  letter-spacing: -.01em;
}

.home-hero-subtitle {
  font-size: 1rem;
  font-weight: 500;
  opacity: .92;
  margin: 0 0 28px;
}

.home-hero-address-card {
  background: #fff;
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  padding: 18px;
  text-align: left;
}

/* Reprend visuellement le style de .home-address-edit-body, scope isole pour
   ne jamais affecter la modale "Livrer au" existante. */
#home-hero-address-slot {
  position: relative;
  margin-bottom: 12px;
}

#home-hero-address-slot .address-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--primary-color-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 4px 4px 4px 14px;
}

#home-hero-address-slot .address-input-wrapper input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 14px 4px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  font-family: inherit;
}

#home-hero-address-slot .address-input-wrapper input::placeholder { color: var(--ink-3); }
#home-hero-address-slot .address-input-wrapper input:focus { outline: none; box-shadow: none; }

#home-hero-address-slot .geolocation-btn {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: none;
  font-size: 15px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#home-hero-address-slot .address-suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 50;
}

#home-hero-address-slot .home-topbar-address-status {
  display: block;
  margin: 8px 2px 0;
  color: var(--ink-3);
  font-size: 12.5px;
}

.home-hero-locate-btn {
  width: 100%;
  margin-top: 4px;
  padding: 13px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary-color) 0%, #d946ef 100%);
  color: #fff;
  font-weight: 700;
  font-size: 14.5px;
  font-family: inherit;
  cursor: pointer;
  transition: opacity .15s;
}

.home-hero-locate-btn:hover { opacity: .92; }
.home-hero-locate-btn:disabled { opacity: .6; cursor: wait; }

@media (max-width: 520px) {
  .home-hero-inner { max-width: 100%; }
  .home-hero-logo { width: 120px; }
}
