/*
Theme Name: Subtexto Blog
Theme URI: https://www.subtextocult.com/
Author: Subtexto
Description: Blog da Subtexto. Lista de posts com barra lateral, capas tipográficas ou imagem destacada, notas de produto e perguntas frequentes.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: subtexto-leituras
*/

html,body{background:#050505;margin:0;padding:0}
.sbt{--preto:#050505;--grafite:#111110;--lima:#e3e699;--laranja:#ce4924;--branco:#f2f2ec;--texto:#d9d9d1;--cinza:#8e8e85;--fio:rgba(242,242,236,.14);
--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--sans:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
font-family:var(--sans);background:var(--preto);color:var(--texto);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.sbt *{box-sizing:border-box;margin:0;padding:0;font-weight:400}
.sbt :where(a){color:inherit;text-decoration:none}
.sbt img{max-width:100%;height:auto;display:block}
.sbt h1,.sbt h2,.sbt h3{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;color:var(--branco)}
.sbt h1 em,.sbt h2 em{font-style:italic;color:var(--lima)}
.sbt-w{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sbt-rotulo{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
.sbt-chapeu{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--laranja)}
.sbt a.sbt-chapeu:hover{color:var(--lima)}
.sbt-estrela{color:var(--laranja)}
.sbt-btn{display:inline-block;background:var(--lima);color:var(--preto);border-radius:999px;padding:11px 22px;font-size:14px;font-weight:500;transition:background .2s}
.sbt .sbt-btn:hover{background:var(--branco)}

/* Topo */
.sbt-topo{border-bottom:1px solid var(--fio);position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(5,5,5,.94);backdrop-filter:blur(8px)}
.sbt-topo .sbt-w{display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;padding-block:16px}
.sbt-logo-h{margin:0;font-size:inherit;line-height:1}
.sbt .sbt-logo{font-family:var(--serif);font-size:34px;line-height:1;color:var(--lima);letter-spacing:-.01em}
.sbt .sbt-logo em{font-style:italic;color:var(--branco)}
.sbt .sbt-logo{display:inline-flex;align-items:center;gap:12px}
.sbt-logo-img{height:40px;width:auto;max-width:240px}
.sbt-rod .sbt-logo-img{height:32px}
.sbt-nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.sbt-nav a:hover,.sbt-nav a[aria-current]{color:var(--lima)}
.sbt .sbt-nav-loja{color:var(--laranja)}

/* Grade: conteúdo + barra lateral */
.sbt-grade{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding-block:48px 72px;align-items:start}

/* Lista de posts */
.sbt-feed-head{padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--fio)}
.sbt-feed-head h1{font-size:clamp(40px,5vw,60px);line-height:1;margin-top:8px}
.sbt-feed-desc{color:var(--cinza);margin-top:10px;max-width:60ch}
.sbt-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 32px}
.sbt-card{display:flex;flex-direction:column;gap:16px;min-width:0}
.sbt-card-capa{display:block}
.sbt-card-txt{display:flex;flex-direction:column;gap:8px}
.sbt-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.sbt .sbt-card-tit{font-size:28px;line-height:1.08}
.sbt-card-tit a:hover{color:var(--lima)}
.sbt-card-linha{font-size:16px;line-height:1.5;color:var(--cinza)}
.sbt-card-destaque{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding-bottom:44px;border-bottom:1px solid var(--fio)}
.sbt .sbt-card-destaque .sbt-card-tit{font-size:clamp(32px,3.2vw,42px)}
.sbt-card-destaque .sbt-card-linha{font-size:17px}
.sbt-vazio{color:var(--cinza)}

/* Capa: tipográfica ou imagem destacada */
.sbt-capa{position:relative;aspect-ratio:3/2;max-width:100%;background:var(--grafite);border:1px solid var(--fio);display:flex;flex-direction:column;justify-content:center;padding:7%;overflow:hidden;border-radius:2px}
.sbt-capa b{font-family:var(--serif);font-weight:400;color:var(--lima);font-size:clamp(34px,3.6vw,52px);line-height:.92;letter-spacing:-.02em}
.sbt-capa b em{font-style:italic}
.sbt-capa small{position:absolute;left:7%;right:7%;bottom:7%;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
.sbt-capa::before{content:"✦";position:absolute;top:7%;right:7%;color:var(--laranja);font-size:16px}
.sbt-capa-lima{background:var(--lima);border-color:var(--lima)}
.sbt-capa-lima b{color:var(--preto)}
.sbt-capa-lima small{color:rgba(5,5,5,.6)}
.sbt-capa-laranja{background:var(--laranja);border-color:var(--laranja)}
.sbt-capa-laranja b{color:var(--preto)}
.sbt-capa-laranja small{color:rgba(5,5,5,.65)}
.sbt-capa-laranja::before{color:var(--lima)}
.sbt-capa-foto{padding:0;background:var(--grafite)}
.sbt-capa-foto::before{content:none}
.sbt-capa-foto img{width:100%;height:100%;object-fit:cover}
.sbt-card-capa .sbt-capa{transition:opacity .2s}
.sbt-card-capa:hover .sbt-capa{opacity:.88}
.sbt-capa-larga{aspect-ratio:2/1}
.sbt-capa-larga b{font-size:clamp(44px,6vw,76px)}

/* Post */
.sbt-post-head{padding-bottom:28px}
.sbt-post-head h1{font-size:clamp(38px,4.6vw,58px);line-height:1.02;margin:14px 0 16px}
.sbt-linha-fina{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2vw,25px);line-height:1.3;color:var(--branco);max-width:40ch}
.sbt-meta-credito{margin-top:20px;padding-top:16px;border-top:1px solid var(--fio)}
.sbt-post-capa{margin-bottom:40px}
.sbt-texto{font-size:18px;line-height:1.75;color:var(--texto);max-width:68ch}
.sbt-texto p{margin-bottom:24px}
.sbt-texto>p:first-child::first-letter{font-family:var(--serif);float:left;font-size:5.2em;line-height:.76;padding:8px 12px 0 0;color:var(--lima)}
.sbt-texto h2{font-size:clamp(28px,3vw,36px);line-height:1.08;margin:48px 0 16px;color:var(--lima)}
.sbt-texto h3{font-size:24px;line-height:1.15;margin:36px 0 12px}
.sbt-texto strong{font-weight:500;color:var(--branco)}
.sbt-texto em{font-style:italic}
.sbt-texto p a,.sbt-texto li a{color:var(--lima);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(227,230,153,.45)}
.sbt-texto ul,.sbt-texto ol{margin:0 0 24px 1.2em}
.sbt-texto ul{list-style:none;margin-left:0}
.sbt-texto ul li{padding-left:24px;position:relative;margin-bottom:8px}
.sbt-texto ul li::before{content:"✦";position:absolute;left:0;top:2px;color:var(--laranja);font-size:12px}
.sbt-texto figure{margin:32px 0}
.sbt-texto figcaption,.sbt-texto .wp-element-caption{font-size:13px;color:var(--cinza);margin-top:8px}
.sbt-texto blockquote:not(.sbt-olho blockquote){font-family:var(--serif);font-size:26px;line-height:1.25;color:var(--lima);border-left:2px solid var(--laranja);padding-left:20px;margin:32px 0}
.sbt-pagina>p:first-child::first-letter{font-family:inherit;float:none;font-size:inherit;line-height:inherit;padding:0;color:inherit}
.sbt-olho{margin:40px 0;padding:28px 0;border-block:1px solid var(--fio)}
.sbt-olho blockquote{font-family:var(--serif);font-size:clamp(32px,3.6vw,44px);line-height:1.02;color:var(--lima)}
.sbt-olho cite{display:block;margin-top:12px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
.sbt-nota{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;margin:32px 0;padding:14px;background:var(--grafite);border:1px solid var(--fio);border-radius:4px}
.sbt-nota-img{aspect-ratio:1/1;max-width:100%;background:#1a1a18;overflow:hidden;border-radius:2px}
.sbt-nota-img img{width:100%;height:100%;object-fit:cover}
.sbt-nota b{display:block;font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.1;color:var(--branco);margin:4px 0}
.sbt-nota i{display:block;font-style:normal;font-size:15px;line-height:1.45;color:var(--cinza)}
.sbt-nota .sbt-ver{display:inline-block;margin-top:6px;font-size:13px;color:var(--lima)}
.sbt-nota:hover b{color:var(--lima)}
.sbt-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.sbt-tags a{font-size:13px;border:1px solid var(--fio);border-radius:999px;padding:4px 12px}
.sbt-tags a:hover{border-color:var(--lima);color:var(--lima)}

/* Blocos do fim do post */
.sbt-bloco{margin-top:56px;padding-top:28px;border-top:1px solid var(--fio)}
.sbt .sbt-bloco-tit{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--laranja);margin-bottom:24px}
.sbt-pecas{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:24px}
.sbt-pecas a{display:flex;flex-direction:column;gap:8px}
.sbt-pecas b{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.1;color:var(--branco)}
.sbt-pecas span{font-size:13px;color:var(--lima)}
.sbt-pecas a:hover b{color:var(--lima)}
.sbt-faq details{border-top:1px solid var(--fio);padding-block:16px}
.sbt-faq details:last-of-type{border-bottom:1px solid var(--fio)}
.sbt-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--serif);font-size:23px;line-height:1.2;color:var(--branco)}
.sbt-faq summary::-webkit-details-marker{display:none}
.sbt-faq summary::after{content:"+";font-family:var(--sans);color:var(--laranja)}
.sbt-faq details[open] summary::after{content:"–"}
.sbt-faq details p{margin-top:10px}

