/*
Theme Name: W2C Blog
Theme URI: https://www.williamcleissondecarvalho.com.br/blog/
Author: William Cleisson de Carvalho
Description: Tema leve e escuro, no mesmo visual do site williamcleissondecarvalho.com.br. Sem comentários, sem dependências externas além das fontes.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: w2c-blog
*/

:root{
  --bg:#07090d; --bg-2:#0d1118; --card:#111722; --line:#1e2633; --line-2:#2a3444;
  --text:#e9edf3; --muted:#9aa6b8; --dim:#6b778a;
  --accent:#3ca3ff; --accent-2:#7cc4ff; --accent-ink:#04111f; --wa:#25d366;
  --radius:18px; --max:1160px; --read:720px;
  --display:"Sora",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-2)}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--accent)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.15;letter-spacing:-.02em;color:var(--text)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,9,13,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:17px;color:var(--text);white-space:nowrap}
.brand:hover{color:var(--text)}
.brand img{height:24px;width:auto}
.brand small{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--accent);border:1px solid var(--line-2);padding:3px 8px;border-radius:999px}
.nav{display:flex;align-items:center;gap:22px;list-style:none}
.nav a{color:var(--muted);font-size:14px;font-weight:500}
.nav a:hover,.nav .current-menu-item a{color:var(--text)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid transparent;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-wa{background:var(--wa);color:#062d14}
.btn-wa:hover{color:#062d14}
.btn-ghost{border-color:var(--line-2);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--text)}

/* hero do blog */
.blog-hero{padding:80px 0 40px;position:relative;overflow:hidden}
.blog-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 0%,rgba(60,163,255,.16),transparent 70%);pointer-events:none}
.blog-hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;margin:10px 0 14px}
.blog-hero p{color:var(--muted);font-size:18px;max-width:640px}

/* lista de posts */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0 60px}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;transition:border-color .25s,transform .25s}
.card:hover{border-color:rgba(60,163,255,.5);transform:translateY(-3px)}
.card .thumb{aspect-ratio:16/9;background:var(--bg-2);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .meta{font-family:var(--mono);font-size:12px;color:var(--dim)}
.card h2{font-size:19px;line-height:1.3}
.card h2 a{color:var(--text)}
.card h2 a:hover{color:var(--accent)}
.card p{color:var(--muted);font-size:14.5px;flex:1}
.card .more{font-size:14px;font-weight:600}
.empty{padding:60px 0;color:var(--muted)}

/* paginação */
.pagination{padding:0 0 80px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line-2);border-radius:12px;color:var(--text);font-size:14px}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}

/* post */
.post-head{padding:70px 0 30px;max-width:var(--read);margin:0 auto}
.post-head .meta{font-family:var(--mono);font-size:13px;color:var(--accent);margin-bottom:14px}
.post-head h1{font-size:clamp(30px,4.6vw,48px);font-weight:800}
.post-cover{max-width:960px;margin:0 auto 40px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.entry{max-width:var(--read);margin:0 auto;padding-bottom:60px;font-size:17.5px;line-height:1.8;color:#d3dae4}
.entry > *+*{margin-top:1.15em}
.entry h2{font-size:28px;margin-top:1.8em}
.entry h3{font-size:22px;margin-top:1.6em}
.entry a{text-decoration:underline;text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.4em}
.entry li+li{margin-top:.4em}
.entry blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;color:var(--muted);font-style:italic}
.entry code{font-family:var(--mono);font-size:.88em;background:var(--card);border:1px solid var(--line);padding:2px 6px;border-radius:6px}
.entry pre{font-family:var(--mono);font-size:14px;background:var(--card);border:1px solid var(--line);padding:18px;border-radius:12px;overflow-x:auto;line-height:1.6}
.entry pre code{background:none;border:0;padding:0}
.entry img,.entry figure{border-radius:12px}
.entry figcaption{font-size:13.5px;color:var(--dim);text-align:center;margin-top:8px}
.entry table{width:100%;border-collapse:collapse;font-size:15px}
.entry th,.entry td{border:1px solid var(--line-2);padding:10px 12px;text-align:left}
.entry hr{border:0;border-top:1px solid var(--line-2);margin:2em 0}
.alignwide{max-width:960px;margin-left:auto;margin-right:auto}
.aligncenter{margin-left:auto;margin-right:auto}

/* cta ao fim do post */
.post-cta{max-width:var(--read);margin:0 auto 90px;padding:30px;border:1px solid var(--line-2);border-radius:22px;background:radial-gradient(400px 220px at 100% 0%,rgba(60,163,255,.14),transparent 70%),var(--bg-2);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.post-cta h3{font-size:20px;margin-bottom:4px}
.post-cta p{color:var(--muted);font-size:15px}
.post-nav{max-width:var(--read);margin:0 auto 40px;display:flex;justify-content:space-between;gap:20px;font-size:14.5px}

/* footer */
.site-footer{padding:40px 0 50px;border-top:1px solid var(--line);color:var(--dim);font-size:14px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer a{color:var(--muted)}

@media (max-width:980px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .posts{grid-template-columns:1fr}
  .nav .hide-sm,.brand span{display:none}
  .blog-hero{padding-top:56px}
  .entry{font-size:17px}
}
