/* Fase 6.4 — aproximação fiel do visual legado */
:root{
  --nd-primary:#102a56;
  --nd-primary-2:#1d4ed8;
  --nd-accent:#32b6ff;
  --nd-bg:#f4f6fa;
  --nd-card:#ffffff;
  --nd-line:#e8edf5;
  --nd-muted:#6b7280;
  --nd-shadow:0 10px 30px rgba(2, 16, 36, .08);
}
body.nd-legacy-bridge{
  background:var(--nd-bg);
  color:#162033;
}
.nd-legacy-bridge .uk-container{max-width:1200px}
.nd-top-primary{
  background:var(--nd-primary);
  color:#fff;
}
.nd-top-primary .uk-logo,
.nd-top-primary .uk-navbar-nav>li>a,
.nd-top-primary a{color:#fff!important}
.nd-top-primary .uk-logo{
  font-weight:800;
  font-size:1.3rem;
  letter-spacing:-.02em;
}
.nd-logo-badge{
  display:inline-flex;
  width:40px;height:40px;
  border-radius:12px;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2763ff,#46a6ff);
  color:#fff;font-weight:800;
  margin-right:10px;
}
.tas_search_nav .uk-input.uk-border-pill{
  border-radius:999px;
  box-shadow:none;
}
.nd-subnav-wrap{
  background:#fff;
  border-bottom:1px solid rgba(16,42,86,.08);
  box-shadow:0 8px 18px rgba(2,16,36,.04);
}
.nd-subnav-wrap .uk-navbar-nav>li.uk-active>a{
  color:#2563eb!important;
  position:relative;
}
.nd-subnav-wrap .uk-navbar-nav>li.uk-active>a:after{
  content:"";
  position:absolute;
  left:18px; right:18px; bottom:8px;
  height:3px;border-radius:999px;
  background:#2563eb;
}
.nd-home-hero{
  border-radius:26px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  position:relative;
  min-height:320px;
  box-shadow:0 18px 40px rgba(16,42,86,.16);
}
.nd-home-hero .overlay{
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(12,28,60,.90),rgba(37,99,235,.78) 55%,rgba(50,182,255,.70));
}
.nd-home-hero .content{
  position:relative;z-index:2;
  padding:42px 36px;
  color:#fff;
}
.nd-kicker{
  display:inline-flex;align-items:center;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;font-size:.78rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:18px;
}
.nd-home-hero h1,.nd-page-hero h1{
  margin:0 0 12px;
  font-size:2.55rem;
  line-height:1.02;
  color:#fff;
  letter-spacing:-.03em;
}
.nd-home-hero p,.nd-page-hero p{margin:0;color:rgba(255,255,255,.90);font-size:1.06rem}
.nd-search-panel{
  margin-top:24px;
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
}
.nd-search-panel .uk-input,
.nd-search-panel .uk-select{
  border-radius:16px;
  min-height:56px;
}
.nd-search-panel .uk-button{
  min-height:56px;
  border-radius:16px;
  font-weight:700;
}
.nd-panel{
  background:#fff;
  border:1px solid var(--nd-line);
  border-radius:20px;
  box-shadow:var(--nd-shadow);
}
.nd-section-head{
  display:flex;justify-content:space-between;align-items:end;gap:16px;
  margin-bottom:18px;
}
.nd-section-head h2{
  margin:0;
  font-size:1.5rem;
  color:#162033;
}
.nd-section-head p{
  margin:6px 0 0;color:var(--nd-muted);
}
.nd-card{
  background:var(--nd-card);
  border:1px solid rgba(16,42,86,.06);
  border-radius:18px;
  box-shadow:var(--nd-shadow);
  overflow:hidden;
  height:100%;
}
.nd-card-body{padding:18px}
.nd-card h3{
  margin:0 0 10px;
  font-size:1.08rem;
  color:#111827;
}
.nd-card p{
  margin:0;
  color:#5f6b7a;
  line-height:1.65;
}
.nd-card-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nd-badge{
  display:inline-flex;align-items:center;
  padding:5px 10px;border-radius:999px;
  background:#edf3ff;color:#2454d1;
  font-size:.78rem;font-weight:800;
}
.nd-btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.nd-btn-solid{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:14px;
  background:linear-gradient(135deg,#2563eb,#356ef2);
  color:#fff!important;font-weight:700;
}
.nd-btn-soft{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:14px;
  background:#fff;border:1px solid var(--nd-line);
  color:#1f2937!important;font-weight:700;
}
.nd-strip{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 16px;border-radius:16px;
  background:#f9fbff;border:1px solid var(--nd-line);
  box-shadow:0 8px 20px rgba(2,16,36,.04);
}
.nd-strip select,.nd-strip input{
  border-radius:12px!important;
}
.nd-auth-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:20px;
}
.nd-auth-card{
  background:#fff;
  border:1px solid var(--nd-line);
  border-radius:22px;
  box-shadow:var(--nd-shadow);
  padding:26px;
}
.nd-auth-card h2{margin:0 0 10px}
.nd-auth-card p{color:var(--nd-muted)}
.nd-auth-card .uk-input{border-radius:14px}
.nd-auth-card .uk-button{border-radius:999px;font-weight:700}
.nd-loc-toolbar{
  background:#fff;border:1px solid var(--nd-line);
  border-radius:18px;padding:16px;
  box-shadow:var(--nd-shadow);
}
.nd-letter-nav a{
  display:inline-flex;margin:0 10px 10px 0;
  color:#64748b;text-decoration:none;
}
.nd-location-list{
  column-gap:28px;
}
.nd-location-list li{break-inside:avoid;margin-bottom:10px}
.nd-location-list a{font-weight:600}
.nd-showcase{
  position:relative;
  overflow:hidden;
}
.nd-showcase:after{
  content:"";
  position:absolute;
  right:-50px;top:-40px;
  width:180px;height:180px;border-radius:999px;
  background:rgba(255,255,255,.10);
}
.nd-slider-caption{
  display:inline-block;
  padding:7px 14px;
  border:1px solid #ef4444;
  color:#ef4444;
  border-radius:10px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
@media (max-width: 959px){
  .nd-auth-grid{grid-template-columns:1fr}
  .nd-home-hero .content,.nd-page-hero .content{padding:28px 22px}
  .nd-home-hero h1,.nd-page-hero h1{font-size:2rem}
}
