/*
Theme Name: Direito Condominial
Theme URI: https://direitocondominial.blog.br
Author: Souza Lanna Advogados
Author URI: https://souzalanna.adv.br
Description: Tema editorial do blog Direito Condominial, produzido por Souza Lanna Advogados. Layout de blog jurídico com destaque para notícias e guias práticos sobre direito condominial.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: direito-condominial
*/

:root{
  --dc-ink:#1B2430;
  --dc-ink-soft:#5B6472;
  --dc-accent:#9A4B2E;
  --dc-accent-dark:#7C3C24;
  --dc-paper:#FAF8F4;
  --dc-paper-alt:#F1EDE4;
  --dc-border:#E3DDD0;
  --dc-border-strong:#D8D0BF;
  --dc-muted:#8B8371;
}

body{ background:var(--dc-paper); color:var(--dc-ink); }
a{ text-decoration:none; }

/* Utility bar + header */
.dc-utility-bar{ background:var(--dc-ink); color:rgba(250,248,244,.75); display:flex; justify-content:space-between; align-items:center; padding:10px 5%; font-size:12px; letter-spacing:.02em; gap:12px; flex-wrap:wrap; }
.dc-utility-bar span{ white-space:nowrap; }

.dc-header{ display:flex; align-items:center; justify-content:space-between; padding:20px 5%; border-bottom:1px solid var(--dc-border); background:var(--dc-paper); flex-wrap:wrap; gap:16px; }
.dc-logo{ display:flex; align-items:center; gap:12px; color:var(--dc-ink); }
.dc-logo-mark{ width:34px; height:34px; border:1.5px solid var(--dc-accent); border-radius:3px; display:flex; align-items:center; justify-content:center; font-family:"Newsreader", serif; font-weight:600; color:var(--dc-accent); font-size:17px; flex-shrink:0; }
.dc-logo-text{ display:flex; flex-direction:column; line-height:1.15; }
.dc-logo-title{ font-family:"Newsreader", serif; font-size:21px; font-weight:600; color:var(--dc-ink); }
.dc-logo-sub{ font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--dc-accent); }

.dc-nav{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.dc-nav a{ font-size:14px; font-weight:600; color:var(--dc-ink); }
.dc-nav a:hover{ color:var(--dc-accent); }

.dc-cta-btn{ background:var(--dc-accent); color:var(--dc-paper) !important; font-size:14px; font-weight:600; padding:11px 22px; border-radius:4px; display:inline-block; white-space:nowrap; }
.dc-cta-btn:hover{ background:var(--dc-accent-dark); color:var(--dc-paper) !important; }

/* Category strip */
.dc-category-strip{ display:flex; gap:12px; flex-wrap:wrap; padding:20px 5%; background:var(--dc-paper-alt); border-top:1px solid var(--dc-border); border-bottom:1px solid var(--dc-border); }
.dc-chip{ font-size:13px; font-weight:600; padding:7px 16px; border-radius:20px; border:1px solid var(--dc-border-strong); color:var(--dc-ink); background:var(--dc-paper); }
.dc-chip:hover{ border-color:var(--dc-accent); color:var(--dc-accent); }

/* Section shell */
.dc-section{ padding:64px 5%; }
.dc-section-title{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:32px; gap:16px; flex-wrap:wrap; }
.dc-section-title h2{ font-family:"Newsreader", serif; font-size:28px; font-weight:600; color:var(--dc-ink); margin:0; }
.dc-section-title a{ font-size:14px; font-weight:600; color:var(--dc-accent); }
.dc-eyebrow{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--dc-accent); display:block; margin-bottom:8px; }
.dc-meta{ font-size:12px; color:var(--dc-ink-soft); }

/* Hero (single featured post) */
.dc-hero-grid{ display:flex; gap:40px; padding:48px 5% 8px; flex-wrap:wrap; align-items:flex-start; }
.dc-hero-main{ flex:1 1 640px; max-width:760px; }
.dc-hero-main .wp-block-post-featured-image{ display:block; min-height:360px; background:var(--dc-paper-alt); border-radius:4px; overflow:hidden; margin-bottom:20px; }
.dc-hero-main .wp-block-post-featured-image img{ width:100%; height:360px; object-fit:cover; display:block; }
.dc-hero-main .wp-block-post-title{ font-family:"Newsreader", serif !important; font-size:40px !important; font-weight:600 !important; line-height:1.15 !important; margin:0 0 12px !important; }
.dc-hero-main .wp-block-post-title a{ color:var(--dc-ink); }
.dc-hero-main .wp-block-post-excerpt{ font-size:17px; line-height:1.6; color:var(--dc-ink-soft); margin:0 0 12px; max-width:700px; }
.dc-hero-side{ flex:1 1 320px; max-width:380px; background:var(--dc-paper-alt); border-radius:8px; padding:32px; box-sizing:border-box; }
.dc-hero-side h3{ font-family:"Newsreader", serif; font-size:20px; font-weight:600; color:var(--dc-ink); margin:0 0 10px; }
.dc-hero-side p{ font-size:14px; line-height:1.6; color:var(--dc-ink-soft); margin:0 0 18px; }

