/* nd-modern.css — modernizações (busca, slider, menu, cards, paginação, sidebar) */
:root{
  --nd-accent:#e0443c;
  --nd-accent-dark:#b8302a;
  --nd-ink:#1d2126;
  --nd-muted:#5d6673;
  --nd-line:#e3e6ea;
  --nd-bg:#ffffff;
  --nd-soft:#f5f6f8;
}
body{ color:var(--nd-ink); }

/* ---------- инлайн-SVG иконки (замена пустых FontAwesome-квадратов) ---------- */
.nd-ico{
  width:1em; height:1em; display:inline-block; vertical-align:-.14em; flex:0 0 auto;
  fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;
}
.nd-ico-fill{ fill:currentColor; stroke:none; width:1.15em; height:1.15em; vertical-align:-.22em; }
a .nd-ico, button .nd-ico{ pointer-events:none; }
.nd-social .nd-ico{ font-size:15px; transition:transform .15s ease; }
.nd-social:hover .nd-ico{ transform:translate(1px,-1px); }
.top-bar-items .nd-search .btn .nd-ico, .nd-search-toggle .nd-ico{ font-size:17px; }
.nd-side-search button .nd-ico{ font-size:17px; }
.nd-searchform-big button .nd-ico{ font-size:18px; margin-right:7px; }
#back-to-top .nd-ico{ font-size:20px; }
.entry-content > .share-to-whatsapp-wrapper .nd-ico{ font-size:19px; }
.post-nav-top .nd-ico, .post-nav-bottom .nd-ico{ font-size:15px; }
#developer .nd-ico{ color:var(--nd-accent); font-size:14px; }

