/*
Theme Name: WordPress Blog Theme
Theme URI: #
Author: Custom
Description: Tema blog moderno com modo claro/escuro. Personalize cores em theme-config.php.
Version: 1.4.0
License: GNU General Public License v2 or later
Text Domain: wp-blog-theme
Tags: blog, dark, two-columns, custom-header, custom-menu, featured-images, threaded-comments
*/

/* ===== VARIÁVEIS PADRÃO (sobrescritas pelo theme-config.php via wp_add_inline_style) ===== */
:root {
  --bg:#f4f4f4; --bg-card:#ffffff; --bg-nav:#ffffff;
  --acc:#f04e23; --acc-h:#d93d14;
  --tx:#222222; --tx-m:#666666; --tx-h:#111111;
  --bd:#e0e0e0; --rad:10px;
}

/* ===== BASE ===== */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0 }
html { font-size:16px; scroll-behavior:smooth }
body { background:var(--bg); color:var(--tx); font-family:'Inter','Segoe UI',Arial,sans-serif; line-height:1.7; -webkit-font-smoothing:antialiased; transition:background .25s,color .25s }
a { color:var(--acc); text-decoration:none; transition:color .2s }
a:hover { color:var(--acc-h) }
img { max-width:100%; height:auto; display:block }
ul { list-style:none }
.dvip-wrap { max-width:1180px; margin:0 auto; padding:0 24px }

/* ===== HEADER ===== */
.site-header { background:var(--bg-nav); border-bottom:1px solid var(--bd); position:sticky; top:0; z-index:200; transition:background .25s,border-color .25s }
.dvip-hinner { display:flex; align-items:center; height:68px; gap:12px }

/* Logo */
.dvip-logo { flex-shrink:0; display:flex; align-items:center }
.dvip-logo img { height:36px; width:auto }
.dvip-logo span { font-size:1.3rem; font-weight:800; color:var(--tx-h); letter-spacing:-.5px }

/* ── Nav ── */
.dvip-nav { flex:1 }
.dvip-menu { display:flex; align-items:center; justify-content:center; gap:2px; flex-wrap:nowrap }
.dvip-menu > li { position:relative }
.dvip-menu > li > a { display:flex; align-items:center; gap:5px; color:var(--tx-m); font-size:.85rem; font-weight:500; padding:7px 11px; border-radius:7px; white-space:nowrap; transition:background .15s,color .15s }
.dvip-menu > li > a:hover,
.dvip-menu > li.current-menu-item > a,
.dvip-menu > li.current-menu-parent > a { background:var(--acc-a12); color:var(--acc) }

