/* NeuraLocation consent modal -- shared styles. Theme-aware via html[data-theme]. */

.nw-geo-overlay {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(20, 24, 20, 0.55);
  padding: 1.2rem;
}
.nw-geo-overlay[hidden] { display: none; }

.nw-geo-modal {
  background: #fff; color: #1f2a24;
  max-width: 520px; width: 100%;
  border-radius: 14px; padding: 1.8rem 1.9rem;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.32);
  font-family: system-ui, -apple-system, sans-serif;
}

.nw-geo-title {
  font-size: 1.4rem; font-weight: 700; margin: 0 0 0.8rem;
  color: #14312a; line-height: 1.2;
}
.nw-geo-text {
  font-size: 0.98rem; line-height: 1.6; margin: 0 0 1.2rem; color: #3a453e;
}
.nw-geo-choice {
  font-size: 0.9rem; font-weight: 600; margin: 0 0 0.8rem; color: #1f2a24;
}

.nw-geo-actions { display: flex; flex-direction: column; gap: 0.6rem; }
.nw-geo-btn {
  font: 600 0.95rem/1 system-ui, sans-serif;
  padding: 0.85rem 1rem; border-radius: 9px; cursor: pointer;
  border: 1px solid #d6ddd6; background: #fff; color: #1f2a24;
  transition: background 0.12s, border-color 0.12s;
}
.nw-geo-btn:hover { border-color: #2e8b57; }
.nw-geo-cookie {
  background: #14312a; color: #fff; border-color: #14312a;
}
.nw-geo-cookie:hover { background: #1d4a3d; border-color: #1d4a3d; }
.nw-geo-decline { color: #6a736c; }

.nw-geo-fine {
  font-size: 0.78rem; line-height: 1.5; color: #7a837c; margin: 1.1rem 0 0.4rem;
}
.nw-geo-way {
  font-size: 0.82rem; font-weight: 700; color: #14312a; margin: 0.2rem 0 0;
}

html[data-theme="dark"] .nw-geo-modal { background: #1a1f22; color: #d6ddd6; }
html[data-theme="dark"] .nw-geo-title { color: #e2ede6; }
html[data-theme="dark"] .nw-geo-text { color: #b0bab2; }
html[data-theme="dark"] .nw-geo-choice { color: #d6ddd6; }
html[data-theme="dark"] .nw-geo-btn { background: #232a2d; color: #d6ddd6; border-color: #333c38; }
html[data-theme="dark"] .nw-geo-btn:hover { border-color: #2e8b57; }
html[data-theme="dark"] .nw-geo-cookie { background: #2e8b57; color: #fff; border-color: #2e8b57; }
html[data-theme="dark"] .nw-geo-cookie:hover { background: #35a065; }
html[data-theme="dark"] .nw-geo-decline { color: #8a938c; }
html[data-theme="dark"] .nw-geo-fine { color: #7a837c; }
html[data-theme="dark"] .nw-geo-way { color: #6fd0a0; }

@media (max-width: 520px) {
  .nw-geo-modal { padding: 1.4rem 1.3rem; }
  .nw-geo-title { font-size: 1.2rem; }
}
