/*
Theme Name: Dicas Casa e Jardim
Theme URI: https://dicascasaejardim.com
Author: Dicas Casa e Jardim
Author URI: https://dicascasaejardim.com
Description: Tema minimalista e elegante para blog de casa, decoração e jardinagem. 100% nativo WordPress, sem Elementor. Ultra-rápido, responsivo e otimizado para SEO, Google AdSense, Google Discover, Bing e Yahoo.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dicas-casa-jardim
Tags: blog, garden, home-decor, minimalist, responsive, seo-optimized, adsense-ready

/* ============================================================
   VARIÁVEIS DE DESIGN
   ============================================================ */
:root{
 --color-primary:#3B6D11;
 --color-primary-light:#639922;
 --color-primary-dark:#27500A;
 --color-accent:#BA7517;
 --color-accent-light:#EF9F27;
 --color-bg:#FAFAF8;
 --color-bg-secondary:#F4F2EE;
 --color-bg-card:#FFFFFF;
 --color-text:#2C2C2A;
 --color-text-muted:#5F5E5A;
 --color-text-light:#888780;
 --color-border:#D3D1C7;
 --color-border-light:#E8E6E0;
 --font-heading:'Playfair Display','Georgia','Times New Roman',serif;
 --font-body:'Lato',system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
 --font-mono:'Courier New',monospace;
 --space-xs:4px;
 --space-sm:8px;
 --space-md:16px;
 --space-lg:24px;
 --space-xl:40px;
 --space-2xl:64px;
 --radius-sm:4px;
 --radius-md:8px;
 --radius-lg:16px;
 --radius-full:9999px;
 --shadow-sm:0 1px 4px rgba(44,44,42,0.07);
 --shadow-md:0 4px 16px rgba(44,44,42,0.10);
 --shadow-lg:0 8px 32px rgba(44,44,42,0.13);
 --max-width:1200px;
 --content-width:780px;
 --transition:0.2s ease;
}

*,*::before,*::after{
 box-sizing:border-box;
 margin:0;
 padding:0;
}

@font-face{
 font-family:'Lato-fallback';
 size-adjust:97.5%;
 ascent-override:100%;
 src:local('Arial'),local('Helvetica Neue'),local(sans-serif);
}

@font-face{
 font-family:'PlayfairDisplay-fallback';
 size-adjust:103%;
 ascent-override:95%;
 src:local('Georgia'),local('Times New Roman'),local(serif);
}

html{
 font-size:16px;
 scroll-behavior:smooth;
 -webkit-text-size-adjust:100%;
}

body{
 font-family:var(--font-body);
 font-size:1rem;
 line-height:1.75;
 color:var(--color-text);
 background-color:var(--color-bg);
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
}

img,video{
 max-width:100%;
 height:auto;
 display:block;
}

a{
 color:var(--color-primary);
 text-decoration:none;
 transition:color var(--transition);
}

a:hover{color:var(--color-primary-light);}

h1,h2,h3,h4,h5,h6{
 font-family:var(--font-heading);
 font-weight:700;
 line-height:1.25;
 color:var(--color-text);
}

h1{font-size:clamp(1.75rem,4vw,2.75rem);}

h2{font-size:clamp(1.4rem,3vw,2rem);}

h3{font-size:clamp(1.2rem,2.5vw,1.5rem);}

h4{font-size:1.2rem;}

h5{font-size:1.05rem;}

h6{font-size:0.95rem;}

p{margin-bottom:1.25rem;}

p:last-child{margin-bottom:0;}

ul,ol{padding-left:1.5rem;margin-bottom:1rem;}

li{margin-bottom:0.35rem;}

blockquote{
 border-left:4px solid var(--color-primary);
 padding:var(--space-md) var(--space-lg);
 margin:var(--space-xl) 0;
 background:var(--color-bg-secondary);
 border-radius:0 var(--radius-md) var(--radius-md) 0;
 font-style:italic;
 font-size:1.1rem;
 color:var(--color-text-muted);
}

code{
 font-family:var(--font-mono);
 font-size:0.875rem;
 background:var(--color-bg-secondary);
 padding:2px 6px;
 border-radius:var(--radius-sm);
}