/* ---------- top bar + busca ---------- */
.top-bar-items{ display:flex; align-items:center; justify-content:flex-end; gap:14px; padding:8px 0; }
.nd-social{ color:var(--nd-muted); font-size:13px; text-decoration:none; white-space:nowrap; }
.nd-social:hover{ color:var(--nd-accent); }
.nd-search{ position:relative; }
.nd-search-toggle{
  display:none; background:none; border:0; color:var(--nd-ink); font-size:16px; padding:6px 8px; cursor:pointer;
}
.nd-search form{ margin:0; }
.nd-search .input-group{ display:flex; align-items:stretch; gap:8px; }
.nd-search .form-control{
  min-width:250px; height:40px; border:1px solid var(--nd-line); border-radius:22px; padding:0 16px;
  font-size:14px; box-shadow:none; background:var(--nd-soft);
}
.nd-search .form-control:focus{ outline:none; border-color:var(--nd-accent); background:#fff; }
.nd-search .input-group-btn{ display:flex; }
.nd-search .btn{
  height:40px; border-radius:22px; border:0; background:var(--nd-accent); color:#fff; padding:0 18px;
  font-size:14px; cursor:pointer;
}
.nd-search .btn:hover{ background:var(--nd-accent-dark); color:#fff; }
.nd-search .btn i{ pointer-events:none; }
body.nd-search-open .nd-search form{ display:block !important; }
@media (max-width:991px){
  .nd-search-toggle{ display:inline-block; }
  .nd-search form{ display:none; position:absolute; right:0; top:44px; z-index:60; background:#fff;
    padding:10px; border:1px solid var(--nd-line); border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.14); }
  .nd-search .form-control{ min-width:220px; }
}

/* ---------- header ---------- */
#header img{ width:100%; height:auto; display:block; }

/* ---------- menu / chips ---------- */
.navbar-inverse{ border-radius:0; }
#header-menu > li > a{ font-weight:600; letter-spacing:.2px; }
#header-menu > li.active > a{ background:var(--nd-accent); color:#fff; }
.nd-chips{
  display:flex; gap:8px; overflow-x:auto; padding:10px 4px 12px; margin-bottom:4px;
  border-bottom:1px solid var(--nd-line); scrollbar-width:thin;
}
.nd-chip{
  flex:0 0 auto; display:inline-block; padding:7px 14px; border:1px solid var(--nd-line); border-radius:999px;
  background:#fff; color:var(--nd-ink); font-size:13px; line-height:1.1; text-decoration:none; white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.nd-chip:hover, .nd-chip:focus{ background:var(--nd-accent); border-color:var(--nd-accent); color:#fff; transform:translateY(-1px); }
.nd-chip.is-current{ background:var(--nd-ink); border-color:var(--nd-ink); color:#fff; }
@media (max-width:991px){
  .navbar-collapse{ display:none; }
  .navbar-collapse.nd-open{ display:block !important; height:auto !important; overflow:visible; }
  #header-menu{ margin:0; }
  .nd-chips{ padding-bottom:10px; }
}

/* ---------- slider ---------- */
.nd-slider{ position:relative; margin:0 0 22px; border-radius:14px; overflow:hidden; background:#0e1116; }
.nd-slides{ position:relative; width:100%; aspect-ratio:16/9; }
.nd-slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .5s ease; text-decoration:none; }
.nd-slide.is-active{ opacity:1; visibility:visible; }
.nd-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.nd-cap{
  position:absolute; left:0; right:0; bottom:0; padding:38px 26px 22px; color:#fff;
  background:linear-gradient(180deg, rgba(8,10,14,0) 0%, rgba(8,10,14,.55) 45%, rgba(8,10,14,.88) 100%);
}
.nd-cap h2{ margin:0 0 8px; font-size:23px; line-height:1.25; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.5); }
.nd-cap p{ margin:0 0 10px; font-size:14px; line-height:1.5; color:#e8ebef; max-width:820px; }
.nd-cap .nd-more{ display:inline-block; font-size:13px; font-weight:700; color:#fff; border-bottom:2px solid var(--nd-accent); padding-bottom:2px; }
.nd-slider .nd-prev, .nd-slider .nd-next{
  position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%;
  border:0; background:rgba(12,15,20,.55); color:#fff; font-size:26px; line-height:1; cursor:pointer; z-index:5;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px); transition:background .15s ease;
}
.nd-slider .nd-prev{ left:14px; } .nd-slider .nd-next{ right:14px; }
.nd-slider .nd-prev:hover, .nd-slider .nd-next:hover{ background:var(--nd-accent); }
.nd-dots{ position:absolute; top:14px; right:18px; display:flex; gap:8px; z-index:5; }
.nd-dots button{
  width:10px; height:10px; padding:0; border-radius:50%; border:0; background:rgba(255,255,255,.55); cursor:pointer;
}
.nd-dots button.is-active{ background:#fff; transform:scale(1.15); }
@media (max-width:767px){
  .nd-slider .nd-prev, .nd-slider .nd-next{ width:38px; height:38px; font-size:22px; }
  .nd-cap{ padding:26px 14px 16px; }
  .nd-cap h2{ font-size:17px; }
  .nd-cap p{ display:none; }
}

/* ---------- listing cards ---------- */
.nd-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; }
@media (max-width:767px){ .nd-grid{ grid-template-columns:1fr; gap:18px; } }
.nd-grid > .post, .entries-wrapper > .post{
  clear:none !important; float:none !important; width:auto !important; margin:0 !important;
  border:1px solid var(--nd-line); border-radius:14px; overflow:hidden; background:#fff;
  display:flex; flex-direction:column; transition:box-shadow .18s ease, transform .18s ease;
}
.nd-grid > .post:hover{ box-shadow:0 14px 30px rgba(16,20,26,.10); transform:translateY(-2px); }
.nd-grid .entry{ padding:0 !important; display:flex; flex-direction:column; height:100%; }
.nd-grid .post-date{ display:none; }
.nd-grid .entry-content{ padding:0 18px 18px; }
.nd-grid .excerpt-thumb{ margin:0 0 14px; }
.nd-grid .excerpt-thumb img{
  width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:0; display:block;
}
.nd-grid h2.post-title{
  font-size:19px; line-height:1.3; margin:18px 18px 8px; padding:0; border:0;
}
.nd-grid h2.post-title a{ color:var(--nd-ink); text-decoration:none; }
.nd-grid h2.post-title a:hover{ color:var(--nd-accent); }
.nd-grid .post-meta{ margin:0 18px 10px; padding:0; list-style:none; font-size:12.5px; color:var(--nd-muted); }
.nd-grid .post-meta a{ color:var(--nd-accent); text-decoration:none; }
.nd-grid .entry-content p{ font-size:14.5px; line-height:1.6; color:#333a44; margin:0 0 12px; }
.nd-grid .entry-content p:last-child{ margin-bottom:0; }
.nd-more{
  display:inline-block; font-size:13px; font-weight:700; color:#fff !important; background:var(--nd-accent);
  padding:9px 16px; border-radius:999px; text-decoration:none;
}
.nd-more:hover{ background:var(--nd-accent-dark); color:#fff !important; }

/* ---------- paginação ---------- */
.pagination-wrapper{ margin:26px 0 10px; }
.nd-pagination{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
.nd-page{
  min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--nd-line); border-radius:12px; background:#fff; color:var(--nd-ink);
  font-size:14px; font-weight:600; text-decoration:none; transition:all .15s ease;
}
a.nd-page:hover{ border-color:var(--nd-accent); color:var(--nd-accent); transform:translateY(-1px); }
.nd-page.is-current{ background:var(--nd-accent); border-color:var(--nd-accent); color:#fff; }
.nd-page.is-disabled{ opacity:.4; cursor:default; }
.nd-page-dots{ color:var(--nd-muted); padding:0 2px; }

/* ---------- sidebar ---------- */
.sidebar-wrap{ background:#fff; border:1px solid var(--nd-line); border-radius:14px; padding:16px 18px; margin-bottom:20px; }
.sidebar-wrap .widget-title{ font-size:15px; text-transform:uppercase; letter-spacing:.6px; margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--nd-line); }
.nd-cat-list{ list-style:none; margin:0; padding:0; }
.nd-cat-list li{ border-bottom:1px dashed var(--nd-line); }
.nd-cat-list li:last-child{ border-bottom:0; }
.nd-cat-list a{ display:block; padding:8px 0; color:var(--nd-ink); font-size:14px; text-decoration:none; }
.nd-cat-list a:hover{ color:var(--nd-accent); padding-left:4px; }
.nd-recent{ list-style:none; margin:0; padding:0; }
.nd-recent li{ display:flex; gap:10px; align-items:flex-start; padding:10px 0; border-bottom:1px dashed var(--nd-line); }
.nd-recent li:last-child{ border-bottom:0; }
.nd-recent img{ width:76px; height:52px; object-fit:cover; border-radius:8px; flex:0 0 76px; }
.nd-recent a{ color:var(--nd-ink); font-size:13.5px; line-height:1.35; text-decoration:none; }
.nd-recent a:hover{ color:var(--nd-accent); }
.nd-side-search{ display:flex; gap:8px; }
.nd-side-search input{
  flex:1 1 auto; min-width:0; height:40px; border:1px solid var(--nd-line); border-radius:10px; padding:0 12px; font-size:14px;
}
.nd-side-search button{ height:40px; border:0; border-radius:10px; background:var(--nd-accent); color:#fff; padding:0 16px; cursor:pointer; }

/* ---------- artigo ---------- */
.entry-content img{ max-width:100%; height:auto; }
.nd-cover img{ width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:12px; }
.nd-lead{ font-size:17px; line-height:1.6; color:#333a44; font-weight:600; }
.entry-content table.article-table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14.5px; }
.entry-content table.article-table th, .entry-content table.article-table td{ border:1px solid var(--nd-line); padding:9px 11px; text-align:left; vertical-align:top; }
.entry-content table.article-table th{ background:var(--nd-soft); font-weight:700; }
.entry-content ul{ padding-left:22px; }
.entry-content ul li{ margin-bottom:6px; }
.nd-related{ margin:24px 0 0; padding:16px 18px; background:var(--nd-soft); border:1px solid var(--nd-line); border-radius:12px; list-style:none; }
.nd-related h2, .nd-related h3{ font-size:14px; text-transform:uppercase; letter-spacing:.6px; margin:0 0 10px; }
.nd-related ul{ list-style:none; margin:0; padding:0; }
.nd-related li{ padding:7px 0; border-bottom:1px dashed var(--nd-line); font-size:15px; }
.nd-related li:last-child{ border-bottom:0; }
.nd-related a{ color:var(--nd-ink); text-decoration:none; }
.nd-related a:hover{ color:var(--nd-accent); }
.post-nav-top p, .post-nav-bottom p{ font-size:13.5px; color:var(--nd-muted); }
.post-nav-top a, .post-nav-bottom a{ color:var(--nd-ink); text-decoration:none; }
.post-nav-top a:hover, .post-nav-bottom a:hover{ color:var(--nd-accent); }
.whatsapp-button{
  display:inline-flex; align-items:center; gap:8px; background:#25d366; color:#fff; border:0; border-radius:999px;
  padding:10px 18px; font-size:14px; font-weight:600; cursor:pointer; margin:18px 0 0;
}
.share-to-whatsapp-wrapper{ clear:both; }
.share-on-whsp{ display:none; }

/* ---------- busca ---------- */
.nd-searchpage-head{ margin-bottom:18px; }
.nd-searchform-big{ display:flex; gap:10px; margin:0 0 22px; }
.nd-searchform-big input{
  flex:1 1 auto; min-width:0; height:52px; border:1px solid var(--nd-line); border-radius:14px; padding:0 18px; font-size:16px;
}
.nd-searchform-big button{
  height:52px; border:0; border-radius:14px; background:var(--nd-accent); color:#fff; padding:0 26px; font-size:15px; font-weight:600; cursor:pointer;
}
.nd-count{ color:var(--nd-muted); font-size:14px; margin:0 0 16px; }
.nd-result{ display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--nd-line); }
.nd-result img{ width:150px; height:100px; object-fit:cover; border-radius:10px; flex:0 0 150px; }
.nd-result h2{ font-size:18px; line-height:1.3; margin:0 0 6px; }
.nd-result h2 a{ color:var(--nd-ink); text-decoration:none; }
.nd-result h2 a:hover{ color:var(--nd-accent); }
.nd-result p{ margin:0; font-size:14px; line-height:1.55; color:#3d4550; }
.nd-badge{ display:inline-block; font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--nd-muted); margin-bottom:4px; }
.nd-empty{ background:var(--nd-soft); border:1px solid var(--nd-line); border-radius:12px; padding:20px; }
@media (max-width:600px){
  .nd-result img{ width:96px; height:68px; flex:0 0 96px; }
}

/* ---------- footer + topo ---------- */
.nd-footer-nav{ list-style:none; margin:0; padding:14px 0 0; display:flex; flex-wrap:wrap; gap:14px; font-size:13.5px; }
.nd-footer-nav a{ color:var(--nd-muted); text-decoration:none; }
.nd-footer-nav a:hover{ color:var(--nd-accent); }
#back-to-top{
  position:fixed; right:18px; bottom:18px; width:46px; height:46px; border-radius:50%; border:0;
  background:var(--nd-ink); color:#fff; font-size:18px; cursor:pointer; opacity:0; visibility:hidden;
  transition:opacity .2s ease; z-index:90;
}
#back-to-top.is-visible{ opacity:.92; visibility:visible; }
#back-to-top:hover{ background:var(--nd-accent); }
