/* NicaRenova shared styles */
:root {
  --nr-teal-900: #134E4A;
  --nr-teal-800: #115E59;
  --nr-teal-700: #0F766E;
  --nr-teal-600: #0D9488;
  --nr-teal-50:  #F0FDFA;
  --nr-amber:    #F59E0B;
  --nr-amber-dark: #D97706;
  --nr-slate-50: #F8FAFC;
}
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

.nr-brand-teal { color: var(--nr-teal-700); }
.nr-bg-teal   { background: var(--nr-teal-700); }
.nr-bg-teal-dark { background: var(--nr-teal-900); }
.nr-bg-amber  { background: var(--nr-amber); }
.nr-text-amber { color: var(--nr-amber); }

.nr-hero-grad {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(245,158,11,.18), transparent 55%),
    radial-gradient(ellipse at 90% 30%, rgba(13,148,136,.25), transparent 60%),
    linear-gradient(135deg, #0A2E2C 0%, #0F766E 55%, #0D9488 100%);
}
.nr-card {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.nr-card:hover { box-shadow: 0 10px 30px rgba(2,6,23,0.07); border-color: var(--nr-teal-600); transform: translateY(-2px); }

.nr-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.25rem; border-radius: 9999px; font-weight: 600; font-size: .9rem; transition: background .15s ease, transform .1s ease; white-space: nowrap; }
.nr-btn-primary { background: var(--nr-teal-700); color: #fff; }
.nr-btn-primary:hover { background: var(--nr-teal-800); }
.nr-btn-amber { background: var(--nr-amber); color: #1a1204; }
.nr-btn-amber:hover { background: var(--nr-amber-dark); color: #fff; }
.nr-btn-ghost { background: rgba(255,255,255,.10); color: #fff; border: 1px solid rgba(255,255,255,.22); }
.nr-btn-ghost:hover { background: rgba(255,255,255,.18); }
.nr-btn-outline { background: #fff; color: var(--nr-teal-700); border: 1px solid var(--nr-teal-700); }
.nr-btn-outline:hover { background: var(--nr-teal-50); }

.nr-chip { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; padding: .25rem .65rem; border-radius: 9999px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.20); color: #fff; text-transform: uppercase; letter-spacing: .05em; }
.nr-chip .dot { width: .45rem; height: .45rem; border-radius: 9999px; background: var(--nr-amber); }

.nr-ref { font-size: .7rem; color: #94A3B8; vertical-align: super; text-decoration: none; }
.nr-ref:hover { color: var(--nr-teal-700); }

.nr-disclaimer { background: #FEF9C3; border-left: 3px solid #CA8A04; padding: .75rem 1rem; font-size: .82rem; color: #713F12; border-radius: 6px; }
.nr-note { background: #F0FDFA; border-left: 3px solid var(--nr-teal-600); padding: .75rem 1rem; font-size: .85rem; color: #134E4A; border-radius: 6px; }

details.nr-faq { background: #fff; border: 1px solid #E2E8F0; border-radius: 10px; padding: 0; margin-bottom: .5rem; overflow: hidden; }
details.nr-faq > summary { cursor: pointer; padding: 1rem 1.25rem; list-style: none; font-weight: 600; color: #0F172A; display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
details.nr-faq > summary::-webkit-details-marker { display: none; }
details.nr-faq > summary::after { content: "＋"; font-size: 1.25rem; color: var(--nr-teal-700); transition: transform .15s; }
details.nr-faq[open] > summary::after { content: "－"; }
details.nr-faq > div { padding: 0 1.25rem 1rem; color: #334155; font-size: .95rem; line-height: 1.55; }

.nr-step { counter-increment: nr-step; }
.nr-step::before { content: counter(nr-step); display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 9999px; background: var(--nr-teal-700); color: #fff; font-weight: 700; margin-right: .75rem; }

.nr-compare { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.nr-compare .col { padding: 1rem; border-radius: 10px; }
.nr-compare .col.us { background: #F1F5F9; color: #334155; }
.nr-compare .col.ni { background: linear-gradient(135deg,#ECFDF5,#F0FDFA); border: 1px solid #99F6E4; }

@keyframes nr-fade-up { from { opacity: 0; transform: translateY(10px);} to { opacity: 1; transform: none;} }
.nr-fade { animation: nr-fade-up .5s ease both; }

/* Sticky sub-header for long pages */
.nr-sticky-cta { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.95); backdrop-filter: blur(8px); }