hr{
 border:none;
 border-top:1px solid var(--color-border-light);
 margin:var(--space-xl) 0;
}

.container{
 max-width:var(--max-width);
 margin:0 auto;
 padding:0 var(--space-lg);
}

.container--narrow{
 max-width:var(--content-width);
 margin:0 auto;
 padding:0 var(--space-lg);
}

.site-header{
 position:sticky;
 top:0;
 z-index:100;
 background:#FFFFFF;
 border-bottom:1px solid var(--color-border-light);
 box-shadow:var(--shadow-sm);
}

.site-header__inner{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:var(--space-lg);
 height:68px;
}

.site-logo{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 text-decoration:none;
 flex-shrink:0;
}

.site-logo__icon{
 width:36px;
 height:36px;
 background:var(--color-primary);
 border-radius:var(--radius-sm);
 display:flex;
 align-items:center;
 justify-content:center;
}

.site-logo__icon svg{
 width:22px;
 height:22px;
 fill:#fff;
}

.site-logo__text{
 font-family:var(--font-heading);
 font-size:1.25rem;
 font-weight:700;
 color:var(--color-text);
 line-height:1.2;
}

.site-logo__text span{
 display:block;
 font-size:0.65rem;
 font-family:var(--font-body);
 font-weight:400;
 color:var(--color-text-light);
 letter-spacing:0.08em;
 text-transform:uppercase;
}

.site-nav{display:flex;align-items:center;gap:0;}

.site-nav__menu{
 display:flex;
 list-style:none;
 margin:0;
 padding:0;
 gap:0;
}

.site-nav__menu li{position:relative;}

.site-nav__menu > li > a{
 display:flex;
 align-items:center;
 gap:4px;
 padding:0 var(--space-md);
 height:68px;
 font-size:0.875rem;
 font-weight:600;
 color:var(--color-text-muted);
 text-transform:uppercase;
 letter-spacing:0.05em;
 border-bottom:2px solid transparent;
 transition:color var(--transition),border-color var(--transition);
}

.site-nav__menu > li > a:hover,
.site-nav__menu > li.current-menu-item > a,
.site-nav__menu > li.current-menu-ancestor > a{
 color:var(--color-primary);
 border-bottom-color:var(--color-primary);
}

.site-nav__menu .sub-menu{
 position:absolute;
 top:100%;
 left:0;
 background:#fff;
 border:1px solid var(--color-border-light);
 border-radius:var(--radius-md);
 box-shadow:var(--shadow-lg);
 min-width:200px;
 padding:var(--space-sm) 0;
 list-style:none;
 opacity:0;
 visibility:hidden;
 transform:translateY(8px);
 transition:all var(--transition);
 z-index:200;
}

.site-nav__menu li:hover > .sub-menu{
 opacity:1;
 visibility:visible;
 transform:translateY(0);
}

.site-nav__menu .sub-menu a{
 display:block;
 padding:var(--space-sm) var(--space-md);
 font-size:0.875rem;
 color:var(--color-text-muted);
 border-bottom:none;
}

.site-nav__menu .sub-menu a:hover{
 background:var(--color-bg-secondary);
 color:var(--color-primary);
}

.site-header__actions{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
}

.btn-search,
.btn-menu{
 display:flex;
 align-items:center;
 justify-content:center;
 width:40px;
 height:40px;
 border:1px solid var(--color-border);
 border-radius:var(--radius-md);
 background:transparent;
 cursor:pointer;
 color:var(--color-text-muted);
 transition:all var(--transition);
}

.btn-search:hover,.btn-menu:hover{
 background:var(--color-bg-secondary);
 color:var(--color-primary);
}

.btn-menu{display:none;}

.search-overlay{
 position:fixed;
 inset:0;
 background:rgba(255,255,255,0.98);
 z-index:500;
 display:flex;
 align-items:center;
 justify-content:center;
 opacity:0;
 visibility:hidden;
 transition:all 0.25s ease;
}

.search-overlay.active{
 opacity:1;
 visibility:visible;
}

.search-overlay__form{
 width:100%;
 max-width:640px;
 padding:0 var(--space-lg);
 position:relative;
}