/* Grid of posts (Query Loop) */
.dc-grid .wp-block-post-template{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px 32px; list-style:none; margin:0; padding:0; }
.dc-grid li.wp-block-post, .dc-grid .wp-block-post{ list-style:none; }
.dc-grid .wp-block-post-featured-image{ display:block; min-height:210px; background:var(--dc-paper-alt); border-radius:4px; overflow:hidden; margin-bottom:16px; }
.dc-grid .wp-block-post-featured-image img{ width:100%; height:210px; object-fit:cover; display:block; }
.dc-grid .wp-block-post-title{ font-family:"Newsreader", serif !important; font-size:20px !important; font-weight:600 !important; line-height:1.3 !important; margin:0 0 8px !important; }
.dc-grid .wp-block-post-title a{ color:var(--dc-ink); }
.dc-grid .wp-block-post-title a:hover{ color:var(--dc-accent); }
.dc-grid .wp-block-post-excerpt{ font-size:14px; line-height:1.55; color:var(--dc-ink-soft); margin:0 0 8px; }
.dc-grid .wp-block-post-date{ font-size:12px; color:var(--dc-ink-soft); }
.dc-grid .wp-block-query-pagination{ margin-top:48px; justify-content:center; gap:16px; }
.dc-grid .wp-block-query-pagination a, .dc-grid .wp-block-query-pagination span{ font-size:14px; font-weight:600; color:var(--dc-ink); }
.dc-grid .wp-block-query-pagination-numbers .current{ color:var(--dc-accent); }

/* CTA banner */
.dc-cta-banner{ background:var(--dc-paper-alt); padding:56px 5%; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.dc-cta-banner h2{ font-family:"Newsreader", serif; font-size:24px; font-weight:600; color:var(--dc-ink); margin:8px 0; }
.dc-cta-banner p{ font-size:15px; line-height:1.6; color:var(--dc-ink-soft); margin:0; max-width:640px; }

/* Guides + newsletter */
.dc-guides{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:64px; padding:64px 5%; }
.dc-guide-item{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--dc-border); color:var(--dc-ink); gap:16px; }
.dc-guide-item .title{ font-family:"Newsreader", serif; font-size:18px; font-weight:600; color:var(--dc-ink); }
.dc-guide-item .arrow{ font-size:18px; color:var(--dc-accent); flex-shrink:0; }
.dc-newsletter-box{ background:var(--dc-paper-alt); border-radius:8px; padding:32px; }
.dc-newsletter-box h3{ font-family:"Newsreader", serif; font-size:20px; font-weight:600; color:var(--dc-ink); margin:0 0 10px; }
.dc-newsletter-box p{ font-size:14px; line-height:1.6; color:var(--dc-ink-soft); margin:0 0 18px; }
.dc-newsletter-form{ display:flex; gap:10px; flex-wrap:wrap; }
.dc-newsletter-form input[type=email]{ flex:1 1 200px; background:var(--dc-paper); border:1px solid var(--dc-border-strong); border-radius:4px; padding:12px 14px; font-size:14px; font-family:inherit; }
.dc-newsletter-form button{ background:var(--dc-ink); color:var(--dc-paper); font-size:14px; font-weight:600; padding:12px 20px; border-radius:4px; border:none; cursor:pointer; white-space:nowrap; }
.dc-newsletter-disclaimer{ font-size:11px; color:var(--dc-muted); margin-top:10px; }

/* Footer */
.dc-footer{ background:var(--dc-ink); color:var(--dc-paper); padding:64px 5% 32px; }
.dc-footer-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:40px; }
.dc-footer h4{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:rgba(250,248,244,.5); margin:0 0 16px; }
.dc-footer a{ font-size:13px; color:rgba(250,248,244,.8); display:block; margin-bottom:10px; }
.dc-footer p{ font-size:13px; line-height:1.6; color:rgba(250,248,244,.65); margin:0; }
.dc-footer-title{ font-family:"Newsreader", serif; font-size:19px; font-weight:600; color:var(--dc-paper); }
.dc-footer-bottom{ border-top:1px solid rgba(250,248,244,.15); margin-top:40px; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; color:rgba(250,248,244,.5); }
.dc-social-row{ display:flex; gap:12px; }
.dc-social-dot{ width:34px; height:34px; border:1px solid rgba(250,248,244,.3); border-radius:50%; }