/* Ícone de dropdown — rotaciona ao hover */
.dvip-arr {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:4px;
  background:var(--acc-a12);
  color:var(--acc);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  transition:transform .2s, background .15s;
  flex-shrink:0;
}
.dvip-menu > li:hover .dvip-arr { transform:rotate(90deg); background:var(--acc); color:#fff }

/* Submenu desktop */
.dvip-sub, .dvip-menu .sub-menu {
  position:absolute; top:calc(100% + 8px); left:50%;
  transform:translateX(-50%) translateY(-4px);
  background:var(--bg-nav); border:1px solid var(--bd);
  border-radius:10px; box-shadow:0 8px 28px rgba(0,0,0,.35);
  min-width:185px; padding:6px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .2s,transform .2s,visibility .2s;
  z-index:300; list-style:none;
}
.dvip-has-sub:hover > .dvip-sub,
.dvip-menu > li:hover > .sub-menu {
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.dvip-sub li a, .dvip-menu .sub-menu li a {
  display:block; color:var(--tx-m); font-size:.84rem;
  padding:8px 13px; border-radius:7px; white-space:nowrap;
  transition:background .15s,color .15s;
}
.dvip-sub li a:hover, .dvip-menu .sub-menu li a:hover { background:var(--acc-a10); color:var(--acc) }

/* ── Controles ── */
.dvip-ctrl { display:flex; align-items:center; gap:10px; flex-shrink:0 }
.dvip-cta a { background:var(--acc); color:#fff!important; font-size:.82rem; font-weight:700; padding:9px 18px; border-radius:50px; white-space:nowrap; transition:background .2s,transform .15s }
.dvip-cta a:hover { background:var(--acc-h); transform:translateY(-1px) }


/* Burger */
.dvip-burger { display:none; background:none; border:none; cursor:pointer; padding:8px; color:var(--tx); flex-shrink:0 }
.dvip-burger span { display:block; width:24px; height:2px; background:currentColor; margin:5px 0; border-radius:2px; transition:.3s }

/* ===== HERO ===== */
.dvip-hero { padding:60px 0 52px; text-align:center; border-bottom:1px solid var(--bd) }
.dvip-hero h1 { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; color:var(--tx-h); letter-spacing:-1px; margin-bottom:10px }
.dvip-hero p { color:var(--tx-m); font-size:1rem; max-width:520px; margin:0 auto }

/* ===== SEÇÃO ===== */
.dvip-sec-title { font-size:1.2rem; font-weight:800; color:var(--tx-h); margin-bottom:26px; display:flex; align-items:center; gap:10px }
.dvip-sec-title::before { content:''; display:inline-block; width:4px; height:22px; background:var(--acc); border-radius:2px; flex-shrink:0 }

/* ===== GRID ===== */
.dvip-posts { padding:48px 0 }
.dvip-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px }

/* Card */
.post-card { background:var(--bg-card); border:1px solid var(--bd); border-radius:var(--rad); overflow:hidden; display:flex; flex-direction:column; transition:border-color .25s,transform .25s,box-shadow .25s,background .25s }
.post-card:hover { border-color:var(--acc-a50); transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.2) }
.post-card-thumb { aspect-ratio:16/9; overflow:hidden; background:var(--bd) }
.post-card-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s }
.post-card:hover .post-card-thumb img { transform:scale(1.05) }
.post-card-body { padding:20px; display:flex; flex-direction:column; flex:1 }
.post-card-cat { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--acc); margin-bottom:7px }
.post-card-title { font-size:.97rem; font-weight:700; color:var(--tx-h); line-height:1.45; margin-bottom:9px; flex:1 }
.post-card-title a { color:inherit }
.post-card-title a:hover { color:var(--acc) }
.post-card-excerpt { font-size:.83rem; color:var(--tx-m); line-height:1.6; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden }
.post-card-meta { display:flex; align-items:center; justify-content:space-between; font-size:.77rem; color:var(--tx-m); border-top:1px solid var(--bd); padding-top:12px }
.post-card-meta .read-more { color:var(--acc); font-weight:600; font-size:.79rem }
.post-card-meta .read-more:hover { color:var(--acc-h) }
.post-card.featured { grid-column:span 2; flex-direction:row }
.post-card.featured .post-card-thumb { flex:0 0 50%; aspect-ratio:auto }
.post-card.featured .post-card-title { font-size:1.1rem }