.search-overlay__input{
 width:100%;
 font-size:1.5rem;
 font-family:var(--font-heading);
 border:none;
 border-bottom:2px solid var(--color-primary);
 padding:var(--space-md) 0;
 background:transparent;
 color:var(--color-text);
 outline:none;
}

.search-overlay__input::placeholder{color:var(--color-text-light);}

.search-overlay__close{
 position:absolute;
 top:-60px;
 right:0;
 background:none;
 border:none;
 cursor:pointer;
 font-size:1.5rem;
 color:var(--color-text-muted);
}

.hero-featured{
 background:var(--color-bg-secondary);
 padding:var(--space-2xl) 0;
 border-bottom:1px solid var(--color-border-light);
}

.hero-featured__inner{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:var(--space-2xl);
 align-items:center;
}

.hero-featured__meta{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 margin-bottom:var(--space-md);
}

.hero-featured__title{
 font-size:clamp(1.75rem,4vw,3rem);
 margin-bottom:var(--space-md);
 line-height:1.15;
}

.hero-featured__title a{
 color:var(--color-text);
 text-decoration:none;
}

.hero-featured__title a:hover{color:var(--color-primary);}

.hero-featured__excerpt{
 font-size:1.05rem;
 color:var(--color-text-muted);
 margin-bottom:var(--space-lg);
 line-height:1.7;
}

.hero-featured__image{
 border-radius:var(--radius-lg);
 overflow:hidden;
 aspect-ratio:4/3;
 background:var(--color-border-light);
}

.hero-featured__image img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform 0.4s ease;
}

.hero-featured__image:hover img{transform:scale(1.03);}

.category-pill{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:3px 12px;
 border-radius:var(--radius-full);
 font-size:0.72rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.06em;
 text-decoration:none;
 transition:opacity var(--transition);
}

.category-pill:hover{opacity:0.8;}