/* Barra lateral */
.sbt-lateral{display:flex;flex-direction:column;gap:36px;position:sticky;top:96px}
.sbt .sbt-wid-tit{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--laranja);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--fio)}
.sbt-wid p{font-size:15px;line-height:1.55}
.sbt-wid-lista{list-style:none}
.sbt-wid-lista li{border-bottom:1px solid var(--fio)}
.sbt-wid-lista a,.sbt-wid-lista li>span{display:flex;justify-content:space-between;gap:12px;padding-block:9px;font-size:15px}
.sbt-wid-lista a span:last-child{color:var(--cinza);font-size:13px}
.sbt-wid-lista a:hover{color:var(--lima)}
.sbt-wid-breve li>span{color:var(--cinza)}
.sbt-wid-citacao blockquote{font-family:var(--serif);font-size:30px;line-height:1.05;color:var(--lima);margin:8px 0 10px}
.sbt-wid-loja{background:var(--lima);color:var(--preto);padding:24px;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.sbt-wid-loja-tit{font-family:var(--serif);font-size:28px!important;line-height:1.05!important}
.sbt-wid-loja-tit em{font-style:italic}
.sbt-wid-loja .sbt-btn{background:var(--preto);color:var(--lima)}
.sbt .sbt-wid-loja .sbt-btn:hover{background:var(--laranja);color:var(--branco)}
.sbt-wid-ig{font-size:14px;border-bottom:1px solid currentColor}
.sbt-busca{display:flex;border:1px solid var(--fio);border-radius:999px;overflow:hidden}
.sbt-busca input{flex:1;min-width:0;background:transparent;border:0;color:var(--branco);font:inherit;font-size:15px;padding:10px 16px;outline:none}
.sbt-busca input::placeholder{color:var(--cinza)}
.sbt-busca button{background:transparent;border:0;border-left:1px solid var(--fio);color:var(--lima);font:inherit;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:0 16px;cursor:pointer}

/* Paginação */
.sbt .navigation.pagination{margin-top:56px;padding-top:24px;border-top:1px solid var(--fio)}
.sbt .nav-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.sbt .nav-links a:hover,.sbt .nav-links .current{color:var(--lima)}

/* Rodapé */
.sbt-rod{border-top:1px solid var(--fio)}
.sbt-rod .sbt-w{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:32px}
.sbt-rod .sbt-logo{font-size:28px}
.sbt-rod nav{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.sbt-rod nav a:hover{color:var(--lima)}

.sbt .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.sbt a:focus-visible,.sbt summary:focus-visible,.sbt button:focus-visible,.sbt input:focus-visible{outline:2px solid var(--lima);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.sbt *{transition:none!important}}
@media (max-width:980px){.sbt-grade{grid-template-columns:minmax(0,1fr);gap:56px}.sbt-lateral{position:static}}
@media (max-width:640px){.sbt-lista,.sbt-card-destaque{grid-template-columns:minmax(0,1fr)}.sbt-card-destaque{gap:16px}.sbt-grade{padding-block:32px 56px}.sbt .sbt-logo{font-size:28px}.sbt-logo-img{height:32px}.sbt-topo{position:static}.sbt-texto{font-size:17px}.sbt-capa-larga{aspect-ratio:3/2}}
