/*
 * Norisma Bring Pickup — picker styles. The !important flags are deliberate:
 * bb-theme and GF both target .gform_wrapper li descendants and would win.
 */

.nbp-snippet {
  --nbp-bg: #ffffff;
  --nbp-border: #e0e0e0;
  --nbp-text: #111111;
  --nbp-text-muted: #555555;
  --nbp-text-soft: #888888;
  --nbp-accent: #00882b;
  --nbp-accent-dark: #006b22;
  --nbp-error: #c92a2a;
  display: none;
  margin: 16px 0 !important;
  padding: 16px !important;
  background: var(--nbp-bg) !important;
  border: 1px solid var(--nbp-border) !important;
  border-radius: 8px !important;
  color: var(--nbp-text) !important;
  font-family: inherit;
  list-style: none !important;
}
.nbp-snippet.is-active { display: block !important; }
.nbp-snippet *,
.nbp-snippet *::before { box-sizing: border-box !important; }
.nbp-snippet__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 12px 0 !important;
  padding: 0 0 8px 0 !important;
  border-bottom: 1px solid var(--nbp-border) !important;
  background: transparent !important;
}
.nbp-snippet__title {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nbp-text) !important;
  line-height: 1.3 !important;
}
.nbp-snippet__logo {
  color: var(--nbp-accent) !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 14px !important;
}
.nbp-snippet__logo::before {
  content: '' !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: var(--nbp-accent) !important;
  display: inline-block !important;
}
.nbp-snippet__status {
  padding: 16px !important;
  text-align: center !important;
  color: var(--nbp-text-muted) !important;
  font-size: 14px !important;
  background: transparent !important;
}
.nbp-snippet__status--error { color: var(--nbp-error) !important; }
.nbp-snippet__list { list-style: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
.nbp-snippet__item {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
.nbp-snippet__item:last-child { border-bottom: none !important; }
.nbp-snippet__item.is-hidden { display: none !important; }
.nbp-snippet__label {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nbp-text) !important;
}
.nbp-snippet__radio {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--nbp-accent);
}
.nbp-snippet__content { flex: 1 !important; min-width: 0 !important; }
.nbp-snippet__name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--nbp-text) !important;
  line-height: 1.3 !important;
  display: block !important;
}
.nbp-snippet__item.is-selected .nbp-snippet__name { color: var(--nbp-accent) !important; }
.nbp-snippet__dot { color: var(--nbp-text-soft) !important; margin: 0 4px !important; }
.nbp-snippet__distance { font-weight: 400 !important; color: var(--nbp-text-muted) !important; font-size: 13px !important; }
.nbp-snippet__address {
  font-size: 12px !important;
  color: var(--nbp-text-muted) !important;
  margin-top: 2px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}
.nbp-snippet__hours {
  font-size: 12px !important;
  color: var(--nbp-text-muted) !important;
  margin-top: 2px !important;
  line-height: 1.3 !important;
}
.nbp-snippet__show-more {
  background: none !important;
  border: none !important;
  color: var(--nbp-accent) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-size: 13px !important;
  padding: 6px 12px !important;
  margin-top: 4px !important;
}
.nbp-snippet__show-more:hover { color: var(--nbp-accent-dark) !important; text-decoration: underline !important; }
.nbp-snippet__spinner {
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #ccc !important;
  border-top-color: var(--nbp-accent) !important;
  border-radius: 50% !important;
  animation: nbp-spin 0.8s linear infinite !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
}
@keyframes nbp-spin { to { transform: rotate(360deg); } }
