/* ═══════════════════════════════════════════════════════════════════════════
 * single.css — componentes abaixo da dobra do single post.
 * Defered (preload+onload) — só carrega em is_singular('post').
 *
 * Componentes:
 *   .vd-share-bar       share buttons + save
 *   .vd-post-tags       tags do post
 *   .vd-author-box      box do autor
 *   .vd-recent-section  visto por último (LS_RECENT, JS popula)
 *   .vd-related-section relacionados (4 cards SSR)
 *   .vd-continue-section continue lendo (infinite scroll)
 *   .vd-newsletter      newsletter inline
 *   .vd-next-slide      slide-in do próximo post (engagement)
 *   .vd-comments-area   comentários WP nativo
 *   .vd-smart-card      card pequeno do recent-section
 *
 * Todos os contrastes ≥ AA (verificados contra tokens light + dark).
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ════ SHARE BAR ════ */
.vd-share-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:var(--bg);border:1px solid var(--borda);border-radius:var(--radius);padding:.85rem 1.1rem;margin:0 0 1.5rem}
.vd-share-label{font-size:.85rem;font-weight:700;color:var(--texto-sec);margin-right:.3rem;text-transform:uppercase;letter-spacing:.05em}
.vd-share-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:50px;font-size:.85rem;font-weight:700;text-decoration:none;border:1.5px solid;transition:background .2s ease,color .2s ease;min-height:40px;background:var(--bg-card);font-family:inherit;color:inherit}
.vd-share-wa{color:#1f8a47;border-color:#1f8a47}
.vd-share-wa:hover{background:#1f8a47;color:#fff}
.vd-share-tg{color:#0080c2;border-color:#0080c2}
.vd-share-tg:hover{background:#0080c2;color:#fff}
.vd-share-tw{color:#0f172a;border-color:#0f172a}
.vd-share-tw:hover{background:#0f172a;color:#fff}
.vd-share-copy{color:var(--verde);border-color:var(--verde)}
.vd-share-copy:hover{background:var(--verde);color:#fff}
.vd-share-save{color:var(--verde);border-color:var(--verde);margin-left:auto}
.vd-share-save:hover,.vd-share-save[aria-pressed="true"]{background:var(--verde);color:#fff}
.vd-share-save[aria-pressed="true"] svg{fill:#fff}

/* Mobile: só ícones (textos viram só p/ screen readers via aria-label do <a>) */
@media(max-width:600px){
    .vd-share-bar{padding:.7rem .9rem;gap:.4rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
    .vd-share-bar::-webkit-scrollbar{display:none}
    .vd-share-label{display:none}
    .vd-share-btn{padding:.55rem;width:42px;height:42px;flex:0 0 42px;justify-content:center;gap:0;min-height:42px}
    .vd-share-btn span{display:none}
    .vd-share-save{margin-left:auto}
}

/* ════ POST TAGS ════ */
.vd-post-tags{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--borda);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.vd-post-tags-label{font-size:.85rem;color:var(--texto-sec);font-weight:600}
.vd-post-tags a{font-size:.78rem;color:var(--texto);background:var(--bg);border:1px solid var(--borda);padding:.35rem .8rem;border-radius:50px;font-weight:500;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;min-height:32px}
.vd-post-tags a:hover{background:var(--verde);color:#fff;border-color:var(--verde)}

/* ════ AUTHOR BOX ════ */
.vd-author-box{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:flex-start;background:var(--bg-card);border:1px solid var(--borda);border-radius:var(--radius);padding:1.5rem;margin:2rem 0;box-shadow:var(--sombra)}
.vd-author-avatar img{width:72px;height:72px;border-radius:50%;border:3px solid var(--verde);display:block}
.vd-author-info{min-width:0}
.vd-author-label{font-size:.7rem;font-weight:700;color:var(--verde);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem;display:block}
.vd-author-name{font-size:1.2rem;font-weight:800;color:var(--titulo);margin:0 0 .5rem;line-height:1.3}
.vd-author-bio{font-size:.92rem;color:var(--texto-sec);line-height:1.6;margin:0 0 .75rem}
.vd-author-link{font-size:.85rem;font-weight:600;color:var(--verde);text-decoration:none}
.vd-author-link:hover{color:var(--verde-escuro);text-decoration:underline}
@media(max-width:768px){.vd-author-box{grid-template-columns:1fr;text-align:center}.vd-author-avatar{justify-self:center}}

/* ════ SECTION HEADERS ════ */
.vd-section-hdr{display:flex;align-items:center;justify-content:space-between;margin:2.5rem 0 1.2rem;padding-bottom:.6rem;border-bottom:3px solid var(--verde);gap:.5rem;flex-wrap:wrap}
.vd-section-hdr h2{font-size:1.3rem;font-weight:800;color:var(--titulo);display:flex;align-items:center;gap:.5rem;margin:0}
.vd-section-hdr-sub{font-size:.78rem;color:var(--texto-sec);font-weight:500}

/* ════ RECENT SECTION (LS_RECENT) ════ */
.vd-recent-section{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem;margin:2rem 0;box-shadow:var(--sombra);border:1px solid var(--borda)}
.vd-recent-section .vd-section-hdr{margin:0 0 1rem;padding:0;border:none}
.vd-clear-recent{font-size:.74rem;color:var(--texto-muted);background:none;border:1px solid var(--borda);padding:.4rem .75rem;border-radius:50px;cursor:pointer;min-height:36px}
.vd-clear-recent:hover{color:#b91c1c;border-color:#fecaca}

.vd-smart-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}
@media(max-width:1024px){.vd-smart-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:768px){.vd-smart-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.vd-smart-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}}

.vd-smart-card{display:block;text-decoration:none;color:var(--texto);background:var(--bg);border:1px solid var(--borda);border-radius:var(--radius-sm);overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative}
.vd-smart-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-md)}
.vd-smart-card-img{aspect-ratio:16/9;background:var(--borda);overflow:hidden}
.vd-smart-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.vd-smart-card-body{padding:.55rem .65rem .7rem}
.vd-smart-card-cat{display:inline-block;font-size:.6rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .45rem;border-radius:3px;margin-bottom:.35rem;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.vd-smart-card h3,.vd-smart-card .vd-smart-card-title{font-size:.8rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--texto)}

/* ════ RELATED + CONTINUE ════ */
.vd-related-section,.vd-continue-section{margin:2.5rem 0}

/* ════ INFINITE SCROLL ════ */
#vdContinueSentinel{width:100%;height:4px}
.vd-loader{text-align:center;padding:2rem;display:none}
.vd-loader.show{display:block}
.vd-spinner{width:32px;height:32px;border:3px solid var(--borda);border-top-color:var(--verde);border-radius:50%;animation:vd-spin .6s linear infinite;margin:0 auto}
@keyframes vd-spin{to{transform:rotate(360deg)}}
.vd-no-more{display:none;text-align:center;padding:2rem;color:var(--texto-sec);font-size:.9rem}

/* ════ NEWSLETTER ════ */
.vd-newsletter{background:linear-gradient(135deg,var(--verde-escuro) 0%,var(--verde) 100%);border-radius:var(--radius);padding:2.5rem;text-align:center;color:#fff;margin:2rem 0;position:relative;overflow:hidden;box-shadow:var(--sombra-md)}
.vd-newsletter h2{font-size:1.5rem;font-weight:800;margin-bottom:.4rem;color:#fff}
.vd-newsletter p{color:rgba(255,255,255,.9);margin-bottom:1.2rem;font-size:.95rem}
.vd-newsletter-form{max-width:500px;margin:0 auto}
.vd-newsletter-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:.4rem;margin-bottom:.6rem}
.vd-newsletter-row input{padding:.85rem 1.1rem;border:none;border-radius:var(--radius-sm);font-size:16px;outline:none;min-width:0;color:#1e293b;background:#fff;width:100%}
.vd-newsletter-row button{padding:.85rem 1.5rem;background:#fff;color:var(--verde-escuro);border:none;border-radius:var(--radius-sm);font-weight:800;font-size:.95rem;cursor:pointer;white-space:nowrap;min-height:48px}
@media(max-width:600px){.vd-newsletter-row{grid-template-columns:1fr}}
.vd-newsletter-row button:hover{background:#f0fdf4}
.vd-captcha-row{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}
.vd-captcha-label{font-size:.85rem;color:rgba(255,255,255,.95);font-weight:600}
.vd-captcha-input{width:80px;padding:.5rem .6rem;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:rgba(255,255,255,.15);color:#fff;font-size:1rem;font-weight:700;text-align:center;outline:none;min-height:44px}
.vd-captcha-input:focus{border-color:#fff;background:rgba(255,255,255,.25)}
.vd-captcha-refresh{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:1.2rem;padding:6px;line-height:1;min-height:44px;min-width:44px}
.vd-captcha-refresh:hover{color:#fff}
.vd-captcha-error{color:#fca5a5;font-size:.8rem;margin-top:.3rem;display:none}
.vd-newsletter-success{color:#86efac;font-size:.9rem;font-weight:600;margin-top:.5rem;display:none}
@media(max-width:480px){.vd-newsletter{padding:2rem 1.5rem}.vd-newsletter h2{font-size:1.3rem}.vd-newsletter-row{flex-direction:column;gap:.5rem}.vd-newsletter-row input[type="email"],.vd-newsletter-row button{border-radius:var(--radius-sm)}}

/* ════ COMMENTS ════ */
.vd-comments-area{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;margin:2rem 0;border:1px solid var(--borda);box-shadow:var(--sombra)}
.vd-comments-title{font-size:1.2rem;font-weight:800;color:var(--titulo);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--verde)}
.vd-comment-list{list-style:none;padding:0;margin:0}
.vd-comments-closed{color:var(--texto-muted);font-size:.9rem;font-style:italic}

/* ════ NEXT-POST SLIDE-IN (engagement) ════
   position:fixed = zero CLS. Inicia fora da tela com transform Y, slide-in via classe .show. */
.vd-next-slide{position:fixed;bottom:1rem;left:50%;transform:translate(-50%,calc(100% + 2rem));max-width:520px;width:calc(100vw - 2rem);background:var(--bg-card);border:1px solid var(--borda);border-radius:var(--radius);box-shadow:var(--sombra-md),0 8px 24px rgba(0,0,0,.12);padding:.9rem 1rem;display:flex;align-items:center;gap:.8rem;z-index:var(--z-next-slide);transition:transform .35s ease}
.vd-next-slide.show{transform:translate(-50%,0)}
.vd-next-link{flex:1;display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--texto);min-width:0}
.vd-next-img{width:60px;height:60px;border-radius:var(--radius-sm);background:var(--borda);overflow:hidden;flex-shrink:0}
.vd-next-body{flex:1;min-width:0}
.vd-next-label{font-size:.65rem;font-weight:800;color:var(--verde);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.15rem}
.vd-next-title{font-size:.88rem;font-weight:700;color:var(--texto);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.vd-next-dismiss{width:32px;height:32px;border:none;background:transparent;color:var(--texto-muted);cursor:pointer;font-size:1.4rem;line-height:1;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
.vd-next-dismiss:hover{background:var(--bg);color:var(--texto)}
@media(max-width:480px){.vd-next-slide{padding:.7rem .8rem;gap:.6rem;bottom:.5rem}.vd-next-img{width:50px;height:50px}}

/* ════ TOAST (compartilhar/copy feedback) ════ */
.vd-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--titulo);color:#fff;padding:.8rem 1.3rem;border-radius:var(--radius);font-size:.88rem;font-weight:600;box-shadow:var(--sombra-md);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none;z-index:var(--z-toast);max-width:calc(100vw - 3rem)}
.vd-toast.show{opacity:1;transform:translateY(0)}

/* ════ DARK MODE ════ */
@media (prefers-color-scheme:dark){
    .vd-share-tw{color:#f1f5f9;border-color:#cbd5e1}
    .vd-share-tw:hover{background:#cbd5e1;color:#0f172a}
    .vd-newsletter-row input[type="email"]{color:#1e293b}
    .vd-next-slide{box-shadow:0 8px 24px rgba(0,0,0,.5)}
}
