/* =======================================================================
   SS LEAN BRASIL — estilos do módulo de blog (blog.html, blog-post.html)
   e da área administrativa (admin.html).
   Carregado DEPOIS de styles.css — reaproveita os tokens de cor/tipografia
   do design system (docs/design-system.md), só acrescenta o que falta.
   ======================================================================= */

.blog-kicker{
  display:inline-block;font-size:11.5px;font-weight:700;color:var(--accent);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;
  background:var(--accent-light);padding:5px 12px;border-radius:980px;
}
.blog-kicker--on-photo{
  background:rgba(255,255,255,.16);backdrop-filter:blur(4px);color:#fff;
}

.blog-state{
  text-align:center;padding:60px 20px;color:var(--ink-3);font-size:15px;
}

/* ---------- Blog: manchete (foto grande com tag/título/data sobrepostos + resumo abaixo) ---------- */
.blog-feature-link{
  display:block;margin-bottom:40px;text-decoration:none;color:inherit;
}
.blog-feature-link:hover{text-decoration:none;}
.blog-feature-link article.blog-feature{display:contents;}
.blog-feature-media{
  position:relative;border-radius:0;overflow:hidden;aspect-ratio:21/9;color:#fff;box-shadow:var(--shadow-md);
}
@media(max-width:640px){ .blog-feature-media{aspect-ratio:4/5;} }
.blog-feature-photo{position:absolute;inset:0;overflow:hidden;}
.blog-feature-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.blog-feature-link:hover .blog-feature-photo img{transform:scale(1.03);}
.blog-feature-media.no-photo{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-mid) 60%, var(--accent-dark) 100%);}
.blog-feature-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(8,13,26,.94) 0%, rgba(8,13,26,.68) 38%, rgba(8,13,26,0) 68%);
}
.blog-feature-body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 24px;}
@media(min-width:640px){ .blog-feature-body{padding:32px 44px 36px;} }
.blog-feature-body .blog-kicker{margin-bottom:10px;}
.blog-feature-body h1,.blog-feature-body h2{font-size:clamp(22px,3.4vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;max-width:94%;}
.blog-feature-meta{display:block;margin-top:16px;font-size:11.5px;color:var(--accent);letter-spacing:.01em;}
.blog-feature-meta strong{font-weight:700;}
.blog-feature-excerpt{
  margin:10px 0 0;max-width:100%;font-size:16px;line-height:1.65;color:var(--ink-3);
}

/* ---------- Blog: destaques (soltos, foto ao lado do texto, 2 colunas) ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 32px;margin-top:20px;}
@media(max-width:900px){ .blog-grid{grid-template-columns:repeat(2,1fr);gap:32px;} }
@media(max-width:600px){ .blog-grid{grid-template-columns:1fr;gap:28px;} }
.blog-card-link{
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
}
.blog-card-link:hover{text-decoration:none;}
.blog-card-link article.blog-card{display:contents;}
.blog-card-photo{
  width:100%;aspect-ratio:4/3;border-radius:0;overflow:hidden;background:var(--bg-soft);margin-bottom:14px;
}
.blog-card-photo.no-photo{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-mid) 100%);}
.blog-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.blog-card-link:hover .blog-card-photo img{transform:scale(1.06);}
.blog-card-body{display:flex;flex-direction:column;}
.blog-card-body .blog-kicker{font-size:10px;padding:4px 10px;margin-bottom:9px;align-self:flex-start;}
.blog-card-body h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.32;color:var(--ink);margin:0 0 8px;}
.blog-card-excerpt{font-size:12.5px;line-height:1.55;color:var(--ink-3);margin:0 0 9px;}
.blog-card-meta{font-size:11.5px;color:var(--gray);}

/* ---------- Blog: artigo ---------- */
.blog-article{max-width:720px;margin:0 auto;}
.blog-article-meta{font-size:13.5px;color:var(--ink-3);margin:14px 0 26px;}
.blog-article-meta a{font-weight:600;}
.blog-article-cover{
  position:relative;aspect-ratio:16/9;border-radius:0;overflow:hidden;margin-bottom:36px;
  box-shadow:var(--shadow-md);background:var(--bg-soft);
}
.blog-article-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.blog-article-cover::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:58%;pointer-events:none;
  background:linear-gradient(to top, rgba(8,13,26,.62) 0%, rgba(8,13,26,0) 100%);
}
.blog-article-kicker{
  display:inline-block;background:none;padding:0;border-radius:0;margin:0 0 10px;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);
}
.blog-article-cover .blog-article-kicker{
  position:absolute;left:22px;bottom:18px;z-index:1;margin:0;color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
@media(min-width:640px){ .blog-article-cover .blog-article-kicker{left:28px;bottom:22px;font-size:12.5px;} }
.blog-article-body p{font-size:17px;line-height:1.75;color:var(--ink);margin-bottom:20px;}
.blog-article-body .blog-subhead{
  font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;
  letter-spacing:.05em;margin:30px 0 12px;
}
.blog-article-body .blog-pull-quote{
  border-left:3px solid var(--accent);margin:28px 0;padding:6px 0 6px 22px;
  font-size:19px;line-height:1.6;font-style:italic;color:var(--ink);
}
.blog-back-link{display:inline-block;margin-bottom:26px;font-size:14px;font-weight:600;}
.blog-article-cta{
  margin-top:48px;padding:34px 30px;border-radius:var(--radius);background:var(--bg-soft);
  text-align:center;
}
.blog-article-cta h3{font-size:20px;margin-bottom:16px;}

/* ---------- Admin: login ---------- */
.admin-shell{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:60px 22px;}
.admin-login-card{
  width:100%;max-width:400px;background:#fff;border-radius:var(--radius);
  border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-md);padding:36px 32px;text-align:center;
}
.admin-login-card h1{font-size:22px;margin-bottom:8px;}
.admin-login-card p{font-size:14px;color:var(--ink-3);margin-bottom:22px;line-height:1.5;}
.admin-field input[type=email],.admin-field input[type=password],.admin-field input[type=text]{
  width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  border:1px solid var(--gray-light);border-radius:980px;padding:13px 20px;margin-bottom:14px;
}
.admin-field input[type=email]:focus,.admin-field input[type=password]:focus,.admin-field input[type=text]:focus{outline:none;border-color:var(--accent);}
.admin-pw-wrap{position:relative;margin-bottom:14px;}
.admin-pw-wrap input{margin-bottom:0 !important;padding-right:44px !important;}
.admin-pw-toggle{
  position:absolute;top:50%;right:4px;transform:translateY(-50%);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;color:var(--ink-3);padding:0;line-height:0;
}
.admin-pw-toggle:hover{color:var(--accent);}
.admin-pw-toggle svg{width:18px;height:18px;display:block;}
.admin-msg{font-size:13px;color:var(--ink-3);margin-top:14px;line-height:1.5;}
.admin-msg.err{color:#c0392b;}
.admin-msg.ok{color:#1c7a4d;}

/* ---------- Admin: painel ---------- */
.admin-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 0;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:24px;
}
.admin-who{font-size:13px;color:var(--ink-3);}
.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start;}
@media(max-width:860px){ .admin-layout{grid-template-columns:1fr;} }