/* Single post */
.dc-breadcrumb{ padding:24px 5% 0; font-size:13px; color:var(--dc-muted); max-width:760px; margin:0 auto; }
.dc-breadcrumb a{ color:var(--dc-muted); }
.dc-breadcrumb .wp-block-post-terms{ color:var(--dc-muted); }
.dc-article-header{ max-width:760px; margin:0 auto; padding:16px 5% 0; box-sizing:border-box; }
.dc-article-header .wp-block-post-title{ font-family:"Newsreader", serif !important; font-size:44px !important; font-weight:600 !important; line-height:1.15 !important; margin:16px 0 0 !important; }
.dc-article-meta{ display:flex; align-items:center; gap:10px; margin-top:28px; padding-bottom:32px; border-bottom:1px solid var(--dc-border); font-size:13px; color:var(--dc-ink-soft); }
.dc-avatar{ width:40px; height:40px; border-radius:50%; background:var(--dc-paper-alt); border:1px solid var(--dc-border); flex-shrink:0; }
.dc-article-featured{ max-width:760px; margin:40px auto 0; padding:0 5%; box-sizing:border-box; }
.dc-article-featured .wp-block-post-featured-image{ display:block; min-height:420px; background:var(--dc-paper-alt); border-radius:6px; overflow:hidden; }
.dc-article-featured img{ width:100%; height:420px; object-fit:cover; display:block; }
.dc-article-body{ max-width:760px; margin:0 auto; padding:40px 5% 0; box-sizing:border-box; }
.dc-article-body .wp-block-post-content{ font-size:17px; line-height:1.75; color:#2B3340; }
.dc-article-body .wp-block-post-content > p{ margin:0 0 24px; }
.dc-article-body .wp-block-post-content h2{ font-family:"Newsreader", serif; font-size:26px; font-weight:600; color:var(--dc-ink); margin:48px 0 16px; }
.dc-article-body .wp-block-post-content h3{ font-family:"Newsreader", serif; font-size:21px; font-weight:600; color:var(--dc-ink); margin:36px 0 14px; }
.dc-article-body .wp-block-post-content ul, .dc-article-body .wp-block-post-content ol{ padding-left:20px; margin:0 0 24px; }
.dc-article-body .wp-block-post-content li{ font-size:17px; line-height:1.7; margin-bottom:10px; }
.dc-article-body .wp-block-post-content li::marker{ color:var(--dc-accent); }
.dc-article-body .wp-block-post-content blockquote{ border-left:3px solid var(--dc-accent); padding-left:24px; margin:40px 0; }
.dc-article-body .wp-block-post-content blockquote p{ font-family:"Newsreader", serif; font-style:italic; font-size:22px; line-height:1.5; color:var(--dc-ink); margin:0; }
.dc-inline-cta{ background:var(--dc-paper-alt); border-radius:8px; padding:32px; margin:48px 0; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.dc-inline-cta .title{ font-family:"Newsreader", serif; font-size:19px; font-weight:600; color:var(--dc-ink); }
.dc-inline-cta p{ font-size:14px; color:var(--dc-ink-soft); margin:6px 0 0; }
.dc-author-box{ display:flex; gap:20px; padding:24px 0; border-top:1px solid var(--dc-border); margin-top:48px; }
.dc-author-box .name{ font-size:16px; font-weight:600; color:var(--dc-ink); }
.dc-author-box .role{ font-size:13px; color:var(--dc-accent); margin-top:2px; }
.dc-author-box p{ font-size:14px; line-height:1.6; color:var(--dc-ink-soft); margin:8px 0 0; max-width:620px; }
.dc-related{ background:var(--dc-paper-alt); padding:64px 5% 72px; margin-top:24px; }
.dc-related .wp-block-post-template{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; list-style:none; margin:0; padding:0; }
.dc-related .wp-block-post-featured-image{ display:block; min-height:170px; background:var(--dc-paper); border-radius:4px; overflow:hidden; margin-bottom:14px; }
.dc-related .wp-block-post-featured-image img{ width:100%; height:170px; object-fit:cover; display:block; }
.dc-related .wp-block-post-title{ font-family:"Newsreader", serif !important; font-size:18px !important; font-weight:600 !important; line-height:1.3 !important; margin:6px 0 0 !important; }
.dc-related .wp-block-post-title a{ color:var(--dc-ink); }

/* Responsive */
@media (max-width: 900px){
  .dc-hero-grid{ flex-direction:column; }
  .dc-hero-side{ max-width:none; width:100%; box-sizing:border-box; }
  .dc-grid .wp-block-post-template{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dc-related .wp-block-post-template{ grid-template-columns:1fr; }
  .dc-guides{ grid-template-columns:1fr; gap:40px; }
  .dc-footer-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px){
  .dc-header{ padding:16px 5%; }
  .dc-nav{ gap:16px 20px; order:3; width:100%; }
  .dc-grid .wp-block-post-template{ grid-template-columns:1fr; }
  .dc-footer-grid{ grid-template-columns:1fr; }
  .dc-cta-banner{ flex-direction:column; align-items:flex-start; }
  .dc-inline-cta{ flex-direction:column; align-items:flex-start; }
  .dc-article-header .wp-block-post-title{ font-size:28px !important; }
  .dc-article-body .wp-block-post-content blockquote p{ font-size:19px; }
}