.category-pill--green{background:#EAF3DE;color:#3B6D11;}

.category-pill--amber{background:#FAEEDA;color:#854F0B;}

.category-pill--teal{background:#E1F5EE;color:#0F6E56;}

.category-pill--coral{background:#FAECE7;color:#993C1D;}

.category-pill--blue{background:#E6F1FB;color:#185FA5;}

.category-pill--purple{background:#EEEDFE;color:#534AB7;}

.btn{
 display:inline-flex;
 align-items:center;
 gap:var(--space-sm);
 padding:10px 22px;
 border-radius:var(--radius-md);
 font-size:0.875rem;
 font-weight:700;
 text-decoration:none;
 cursor:pointer;
 border:2px solid transparent;
 transition:all var(--transition);
 line-height:1;
}

.btn--primary{
 background:var(--color-primary);
 color:#fff;
 border-color:var(--color-primary);
}

.btn--primary:hover{
 background:var(--color-primary-dark);
 color:#fff;
 border-color:var(--color-primary-dark);
}

.btn--outline{
 background:transparent;
 color:var(--color-primary);
 border-color:var(--color-primary);
}

.btn--outline:hover{
 background:var(--color-primary);
 color:#fff;
}

.btn--sm{padding:7px 16px;font-size:0.8rem;}

.posts-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:var(--space-lg);
}

.posts-grid--2col{grid-template-columns:repeat(2,1fr);}

.posts-grid--4col{grid-template-columns:repeat(4,1fr);}

.post-card{
 background:var(--color-bg-card);
 border-radius:var(--radius-lg);
 overflow:hidden;
 border:1px solid var(--color-border-light);
 transition:box-shadow var(--transition),transform var(--transition);
 display:flex;
 flex-direction:column;
}

.post-card:hover{
 box-shadow:var(--shadow-md);
 transform:translateY(-3px);
}

.post-card__image{
 aspect-ratio:16/9;
 overflow:hidden;
 background:var(--color-bg-secondary);
 flex-shrink:0;
}

.post-card__image img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform 0.4s ease;
}

.post-card:hover .post-card__image img{transform:scale(1.05);}

.post-card__body{
 padding:var(--space-md);
 flex:1;
 display:flex;
 flex-direction:column;
}

.post-card__meta{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 margin-bottom:var(--space-sm);
 flex-wrap:wrap;
}

.post-card__title{
 font-size:1.05rem;
 margin-bottom:var(--space-sm);
 line-height:1.35;
}

.post-card__title a{
 color:var(--color-text);
 text-decoration:none;
}

.post-card__title a:hover{color:var(--color-primary);}

.post-card__excerpt{
 font-size:0.875rem;
 color:var(--color-text-muted);
 line-height:1.6;
 flex:1;
 margin-bottom:var(--space-md);
 display:-webkit-box;
 -webkit-line-clamp:3;
 -webkit-box-orient:vertical;
 overflow:hidden;
}

.post-card__footer{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding-top:var(--space-sm);
 border-top:1px solid var(--color-border-light);
 margin-top:auto;
}

.post-card__read-time{
 font-size:0.75rem;
 color:var(--color-text-light);
}

.post-card--horizontal{
 flex-direction:row;
}

.post-card--horizontal .post-card__image{
 width:120px;
 flex-shrink:0;
 aspect-ratio:auto;
 height:auto;
}

.post-card--horizontal .post-card__title{font-size:0.9rem;}

.post-card--horizontal .post-card__excerpt{display:none;}

.post-meta{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 flex-wrap:wrap;
 font-size:0.8rem;
 color:var(--color-text-light);
}

.post-meta__separator{color:var(--color-border);}

.home-layout{
 padding:var(--space-2xl) 0;
}

.home-layout__main{
 display:grid;
 grid-template-columns:1fr 340px;
 gap:var(--space-2xl);
 align-items:start;
}

.section-header{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 margin-bottom:var(--space-xl);
 padding-bottom:var(--space-md);
 border-bottom:2px solid var(--color-border-light);
}

.section-title{
 font-size:1.35rem;
 font-family:var(--font-heading);
 position:relative;
}

.section-title::before{
 content:'';
 display:inline-block;
 width:4px;
 height:1em;
 background:var(--color-primary);
 margin-right:var(--space-sm);
 border-radius:var(--radius-sm);
 vertical-align:middle;
}

.section-see-all{
 font-size:0.8rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:var(--color-primary);
}

.sidebar{
 position:sticky;
 top:84px;
 display:flex;
 flex-direction:column;
 gap:var(--space-lg);
}

.widget{
 background:var(--color-bg-card);
 border:1px solid var(--color-border-light);
 border-radius:var(--radius-lg);
 overflow:hidden;
}

.widget__header{
 padding:var(--space-md) var(--space-md) 0;
}

.widget__title{
 font-size:0.8rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.08em;
 color:var(--color-text-light);
 padding-bottom:var(--space-sm);
 border-bottom:1px solid var(--color-border-light);
 margin-bottom:var(--space-md);
}

.widget__body{padding:var(--space-md);}

.widget-categories{list-style:none;padding:0;margin:0;}

.widget-categories li{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:var(--space-sm) 0;
 border-bottom:1px solid var(--color-border-light);
}

.widget-categories li:last-child{border-bottom:none;}

.widget-categories a{
 font-size:0.9rem;
 color:var(--color-text-muted);
 display:flex;
 align-items:center;
 gap:var(--space-sm);
}

.widget-categories a:hover{color:var(--color-primary);}

.widget-categories .count{
 font-size:0.75rem;
 color:var(--color-text-light);
 background:var(--color-bg-secondary);
 padding:2px 8px;
 border-radius:var(--radius-full);
}

.newsletter-widget{
 background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));
 border-radius:var(--radius-lg);
 padding:var(--space-lg);
 text-align:center;
 color:#fff;
}

.newsletter-widget__icon{
 font-size:2rem;
 margin-bottom:var(--space-sm);
}

.newsletter-widget__title{
 font-family:var(--font-heading);
 font-size:1.2rem;
 color:#fff;
 margin-bottom:var(--space-sm);
}

.newsletter-widget__text{
 font-size:0.875rem;
 opacity:0.85;
 margin-bottom:var(--space-lg);
 line-height:1.5;
}

.newsletter-widget__form{display:flex;flex-direction:column;gap:var(--space-sm);}

.newsletter-widget__input{
 width:100%;
 padding:10px 14px;
 border-radius:var(--radius-md);
 border:none;
 font-size:0.875rem;
 background:rgba(255,255,255,0.15);
 color:#fff;
 outline:none;
}

.newsletter-widget__input::placeholder{color:rgba(255,255,255,0.6);}

.newsletter-widget__btn{
 width:100%;
 padding:10px;
 border-radius:var(--radius-md);
 border:none;
 background:var(--color-accent);
 color:#fff;
 font-weight:700;
 font-size:0.875rem;
 cursor:pointer;
 transition:background var(--transition);
}

.newsletter-widget__btn:hover{background:var(--color-accent-light);}

.ad-container{
 background:var(--color-bg-secondary);
 border:1px dashed var(--color-border);
 border-radius:var(--radius-md);
 text-align:center;
 overflow:hidden;
 position:relative;
}

.ad-container::before{
 content:'Publicidade';
 display:block;
 font-size:0.65rem;
 color:var(--color-text-light);
 text-transform:uppercase;
 letter-spacing:0.08em;
 padding:4px;
 border-bottom:1px dashed var(--color-border);
}

.ad-container--banner{min-height:90px;}

.ad-container--rectangle{min-height:250px;}

.ad-container--leaderboard{min-height:90px;}

.single-post{
 padding:var(--space-2xl) 0;
}

.single-post__layout{
 display:grid;
 grid-template-columns:1fr 340px;
 gap:var(--space-2xl);
 align-items:start;
}

.single-post__header{
 margin-bottom:var(--space-xl);
}

.single-post__title{
 font-size:clamp(1.75rem,4vw,2.75rem);
 margin-bottom:var(--space-md);
 line-height:1.2;
}

.single-post__meta{margin-bottom:var(--space-lg);}

.single-post__thumbnail{
 border-radius:var(--radius-lg);
 overflow:hidden;
 margin-bottom:var(--space-xl);
 aspect-ratio:16/9;
}

.single-post__thumbnail img{
 width:100%;
 height:100%;
 object-fit:cover;
}

.post-content{
 font-size:1.05rem;
 line-height:1.8;
 color:var(--color-text);
}

.post-content h2,.post-content h3,
.post-content h4,.post-content h5{
 margin:var(--space-xl) 0 var(--space-md);
}

.post-content h2{font-size:1.65rem;}

.post-content h3{font-size:1.35rem;}

.post-content h4{font-size:1.15rem;}

.post-content p{margin-bottom:1.5rem;}

.post-content ul,.post-content ol{
 margin:var(--space-md) 0 var(--space-md) 1.5rem;
}

.post-content li{margin-bottom:var(--space-sm);}

.post-content img{
 border-radius:var(--radius-md);
 margin:var(--space-xl) auto;
}

.post-content .wp-block-image figcaption{
 text-align:center;
 font-size:0.825rem;
 color:var(--color-text-light);
 margin-top:var(--space-sm);
 font-style:italic;
}

.post-tags{
 display:flex;
 flex-wrap:wrap;
 gap:var(--space-sm);
 margin:var(--space-xl) 0;
 padding:var(--space-lg) 0;
 border-top:1px solid var(--color-border-light);
}

.post-tag{
 display:inline-flex;
 align-items:center;
 padding:4px 12px;
 background:var(--color-bg-secondary);
 border:1px solid var(--color-border);
 border-radius:var(--radius-full);
 font-size:0.8rem;
 color:var(--color-text-muted);
 text-decoration:none;
 transition:all var(--transition);
}

.post-tag:hover{
 background:var(--color-primary);
 border-color:var(--color-primary);
 color:#fff;
}

.author-box{
 background:var(--color-bg-secondary);
 border-radius:var(--radius-lg);
 padding:var(--space-lg);
 display:flex;
 gap:var(--space-lg);
 align-items:flex-start;
 margin:var(--space-xl) 0;
}

.author-box__avatar{
 width:72px;
 height:72px;
 border-radius:50%;
 flex-shrink:0;
 overflow:hidden;
 background:var(--color-border);
}

.author-box__avatar img{
 width:100%;
 height:100%;
 object-fit:cover;
}

.author-box__name{
 font-size:1.1rem;
 margin-bottom:4px;
}

.author-box__bio{
 font-size:0.875rem;
 color:var(--color-text-muted);
 line-height:1.6;
}

.related-posts{
 margin:var(--space-xl) 0;
}

.related-posts__grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:var(--space-md);
}

.breadcrumb{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:var(--space-xs);
 font-size:0.8rem;
 color:var(--color-text-light);
 padding:var(--space-md) 0;
 border-bottom:1px solid var(--color-border-light);
 margin-bottom:var(--space-xl);
}

.breadcrumb a{color:var(--color-text-light);}

.breadcrumb a:hover{color:var(--color-primary);}

.breadcrumb__separator{color:var(--color-border);}

.breadcrumb__current{color:var(--color-text-muted);}

.pagination{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:var(--space-sm);
 padding:var(--space-xl) 0;
}

.pagination a,
.pagination span{
 display:flex;
 align-items:center;
 justify-content:center;
 width:40px;
 height:40px;
 border-radius:var(--radius-md);
 font-size:0.875rem;
 font-weight:600;
 text-decoration:none;
 border:1px solid var(--color-border);
 color:var(--color-text-muted);
 transition:all var(--transition);
}

.pagination a:hover,
.pagination .current{
 background:var(--color-primary);
 color:#fff;
 border-color:var(--color-primary);
}

.comments-area{
 margin:var(--space-xl) 0;
}

.comments-title{margin-bottom:var(--space-lg);}

.comment-list{list-style:none;padding:0;}

.comment{
 border-bottom:1px solid var(--color-border-light);
 padding:var(--space-lg) 0;
}

.comment:last-child{border-bottom:none;}

.comment__header{
 display:flex;
 align-items:center;
 gap:var(--space-md);
 margin-bottom:var(--space-sm);
}

.comment__avatar{
 width:44px;
 height:44px;
 border-radius:50%;
 overflow:hidden;
 flex-shrink:0;
}

.comment__avatar img{width:100%;height:100%;object-fit:cover;}

.comment__author{font-weight:700;font-size:0.9rem;}

.comment__date{font-size:0.8rem;color:var(--color-text-light);}

.comment__text{font-size:0.95rem;color:var(--color-text-muted);line-height:1.7;}

.comment-form label{
 display:block;
 font-size:0.875rem;
 font-weight:600;
 color:var(--color-text-muted);
 margin-bottom:4px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
 width:100%;
 padding:10px 14px;
 border:1px solid var(--color-border);
 border-radius:var(--radius-md);
 font-family:var(--font-body);
 font-size:0.9rem;
 color:var(--color-text);
 background:var(--color-bg-card);
 transition:border-color var(--transition);
 outline:none;
}

.comment-form input:focus,
.comment-form textarea:focus{
 border-color:var(--color-primary);
}

.comment-form textarea{min-height:120px;resize:vertical;}

.comment-form .form-submit .submit{
 background:var(--color-primary);
 color:#fff;
 border:none;
 padding:11px 28px;
 border-radius:var(--radius-md);
 font-weight:700;
 font-size:0.9rem;
 cursor:pointer;
 transition:background var(--transition);
}

.comment-form .form-submit .submit:hover{
 background:var(--color-primary-dark);
}

.archive-header{
 background:var(--color-bg-secondary);
 border-bottom:1px solid var(--color-border-light);
 padding:var(--space-xl) 0;
 margin-bottom:var(--space-2xl);
 text-align:center;
}

.archive-header__icon{
 font-size:2.5rem;
 margin-bottom:var(--space-sm);
}

.archive-header__title{margin-bottom:var(--space-sm);}

.archive-header__description{
 font-size:1rem;
 color:var(--color-text-muted);
 max-width:600px;
 margin:0 auto;
}

.archive-layout{
 display:grid;
 grid-template-columns:1fr 340px;
 gap:var(--space-2xl);
 align-items:start;
 padding:0 0 var(--space-2xl);
}

.site-footer{
 background:var(--color-text);
 color:rgba(255,255,255,0.7);
 padding:var(--space-2xl) 0 0;
}

.site-footer a{color:rgba(255,255,255,0.65);transition:color var(--transition);}

.site-footer a:hover{color:#fff;}

.footer-grid{
 display:grid;
 grid-template-columns:2fr 1fr 1fr 1fr;
 gap:var(--space-xl);
 margin-bottom:var(--space-2xl);
}

.footer-brand__logo{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 margin-bottom:var(--space-md);
 text-decoration:none;
}

.footer-brand__name{
 font-family:var(--font-heading);
 font-size:1.25rem;
 color:#fff;
}

.footer-brand__desc{
 font-size:0.875rem;
 line-height:1.6;
 margin-bottom:var(--space-lg);
}

.footer-social{
 display:flex;
 gap:var(--space-sm);
}

.footer-social__link{
 display:flex;
 align-items:center;
 justify-content:center;
 width:38px;
 height:38px;
 border-radius:var(--radius-md);
 border:1px solid rgba(255,255,255,0.15);
 color:rgba(255,255,255,0.7) !important;
 text-decoration:none;
 transition:all var(--transition);
 font-size:0.9rem;
}

.footer-social__link:hover{
 background:var(--color-primary);
 border-color:var(--color-primary);
 color:#fff !important;
}

.footer-col__title{
 font-size:0.75rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:0.1em;
 color:#fff;
 margin-bottom:var(--space-md);
}

.footer-col__menu{
 list-style:none;
 padding:0;
 display:flex;
 flex-direction:column;
 gap:var(--space-sm);
}

.footer-col__menu a{
 font-size:0.875rem;
}

.footer-bottom{
 border-top:1px solid rgba(255,255,255,0.08);
 padding:var(--space-lg) 0;
 display:flex;
 align-items:center;
 justify-content:space-between;
 flex-wrap:wrap;
 gap:var(--space-sm);
 font-size:0.8rem;
}

.footer-bottom-menu{
 display:flex;
 gap:var(--space-md);
 list-style:none;
}

.reading-progress{
 position:fixed;
 top:0;
 left:0;
 width:0%;
 height:3px;
 background:var(--color-primary);
 z-index:999;
 transition:width 0.1s linear;
}

.toc-box{
 background:var(--color-bg-secondary);
 border:1px solid var(--color-border-light);
 border-radius:var(--radius-lg);
 padding:var(--space-lg);
 margin:var(--space-xl) 0;
}

.toc-box__title{
 font-size:1rem;
 font-weight:700;
 margin-bottom:var(--space-md);
 display:flex;
 align-items:center;
 gap:var(--space-sm);
}

.toc-box__list{
 list-style:none;
 padding:0;
 margin:0;
 counter-reset:toc;
}

.toc-box__list li{
 counter-increment:toc;
 margin-bottom:var(--space-sm);
}

.toc-box__list a{
 display:flex;
 align-items:center;
 gap:var(--space-sm);
 font-size:0.9rem;
 color:var(--color-text-muted);
}

.toc-box__list a::before{
 content:counter(toc) ".";
 font-weight:700;
 color:var(--color-primary);
 font-size:0.8rem;
}

.toc-box__list a:hover{color:var(--color-primary);}

.page-404{
 text-align:center;
 padding:var(--space-2xl) 0;
}

.page-404__code{
 font-size:8rem;
 font-family:var(--font-heading);
 color:var(--color-primary);
 line-height:1;
 margin-bottom:var(--space-md);
}

.search-header{
 padding:var(--space-xl) 0;
 border-bottom:1px solid var(--color-border-light);
 margin-bottom:var(--space-xl);
}

.search-results-layout{
 display:grid;
 grid-template-columns:1fr 340px;
 gap:var(--space-2xl);
 align-items:start;
 padding-bottom:var(--space-2xl);
}

.mobile-menu{
 position:fixed;
 top:0;
 left:0;
 width:100%;
 height:100%;
 z-index:400;
 pointer-events:none;
}

.mobile-menu__overlay{
 position:absolute;
 inset:0;
 background:rgba(0,0,0,0.5);
 opacity:0;
 transition:opacity 0.3s ease;
}

.mobile-menu__drawer{
 position:absolute;
 top:0;
 right:0;
 width:300px;
 height:100%;
 background:#fff;
 padding:var(--space-lg);
 transform:translateX(100%);
 transition:transform 0.3s ease;
 overflow-y:auto;
}

.mobile-menu.active{
 pointer-events:all;
}

.mobile-menu.active .mobile-menu__overlay{opacity:1;}

.mobile-menu.active .mobile-menu__drawer{transform:translateX(0);}

.mobile-menu__header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 margin-bottom:var(--space-xl);
}

.mobile-menu__close{
 background:none;
 border:none;
 cursor:pointer;
 color:var(--color-text-muted);
 font-size:1.5rem;
 padding:4px;
}

.mobile-menu__nav{list-style:none;padding:0;}

.mobile-menu__nav li{border-bottom:1px solid var(--color-border-light);}

.mobile-menu__nav a{
 display:block;
 padding:var(--space-md) 0;
 font-size:1rem;
 font-weight:600;
 color:var(--color-text-muted);
}

.mobile-menu__nav a:hover{color:var(--color-primary);}

.sr-only{
 position:absolute;
 width:1px;
 height:1px;
 overflow:hidden;
 clip:rect(0,0,0,0);
 white-space:nowrap;
}

.text-center{text-align:center;}

.text-muted{color:var(--color-text-muted);}

.mb-0{margin-bottom:0;}

.mb-sm{margin-bottom:var(--space-sm);}

.mb-md{margin-bottom:var(--space-md);}

.mb-lg{margin-bottom:var(--space-lg);}

.mb-xl{margin-bottom:var(--space-xl);}

.mt-xl{margin-top:var(--space-xl);}

.py-xl{padding:var(--space-xl) 0;}

.py-2xl{padding:var(--space-2xl) 0;}

.alignwide{max-width:none;margin-left:-60px;margin-right:-60px;}

.alignfull{width:100vw;max-width:100vw;margin-left:calc(-50vw + 50%);}

.aligncenter{text-align:center;margin:0 auto;}

.alignleft{float:left;margin-right:var(--space-lg);margin-bottom:var(--space-md);}

.alignright{float:right;margin-left:var(--space-lg);margin-bottom:var(--space-md);}

.skip-link{
 position:absolute;
 top:-100%;
 left:0;
 background:var(--color-primary);
 color:#fff;
 padding:var(--space-sm) var(--space-md);
 z-index:9999;
 text-decoration:none;
}

.skip-link:focus{top:0;}

@media (max-width:1024px){
 .home-layout__main,
 .single-post__layout,
 .archive-layout,
 .search-results-layout{
 grid-template-columns:1fr;
}

 .sidebar{position:static;}

 .footer-grid{
 grid-template-columns:1fr 1fr;
 gap:var(--space-lg);
}

 .posts-grid{grid-template-columns:repeat(2,1fr);}

 .posts-grid--4col{grid-template-columns:repeat(2,1fr);}

 .related-posts__grid{grid-template-columns:repeat(2,1fr);}

}

@media (max-width:768px){
:root{
 --space-2xl:40px;
 --space-xl:28px;
}

 .site-nav{display:none;}

 .btn-menu{display:flex;}

 .hero-featured__inner{grid-template-columns:1fr;}

 .hero-featured__image{order:-1;}

 .posts-grid,
 .posts-grid--2col,
 .posts-grid--3col,
 .posts-grid--4col{
 grid-template-columns:1fr;
}

 .related-posts__grid{grid-template-columns:1fr;}

 .footer-grid{grid-template-columns:1fr;gap:var(--space-lg);}

 .footer-bottom{
 flex-direction:column;
 text-align:center;
}

 .section-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm);}

}

@media (max-width:480px){
 .container{padding:0 var(--space-md);}

 .site-logo__text span{display:none;}

 .post-card--horizontal .post-card__image{width:90px;}

 .author-box{flex-direction:column;}

}

@media print{
 .site-header,.site-footer,.sidebar,
 .ad-container,.newsletter-widget,
 .reading-progress,.mobile-menu{display:none;}

 .single-post__layout{grid-template-columns:1fr;}

 .post-content{font-size:12pt;line-height:1.5;}

 a::after{content:" (" attr(href) ")";font-size:10pt;color:#666;}

}