/* Small accessibility and readability refinements; the v29 visual identity stays. */
:root { color-scheme: dark; }
html { scroll-padding-top: 100px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #e8d5a3; outline-offset: 4px;
}
.lang-switch button, .mobile-lang-switch button { min-height: 44px; min-width: 36px; }
.faq-q { width:100%; text-align:left; font:inherit; color:inherit; background:transparent; border:0; min-height:48px; }
.faq-item .faq-a[hidden] { display:none !important; }
.faq-item.open .faq-a { max-height:none; }
.nr-scope { max-width:70ch; border-left:2px solid #c9a84c; padding:12px 18px; margin:24px 0; font-size:14px; line-height:1.75; color:#d8d2c5; }
.nr-downloads { padding:28px; border:1px solid rgba(201,168,76,.35); background:#171717; }
.nr-downloads > p { line-height:1.65; margin-bottom:18px; }
.nr-download { display:flex; align-items:center; justify-content:space-between; min-height:52px; margin:10px 0; padding:14px 18px; border:1px solid #c9a84c; color:#e8d5a3; font-weight:500; }
.nr-download:hover { color:#0d0d0d; background:#c9a84c; }
.nr-fine { font-size:14px; line-height:1.65; color:#c4c0b7; }
#contactPrivacyNote { margin:0 0 20px; padding:14px; border-left:2px solid #c9a84c; background:#171717; }
#contactError a { text-decoration:underline; text-underline-offset:3px; }
[aria-busy="true"] button[type="submit"] { cursor:progress; opacity:.75; }
.map-mini { margin-top:20px; }
/* v31 — mapa carregado só ao clique */
.nr-map { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px; text-align:center;
  background: radial-gradient(circle at 28% 38%, rgba(201,168,76,.10), transparent 42%), radial-gradient(circle at 74% 64%, rgba(201,168,76,.07), transparent 40%), #1e1e1e; }
.nr-map-btn { font-family:'Barlow Condensed','Barlow Condensed Fallback',sans-serif; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#e8d5a3; background:transparent; border:1px solid #c9a84c; padding:12px 22px; min-height:44px; cursor:pointer; }
.nr-map-btn:hover { background:#c9a84c; color:#0d0d0d; }
.nr-map-note { font-size:13px; line-height:1.5; color:#a6a19b; margin:0; max-width:66ch; text-wrap:balance; }
.nr-map.nr-map-loaded { padding:0; display:block; }
/* v31 — sugestão de idioma (só para browsers em PT/EN sem escolha guardada) */
.nr-lang-hint { position:fixed; z-index:90; left:12px; right:12px; bottom:84px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:10px 12px; padding:14px 16px; background:#171717; border:1px solid rgba(201,168,76,.45); box-shadow:0 12px 32px rgba(0,0,0,.55);
  font-size:14px; line-height:1.5; color:#f0ede6; text-align:center; }
.nr-lang-hint span { flex-basis:100%; }
/* desktop: canto inferior esquerdo — o direito é do botão flutuante do WhatsApp */
@media (min-width:769px) { .nr-lang-hint { left:24px; right:auto; bottom:24px; max-width:440px; } }
.nr-lang-hint button { font:inherit; font-size:13px; min-height:44px; padding:8px 16px; cursor:pointer; border:1px solid #c9a84c; }
.nr-lang-yes { background:#c9a84c; color:#0d0d0d; font-weight:600; }
.nr-lang-no { background:transparent; color:#e8d5a3; }
/* Content must remain readable if an observer or another script fails. */
.reveal { opacity:1; transform:none; }
@media (max-width:768px) {
  .lang-switch button, .mobile-lang-switch button { min-width:44px; }
  .nr-downloads { padding:20px; }
  .nr-scope { padding:12px 14px; }
  input, select, textarea { font-size:16px !important; }
  .path-card { min-width:0; }
  .path-card-price { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