.admin-queue{
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
  padding:14px;box-shadow:var(--shadow-sm);position:sticky;top:100px;
}
@media(max-width:860px){ .admin-queue{position:static;} }
.admin-queue h2{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);
  padding:6px 8px 12px;font-weight:700;}
.admin-queue-item{
  display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:12px 10px;border-radius:12px;color:var(--ink);font-family:inherit;margin-bottom:4px;
}
.admin-queue-item:hover{background:var(--bg-soft);}
.admin-queue-item.active{background:var(--accent-light);}
.admin-queue-item .aq-title{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:6px;}

.admin-badge{
  display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.03em;
}
.admin-badge.pending{background:#fdf3e2;color:#8a5a12;}
.admin-badge.approved{background:#e5f5ec;color:#1c7a4d;}
.admin-badge.featured{background:#fdeccb;color:#8a5a12;margin-left:6px;}
.admin-queue-item .admin-badge{margin-top:2px;}

.admin-panel{
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.admin-panel-head{
  padding:26px 28px 20px;border-bottom:1px solid rgba(0,0,0,.06);
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
}
.admin-panel-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.admin-panel-head h2{font-size:22px;font-weight:700;max-width:620px;}
.admin-source-line{margin-top:10px;font-size:13px;color:var(--ink-3);}

.admin-tabs{display:flex;gap:6px;padding:0 28px;border-bottom:1px solid rgba(0,0,0,.06);}
.admin-tab{
  padding:13px 4px;margin-right:22px;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--gray);border-bottom:2px solid transparent;
}
.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent);}

.admin-tab-content{padding:26px 28px;}
.admin-tab-content.hidden{display:none;}
.admin-prose p{font-size:15px;line-height:1.7;color:var(--ink);margin-bottom:14px;}
.admin-prose .blog-subhead{margin:22px 0 10px;}
.admin-li-body{
  white-space:pre-wrap;font-size:15px;line-height:1.7;color:var(--ink);
  background:var(--bg-soft);border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:18px 20px;
}

.admin-section{padding:22px 28px;border-top:1px solid rgba(0,0,0,.06);}
.admin-section h3{font-size:13px;font-weight:700;color:var(--gray);text-transform:uppercase;
  letter-spacing:.05em;margin-bottom:12px;}
.admin-prompt-box{
  display:flex;gap:12px;align-items:flex-start;background:var(--bg-soft);
  border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px 18px;
}
.admin-prompt-box p{font-size:13.5px;line-height:1.6;color:var(--ink-3);flex:1;}

.admin-upload-row{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.admin-photo-preview{
  width:220px;height:124px;border-radius:12px;overflow:hidden;flex-shrink:0;
  background:var(--bg-soft);border:1px solid rgba(0,0,0,.06);
  display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:12px;
}
.admin-photo-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.admin-upload-controls{flex:1;min-width:220px;}
.admin-upload-controls p{font-size:12.5px;color:var(--gray);margin-top:8px;line-height:1.5;}
input[type=file]{display:none;}
.admin-upload-status{font-size:12.5px;margin-top:8px;color:var(--ink-3);}
.admin-upload-status.err{color:#c0392b;}

.admin-approve-row{
  padding:22px 28px 28px;display:flex;justify-content:space-between;align-items:center;
  gap:16px;flex-wrap:wrap;
}
.admin-approve-note{font-size:12.5px;color:var(--gray);}

.admin-empty{
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
  padding:60px 30px;text-align:center;color:var(--gray);font-size:14px;box-shadow:var(--shadow-sm);
}
.admin-empty-note{color:var(--gray);font-style:italic;}

.admin-field-group{margin-bottom:18px;}
.admin-field-group:last-child{margin-bottom:0;}
.admin-field-label{display:block;font-size:12px;font-weight:700;color:var(--gray);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.admin-field-hint{font-size:12px;color:var(--gray);margin-top:6px;line-height:1.5;}
.admin-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.admin-field-row-3{display:grid;grid-template-columns:1fr 1fr 140px;gap:14px;}
@media(max-width:640px){ .admin-field-row,.admin-field-row-3{grid-template-columns:1fr;} }
.admin-panel input[type=text],.admin-panel input[type=url],.admin-panel textarea{
  width:100%;font-family:inherit;font-size:14px;color:var(--ink);
  background:#fff;border:1px solid var(--gray-light);border-radius:10px;padding:11px 13px;line-height:1.5;
}
.admin-panel input[type=text]:focus,.admin-panel input[type=url]:focus,.admin-panel textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);
}
.admin-panel textarea{resize:vertical;min-height:90px;}
.admin-panel textarea.tall{min-height:220px;}
.admin-edit-actions{display:flex;gap:10px;padding:22px 28px 28px;border-top:1px solid rgba(0,0,0,.06);}

.admin-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--accent-dark);color:#fff;padding:10px 18px;border-radius:100px;
  font-size:13px;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;z-index:1200;
}
.admin-toast.show{opacity:1;transform:translateX(-50%) translateY(-4px);}
