/* =====================================================
   TAXCODE | Blog e painel administrativo
   ===================================================== */
.blog-hero .h-display,.article-hero .h-display{max-width:920px;margin-left:auto;margin-right:auto}
.blog-filter{display:grid;grid-template-columns:1fr 260px auto;gap:18px;align-items:end;margin-bottom:42px;padding:24px;border-radius:26px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.92));border:1px solid var(--line);box-shadow:var(--shadow)}
.blog-filter .form-group{margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{display:flex;flex-direction:column;padding:0;overflow:hidden}
.blog-card-image{display:block;position:relative;height:218px;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy-2))}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .36s var(--ease),filter .36s var(--ease)}
.blog-card:hover .blog-card-image img{transform:scale(1.05);filter:saturate(1.05)}
.blog-image-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 20% 18%,rgba(194,167,126,.24),transparent 32%),linear-gradient(135deg,var(--navy),var(--navy-2));color:rgba(255,255,255,.78);font-weight:800;letter-spacing:2px}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:28px}
.blog-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.blog-meta.center{justify-content:center;margin-bottom:20px;color:rgba(255,255,255,.72)}
.blog-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:rgba(194,167,126,.14);border:1px solid rgba(194,167,126,.24);color:var(--gold);line-height:1}
.blog-card-title{font-size:1.2rem;line-height:1.28;letter-spacing:-.025em;font-weight:800;margin-bottom:13px}
.blog-card-title a:hover{color:var(--gold)}
.blog-card .card-link{margin-top:auto;padding-top:20px}
.empty-state{padding:46px;border-radius:26px;text-align:center;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.empty-state.compact{box-shadow:none;border:0;background:transparent}.empty-state h3{font-size:1.25rem;margin-bottom:8px}.empty-state p{color:var(--muted)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:start}
.article-content{min-width:0}.article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:30px;margin-bottom:34px;box-shadow:var(--shadow)}
.article-body{padding:42px;border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.article-body p{font-size:1.06rem;line-height:1.9;color:var(--text);margin-bottom:22px}.article-body p:last-child{margin-bottom:0}
.article-sidebar{position:sticky;top:104px}.sidebar-card h3{font-size:1.05rem;margin-bottom:18px}.sidebar-posts{display:grid;gap:14px;margin-bottom:22px}.sidebar-posts a{display:block;padding:16px;border-radius:18px;background:rgba(194,167,126,.08);border:1px solid rgba(194,167,126,.16)}.sidebar-posts a:hover{border-color:rgba(194,167,126,.36);transform:translateY(-2px)}.sidebar-posts span{display:block;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px}.sidebar-posts strong{display:block;font-size:.92rem;line-height:1.35;color:var(--ink)}
.home-blog-section{display:none}.home-blog-section.is-visible{display:block}.home-blog-loading{color:var(--muted);text-align:center}.home-blog-section .blog-grid{margin-top:8px}

/* Admin */
.login-body,.admin-body{min-height:100vh;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--ink)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:34px}.login-card{width:min(100%,460px);padding:38px}.login-logo{height:48px;width:auto;margin-bottom:26px}.login-card .btn{width:100%}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:290px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;padding:28px;background:rgba(6,11,22,.72);border-right:1px solid rgba(194,167,126,.16);backdrop-filter:blur(16px)}
.admin-logo{display:block;margin-bottom:30px}.admin-logo img{height:46px;width:auto}.admin-nav{display:grid;gap:10px}.admin-nav a{display:flex;align-items:center;min-height:46px;padding:12px 15px;border-radius:15px;color:rgba(255,255,255,.74);font-size:.78rem;font-weight:800;letter-spacing:.9px;text-transform:uppercase;border:1px solid transparent}.admin-nav a:hover{color:var(--gold);background:rgba(255,255,255,.06);border-color:rgba(194,167,126,.16)}
.admin-main{padding:42px;min-width:0;background:linear-gradient(180deg,var(--cream),var(--cream-2))}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:28px}.admin-card{padding:28px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.admin-alert{padding:15px 17px;border-radius:16px;margin:18px 0;font-size:.9rem;font-weight:700}.admin-alert.success{background:rgba(21,128,61,.10);color:#166534;border:1px solid rgba(21,128,61,.18)}.admin-alert.error{background:rgba(185,28,28,.10);color:#991B1B;border:1px solid rgba(185,28,28,.18)}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;min-width:850px;border-collapse:collapse}.admin-table th,.admin-table td{padding:18px 16px;border-bottom:1px solid rgba(17,27,50,.08);text-align:left;vertical-align:middle}.admin-table th{color:var(--gold);font-size:.72rem;letter-spacing:1.3px;text-transform:uppercase}.admin-table td{font-size:.92rem;color:var(--text)}.admin-table td strong{display:block;color:var(--ink);font-size:.96rem}.admin-table td span{display:block;color:var(--muted);font-size:.78rem}.admin-table tr:last-child td{border-bottom:0}
.status-pill{display:inline-flex!important;width:max-content;border-radius:999px;padding:7px 11px;font-size:.7rem!important;font-weight:800!important;line-height:1;text-transform:uppercase;letter-spacing:.8px}.status-pill.published{background:rgba(21,128,61,.1);color:#166534!important;border:1px solid rgba(21,128,61,.18)}.status-pill.draft{background:rgba(107,114,128,.12);color:#4B5563!important;border:1px solid rgba(107,114,128,.18)}
.admin-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.admin-actions a,.admin-actions button{color:var(--gold);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.7px}.admin-actions button{background:transparent;border:0;padding:0}.admin-actions a:hover,.admin-actions button:hover{color:var(--navy)}
.editor-form textarea#content{min-height:330px}.current-image img{width:220px;max-height:140px;object-fit:cover;border-radius:18px;margin-bottom:12px}.checkbox-line{display:flex!important;align-items:center;gap:9px;color:var(--muted)!important;letter-spacing:0!important;text-transform:none!important;font-size:.92rem!important;font-weight:700!important}.checkbox-line input{width:auto!important}.narrow-form{max-width:560px}

@media(max-width:980px){.blog-filter{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.article-sidebar{position:static}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-main{padding:30px 22px}.admin-topbar{flex-direction:column}.admin-topbar .btn{width:auto}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr}.blog-card-image{height:205px}.article-body{padding:28px}.article-body p{font-size:1rem}.admin-nav{grid-template-columns:1fr}.login-wrap{padding:20px}.login-card{padding:28px}.admin-main{padding:26px 18px}.admin-card{padding:22px}.admin-actions{flex-wrap:wrap}.blog-filter{padding:20px}.blog-filter .btn{width:100%}}