/* ===== LAYOUT / SIDEBAR ===== */
.dvip-layout { display:grid; grid-template-columns:1fr 300px; gap:40px; padding:48px 0 }
.dvip-sidebar { display:flex; flex-direction:column; gap:28px }
.dvip-widget { background:var(--bg-card); border:1px solid var(--bd); border-radius:var(--rad); padding:22px; transition:background .25s,border-color .25s }
.dvip-widget-title { font-size:.88rem; font-weight:800; color:var(--tx-h); text-transform:uppercase; letter-spacing:.5px; margin-bottom:14px; padding-bottom:11px; border-bottom:1px solid var(--bd) }
.dvip-cat-list li { padding:7px 0; border-bottom:1px solid var(--bd) }
.dvip-cat-list li:last-child { border-bottom:none }
.dvip-cat-list a { color:var(--tx-m); font-size:.88rem; display:flex; justify-content:space-between; align-items:center }
.dvip-cat-list a:hover { color:var(--acc) }
.dvip-count { background:var(--acc-a15); color:var(--acc); font-size:.7rem; font-weight:700; padding:2px 8px; border-radius:20px }
.dvip-widget-cta { background:linear-gradient(135deg,var(--acc),var(--acc-h))!important; border-color:transparent!important; text-align:center }
.dvip-widget-cta .dvip-widget-title { color:#fff; border-color:rgba(255,255,255,.25) }
.dvip-widget-cta p { color:rgba(255,255,255,.85); font-size:.87rem; margin-bottom:14px }
.dvip-btn-white { display:inline-block; background:#fff; color:var(--acc)!important; font-weight:800; font-size:.83rem; padding:10px 20px; border-radius:50px; transition:transform .15s }
.dvip-btn-white:hover { transform:scale(1.04) }

/* ===== SINGLE ===== */
.dvip-single-header { padding:48px 0 28px }
.dvip-single-header .dvip-post-meta { color:var(--tx-m); font-size:.84rem; margin-bottom:10px }
.dvip-single-header h1 { font-size:clamp(1.65rem,3.5vw,2.3rem); font-weight:900; color:var(--tx-h); line-height:1.25; letter-spacing:-.5px }
.dvip-feat-img { border-radius:var(--rad); overflow:hidden; margin:26px 0; max-height:450px }
.dvip-feat-img img { width:100%; object-fit:cover }
.dvip-content { font-size:1.02rem; line-height:1.85; color:var(--tx) }
.dvip-content h2 { font-size:1.4rem; color:var(--tx-h); font-weight:800; margin:1.8rem 0 .85rem }
.dvip-content h3 { font-size:1.1rem; color:var(--tx-h); font-weight:700; margin:1.4rem 0 .65rem }
.dvip-content p { margin-bottom:1.1rem }
.dvip-content ul,.dvip-content ol { margin:.9rem 0 1rem 1.4rem }
.dvip-content li { margin-bottom:.3rem }
.dvip-content blockquote { border-left:3px solid var(--acc); padding:11px 18px; margin:1.4rem 0; background:var(--acc-a06); border-radius:0 var(--rad) var(--rad) 0; color:var(--tx-m); font-style:italic }
.dvip-content a { color:var(--acc); text-decoration:underline }
.dvip-content code { background:var(--bg-card); color:#f8a07a; padding:2px 6px; border-radius:4px; font-size:.9em }
.dvip-content pre { background:var(--bg-card); border:1px solid var(--bd); padding:14px 18px; border-radius:var(--rad); overflow-x:auto; margin:1.3rem 0 }

/* ===== PAGINAÇÃO ===== */
.dvip-pagination { display:flex; justify-content:center; gap:8px; padding:40px 0; flex-wrap:wrap }
.dvip-pagination a,.dvip-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; border-radius:8px; font-size:.87rem; font-weight:600; border:1px solid var(--bd); color:var(--tx-m); background:var(--bg-card); padding:0 12px; transition:background .2s,color .2s,border-color .2s }
.dvip-pagination a:hover,.dvip-pagination .current { background:var(--acc); border-color:var(--acc); color:#fff }

/* ===== FAIXA CTA ===== */
.dvip-band { padding:56px 0; text-align:center; border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); background:var(--bg-card) }
.dvip-band h2 { font-size:clamp(1.4rem,3vw,2rem); font-weight:900; color:var(--tx-h); margin-bottom:10px }
.dvip-band p { color:var(--tx-m); margin-bottom:24px; max-width:460px; margin-left:auto; margin-right:auto }
.dvip-btn-acc { display:inline-block; background:var(--acc); color:#fff; font-weight:800; font-size:.92rem; padding:13px 32px; border-radius:50px; transition:background .2s,transform .15s }
.dvip-btn-acc:hover { background:var(--acc-h); transform:translateY(-2px); color:#fff }

/* ===== RODAPÉ ===== */
.site-footer { background:var(--bg-nav); border-top:1px solid var(--bd); padding:44px 0 22px; transition:background .25s,border-color .25s }
.dvip-foot-inner { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:32px; border-bottom:1px solid var(--bd) }
.dvip-foot-brand p { font-size:.86rem; color:var(--tx-m); max-width:260px; margin-top:10px }
.dvip-foot-col h4 { font-size:.87rem; font-weight:700; color:var(--tx-h); margin-bottom:13px }
.dvip-foot-col li { margin-bottom:8px }
.dvip-foot-col a { color:var(--tx-m); font-size:.86rem }
.dvip-foot-col a:hover { color:var(--acc) }
.dvip-foot-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:20px; font-size:.78rem; color:var(--tx-m) }

/* ===== COMENTÁRIOS ===== */
.dvip-comments { padding:32px 0 }
.dvip-comments-title { font-size:1.05rem; font-weight:800; color:var(--tx-h); margin-bottom:18px }
.dvip-comment-body { background:var(--bg-card); border:1px solid var(--bd); border-radius:var(--rad); padding:17px; margin-bottom:12px; transition:background .25s }
.dvip-comment-author { font-weight:700; color:var(--tx-h) }
.dvip-comment-date { font-size:.75rem; color:var(--tx-m) }
.dvip-comment-text { font-size:.89rem; margin-top:6px; color:var(--tx) }
.dvip-comment-reply { font-size:.78rem; color:var(--acc); font-weight:600 }
.dvip-comment-form h3 { font-size:.98rem; font-weight:700; color:var(--tx-h); margin-bottom:14px; margin-top:26px }
.comment-form input,.comment-form textarea { width:100%; background:var(--bg-card); border:1px solid var(--bd); border-radius:8px; color:var(--tx); padding:11px 14px; font-size:.87rem; font-family:inherit; margin-bottom:11px; transition:border-color .2s,background .25s; outline:none }
.comment-form input:focus,.comment-form textarea:focus { border-color:var(--acc) }
.comment-form textarea { min-height:110px; resize:vertical }
.comment-form input[type="submit"] { background:var(--acc); color:#fff; border:none; border-radius:50px; padding:11px 28px; font-weight:700; font-size:.87rem; cursor:pointer; width:auto; transition:background .2s }
.comment-form input[type="submit"]:hover { background:var(--acc-h) }

/* Busca */
.search-form { display:flex; gap:8px }
.search-form input { flex:1; background:var(--bg); border:1px solid var(--bd); border-radius:8px; color:var(--tx); padding:10px 13px; font-size:.86rem; font-family:inherit; outline:none; transition:border-color .2s,background .25s }
.search-form input:focus { border-color:var(--acc) }
.search-form button { background:var(--acc); color:#fff; border:none; border-radius:8px; padding:10px 15px; cursor:pointer; font-weight:700; font-size:.84rem }

/* ===== RESPONSIVE ===== */
@media(max-width:1024px) {
  .dvip-grid { grid-template-columns:repeat(2,1fr) }
  .post-card.featured { flex-direction:column; grid-column:span 1 }
  .post-card.featured .post-card-thumb { aspect-ratio:16/9 }
  .dvip-layout { grid-template-columns:1fr }
  .dvip-sidebar { display:grid; grid-template-columns:repeat(2,1fr) }
  .dvip-foot-inner { grid-template-columns:1fr 1fr }
}
@media(max-width:900px) {
  .dvip-nav { display:none; position:absolute; top:68px; left:0; right:0; background:var(--bg-nav); border-bottom:1px solid var(--bd); padding:10px 20px 16px; z-index:199 }
  .dvip-nav.dvip-open { display:block }
  .dvip-menu { flex-direction:column; align-items:stretch; gap:2px }
  .dvip-menu > li { position:static }
  .dvip-menu > li > a { border-radius:8px }
  .dvip-arr { transform:none!important }
  .dvip-sub,.dvip-menu .sub-menu { position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto; box-shadow:none; border:none; border-left:2px solid var(--acc-a30); border-radius:0; padding:4px 0 4px 8px; margin-left:10px; display:none; min-width:0 }
  .dvip-has-sub.dvip-sub-open > .dvip-sub,
  .menu-item-has-children.dvip-sub-open > .sub-menu { display:block }
  .dvip-burger { display:block }
  .dvip-cta { display:none }
  .dvip-hinner { position:relative }
}
@media(max-width:640px) {
  .dvip-grid { grid-template-columns:1fr }
  .dvip-sidebar { grid-template-columns:1fr }
  .dvip-foot-inner { grid-template-columns:1fr }
  .dvip-foot-bottom { flex-direction:column; gap:6px; text-align:center }
}

/* ===== ÍCONE DROPDOWN — menus criados no WP Admin ===== */
.dvip-menu > li.menu-item-has-children > a::after {
  content: '›';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:4px;
  background:var(--acc-a12);
  color:var(--acc);
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  margin-left:4px;
  transition:transform .2s, background .15s;
  flex-shrink:0;
}
.dvip-menu > li.menu-item-has-children:hover > a::after {
  transform:rotate(90deg);
  background:var(--acc);
  color:#fff;
}

/* ===== REDES SOCIAIS (rodapé) ===== */
.dvip-socials {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.dvip-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--bd);
  color: var(--tx-m);
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s, transform .15s;
}
.dvip-social-btn svg {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  pointer-events: none;
}
.dvip-social-btn:hover { border-color: var(--acc); color: var(--acc); transform: translateY(-2px); background: var(--acc-a10); }
.dvip-social-facebook:hover  { border-color: #1877f2; color: #1877f2; background: rgba(24,119,242,.12); }
.dvip-social-instagram:hover { border-color: #e1306c; color: #e1306c; background: rgba(225,48,108,.12); }
.dvip-social-youtube:hover   { border-color: #ff0000; color: #ff0000; background: rgba(255,0,0,.10); }
