/* ========================================
   DESIGN SYSTEM â€” La EconomÃ­a del Plato
   Orange/Warm Professional Theme
   ======================================== */

:root {
    --green: #3c6433;
    --green-light: #4e8042;
    --green-dark: #2a4723;
    --brown: #50321c;
    --brown-light: #6b4427;
    --brown-dark: #3a2414;
    --green-dark: #2f582c;
    --cream: #fdf6ee;
    --cream-dark: #f5e6d0;
    --warm-white: #fffdf9;

    --bg-primary: var(--warm-white);
    --bg-secondary: var(--cream);
    --bg-card: #ffffff;
    --bg-input: #ffffff;
    --border-color: rgba(80, 50, 28, 0.12);
    --border-hover: rgba(60, 100, 51, 0.3);

    --text-primary: #1a1a1a;
    --text-secondary: #555544;
    --text-muted: #8a8878;

    --accent-1: var(--green);
    --accent-2: var(--brown);
    --accent-gradient: linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);
    --accent-glow: rgba(60, 100, 51, 0.15);

    --success: #2f582c;
    --danger: #c0392b;
    --warning: #d4a030;

    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --fs-xs: 0.75rem; --fs-sm: 0.875rem; --fs-base: 1rem; --fs-lg: 1.125rem;
    --fs-xl: 1.25rem; --fs-2xl: 1.5rem; --fs-3xl: 2rem; --fs-4xl: 2.75rem; --fs-5xl: 3.5rem;

    --space-xs: 0.25rem; --space-sm: 0.5rem; --space-md: 1rem; --space-lg: 1.5rem;
    --space-xl: 2rem; --space-2xl: 3rem; --space-3xl: 4rem; --space-4xl: 6rem;

    --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px;
    --radius-xl: 24px; --radius-full: 9999px;

    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 30px rgba(0,0,0,0.1);
    --shadow-xl: 0 20px 60px rgba(0,0,0,0.12);

    --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
    --transition-base: 250ms cubic-bezier(0.4,0,0.2,1);
    --transition-slow: 400ms cubic-bezier(0.4,0,0.2,1);

    --max-width: 1200px;
    --header-height: 72px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
    font-family: var(--font-body); font-size: var(--fs-base);
    color: var(--text-primary); background: var(--bg-primary);
    line-height: 1.6; min-height: 100vh; overflow-x: hidden;
}

/* ===== HEADER ===== */
.header {
    position:fixed; top:0; left:0; right:0; height:var(--header-height);
    z-index:100; background:rgba(255,253,249,0.95);
    backdrop-filter:blur(20px); border-bottom:1px solid var(--border-color);
}
.header__inner {
    max-width:var(--max-width); margin:0 auto; padding:0 var(--space-xl);
    height:100%; display:flex; align-items:center; justify-content:space-between;
}
.logo-wrapper {
    display:flex; flex-direction:column; justify-content:center;
    text-decoration:none; transition:transform var(--transition-fast);
}
.logo-wrapper:hover { transform:scale(1.02); }
.logo {
    display:flex; align-items:center; gap:var(--space-sm);
    color:var(--brown-dark); font-family:var(--font-body);
    font-size:var(--fs-lg); font-weight:400;
}
.logo strong { font-weight:700; }
.logo__image { width:42px; height:42px; object-fit:contain; mix-blend-mode:multiply; }
.logo__slogan {
    font-size:0.75rem; color:var(--green); font-weight:600;
    margin-top:2px; margin-left:40px; line-height:1.2; letter-spacing:0.02em;
}
.nav { display:flex; align-items:center; gap:var(--space-xs); }
.nav__link {
    padding:var(--space-sm) var(--space-md); text-decoration:none;
    color:var(--text-secondary); font-size:var(--fs-sm); font-weight:500;
    border-radius:var(--radius-sm); transition:all var(--transition-fast); position:relative;
}
.nav__link:hover { color:var(--green); background:rgba(60,100,51,0.06); }
.nav__link.active { color:var(--green); background:rgba(60,100,51,0.08); }
.nav__link--cta {
    background:var(--accent-gradient) !important; color:#fff !important;
    padding:var(--space-sm) var(--space-lg); border-radius:var(--radius-full);
    font-weight:600;
}
.nav__link--cta:hover { transform:translateY(-1px); box-shadow:0 4px 12px var(--accent-glow); }
.nav__socials { display:flex; gap:var(--space-xs); align-items:center; margin-left:var(--space-sm); padding-left:var(--space-sm); border-left:1px solid var(--border-color); }
.nav__socials a { color:var(--text-muted); transition:all var(--transition-fast); display:flex; align-items:center; justify-content:center; padding:6px; border-radius:var(--radius-sm); }
.nav__socials a:hover { color:var(--green); background:rgba(60,100,51,0.06); transform:translateY(-1px); }

.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:var(--space-sm); }
.nav-toggle span {
    display:block; width:22px; height:2px; background:var(--text-primary);
    margin:5px 0; transition:all var(--transition-fast);
}

/* ===== MAIN ===== */
.main {
    position:relative; z-index:1; padding-top:var(--header-height);
}
.view--home { max-width:100%; }
.view--blog, .view--editor, .view--article {
    max-width:var(--max-width); margin:0 auto;
    padding:var(--space-xl); padding-bottom:var(--space-3xl);
}

/* ===== HERO ===== */
.hero {
    position:relative; display:grid; grid-template-columns:1fr 1fr;
    gap:var(--space-3xl); align-items:center;
    max-width:var(--max-width); margin:0 auto;
    padding:var(--space-4xl) var(--space-xl) var(--space-3xl);
    min-height:calc(100vh - var(--header-height));
}
.hero::before {
    content:''; position:absolute; top:0; right:0;
    width:55%; height:100%;
    background:linear-gradient(135deg, var(--cream) 0%, var(--cream-dark) 100%);
    border-radius:0 0 0 60px; z-index:-1;
}
.hero__title {
    font-family:var(--font-heading); font-size:var(--fs-5xl);
    font-weight:800; line-height:1.1; margin-bottom:var(--space-lg);
    color:var(--text-primary);
}
.hero__title em {
    color:var(--green); font-style:italic;
}
.hero__subtitle {
    font-size:var(--fs-lg); color:var(--text-secondary);
    line-height:1.7; margin-bottom:var(--space-xl); max-width:500px;
}
.btn {
    display:inline-flex; align-items:center; gap:var(--space-sm);
    padding:var(--space-md) var(--space-xl); font-family:var(--font-body);
    font-size:var(--fs-sm); font-weight:600; border:none;
    border-radius:var(--radius-sm); cursor:pointer;
    transition:all var(--transition-fast); text-decoration:none; white-space:nowrap;
}
.btn--primary {
    background:var(--accent-gradient); color:#fff;
    box-shadow:0 2px 8px var(--accent-glow);
}
.btn--primary:hover { transform:translateY(-2px); box-shadow:0 6px 20px var(--accent-glow); }
.btn--hero {
    padding:var(--space-lg) var(--space-2xl); font-size:var(--fs-base);
    border-radius:var(--radius-full);
}
.hero__note { font-size:var(--fs-sm); color:var(--green); margin-top:var(--space-md); font-weight:500; }

/* Hero Visual / Laptop */
.hero__visual { position:relative; display:flex; justify-content:center; align-items:center; }
.hero__laptop {
    width:100%; max-width:460px; background:var(--brown-dark);
    border-radius:var(--radius-lg); padding:8px;
    box-shadow:var(--shadow-xl); transform:perspective(800px) rotateY(-5deg);
    transition:transform var(--transition-slow);
}
.hero__laptop:hover { transform:perspective(800px) rotateY(0deg); }
.hero__screen {
    background:#fff; border-radius:var(--radius-sm); overflow:hidden;
}
.hero__screen-header {
    display:flex; gap:6px; padding:10px 14px;
    background:var(--cream); border-bottom:1px solid var(--border-color);
}
.hero__screen-dot {
    width:8px; height:8px; border-radius:50%;
    background:rgba(0,0,0,0.15);
}
.hero__screen-content { padding:var(--space-lg); }
.hero__screen-title {
    font-family:var(--font-heading); font-weight:700;
    font-size:var(--fs-lg); margin-bottom:var(--space-md); color:var(--brown-dark);
}
.hero__screen-stat { margin-bottom:var(--space-lg); }
.hero__screen-number {
    font-size:var(--fs-3xl); font-weight:800; color:var(--green);
}
.hero__screen-label {
    display:block; font-size:var(--fs-xs); color:var(--text-muted);
    text-transform:uppercase; letter-spacing:0.08em;
}
.hero__screen-bars {
    display:flex; align-items:flex-end; gap:8px; height:80px;
}
.hero__bar {
    flex:1; background:var(--cream-dark); border-radius:4px 4px 0 0;
    transition:height var(--transition-slow);
}
.hero__bar--accent { background:var(--green); }
.hero__float-card {
    position:absolute; bottom:20px; right:-10px;
    background:#fff; padding:var(--space-md) var(--space-lg);
    border-radius:var(--radius-md); box-shadow:var(--shadow-lg);
    border-left:3px solid var(--green);
    animation:floatCard 3s ease-in-out infinite;
}
.hero__float-title { font-size:var(--fs-sm); font-weight:600; color:var(--brown-dark); }
.hero__float-price { font-size:var(--fs-xl); font-weight:800; color:var(--green); }
@keyframes floatCard { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* ===== ABOUT / PILLARS ===== */
.about-section {
    padding:var(--space-4xl) var(--space-xl);
    background:var(--cream); text-align:center;
}
.about-header { max-width:900px; margin:0 auto var(--space-3xl); }
.about-title {
    font-family:var(--font-heading); font-size:var(--fs-4xl);
    font-weight:800; margin-bottom:var(--space-xl); color:var(--brown-dark);
}
.about-title em { color:var(--green); font-style:italic; }
.about-desc { 
    font-size:var(--fs-lg); color:var(--text-secondary); line-height:1.7; 
    text-align:left; background:#fff; padding:var(--space-2xl); 
    border-left:4px solid var(--green); border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm); margin-bottom:var(--space-2xl);
}
.about-desc p { margin-bottom:var(--space-md); }
.about-desc p:last-child { margin-bottom:0; }
.pillars-grid {
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:var(--space-xl); max-width:var(--max-width); margin:0 auto;
}
.pillar-card {
    background:#fff; border:1px solid var(--border-color);
    border-radius:var(--radius-lg); padding:var(--space-2xl) var(--space-xl);
    text-align:left; transition:all var(--transition-base); box-shadow:var(--shadow-sm);
}
.pillar-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--green); }
.pillar-card--highlight { background:linear-gradient(180deg, #f2f7f1 0%, #fff 100%); border-color:rgba(60,100,51,0.3); }
.pillar-card__icon { font-size:3rem; margin-bottom:var(--space-md); }
.pillar-card__title {
    font-family:var(--font-heading); font-size:var(--fs-2xl);
    font-weight:700; margin-bottom:var(--space-lg); color:var(--brown-dark);
}
.pillar-card__list { list-style:none; padding:0; }
.pillar-card__list li {
    font-size:var(--fs-base); color:var(--text-secondary); line-height:1.5;
    margin-bottom:var(--space-sm); display:flex; align-items:flex-start; gap:10px;
}
.pillar-card__list li::before {
    content:'✓'; color:var(--green); font-weight:bold;
}

/* ===== STATS SECTION ===== */
.stats-section {
    padding:var(--space-4xl) var(--space-xl); background:var(--bg-primary);
}
.stats-section__inner {
    max-width:var(--max-width); margin:0 auto;
    display:grid; grid-template-columns:minmax(auto, 420px); justify-content:center;
}
.stats-card {
    background:#fff; border:1px solid var(--border-color);
    border-radius:var(--radius-lg); padding:var(--space-xl);
    box-shadow:var(--shadow-md);
}
.stats-card__header { margin-bottom:var(--space-md); }
.stats-card__logo { font-size:var(--fs-sm); font-weight:600; color:var(--brown); }
.stats-card__title { font-family:var(--font-heading); font-size:var(--fs-xl); line-height:1.4; margin-bottom:var(--space-lg); }
.stats-card__title strong { color:var(--green); }
.stats-card__items { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-sm); margin-bottom:var(--space-lg); }
.stats-card__item {
    display:flex; justify-content:space-between; align-items:center;
    padding:var(--space-sm) var(--space-md); border-radius:var(--radius-sm);
    font-size:var(--fs-sm); font-weight:500; background:var(--cream);
}
.stat-change { font-weight:700; font-size:var(--fs-xs); }
.stat-change--up { color:#c0392b; }
.stat-change--down { color:var(--success); }
.stats-card__note { font-size:var(--fs-xs); color:var(--text-muted); line-height:1.5; }

.stats-gov__headline {
    font-family:var(--font-heading); font-size:var(--fs-2xl);
    line-height:1.4; margin-bottom:var(--space-2xl);
}
.stats-gov__headline strong { color:var(--green); font-size:var(--fs-4xl); }
.stats-gov__grid { display:flex; align-items:flex-end; gap:var(--space-xl); margin-bottom:var(--space-xl); height:200px; }
.stats-gov__item { flex:1; display:flex; flex-direction:column; align-items:center; height:100%; justify-content:flex-end; }
.stats-gov__bar-wrapper { width:100%; height:100%; display:flex; align-items:flex-end; justify-content:center; }
.stats-gov__bar {
    width:100%; border-radius:var(--radius-sm) var(--radius-sm) 0 0;
    background:var(--cream-dark); display:flex; align-items:flex-start;
    justify-content:center; padding-top:var(--space-sm);
    transition:height 1s ease-out;
}
.stats-gov__bar--accent { background:var(--green); color:#fff; }
.stats-gov__percent { font-size:var(--fs-sm); font-weight:800; }
.stats-gov__label { font-size:var(--fs-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; margin-top:var(--space-sm); color:var(--text-secondary); text-align:center; }
.stats-gov__note { font-size:var(--fs-sm); color:var(--text-secondary); line-height:1.6; }

/* ===== MARKET PRICES TIPO CORABASTOS ===== */
.market-section {
    padding:var(--space-4xl) var(--space-xl);
    background:var(--cream); text-align:center;
    border-top:1px solid rgba(80,50,28,0.1);
}
.market-header { margin-bottom:var(--space-2xl); }
.market-title {
    font-family:var(--font-heading); font-size:var(--fs-3xl);
    color:var(--brown-dark); display:flex; align-items:center; justify-content:center; gap:var(--space-md);
    flex-wrap:wrap;
}
.live-badge {
    font-family:var(--font-body); font-size:var(--fs-xs);
    background:rgba(60,100,51,0.1); color:var(--green);
    padding:6px 12px; border-radius:var(--radius-full); font-weight:700;
    letter-spacing:0.05em; display:inline-flex; align-items:center;
}
.market-subtitle { font-size:var(--fs-sm); color:var(--text-secondary); margin-top:var(--space-sm); }
.market-grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:var(--space-md); max-width:1000px; margin:0 auto;
}
.market-item {
    background:#fff; border:1px solid rgba(80,50,28,0.1);
    border-radius:var(--radius-md); padding:var(--space-lg);
    text-align:left; box-shadow:var(--shadow-sm);
    display:flex; flex-direction:column; gap:4px;
    transition:transform var(--transition-fast), box-shadow var(--transition-fast);
}
.market-item:hover {
    transform:translateY(-2px); box-shadow:var(--shadow-md);
}
.market-item__name { font-weight:700; color:var(--text-primary); font-size:var(--fs-lg); }
.market-item__category { font-size:var(--fs-xs); color:var(--text-muted); text-transform:uppercase; letter-spacing:0.05em; }
.market-item__price { font-size:var(--fs-2xl); color:var(--green); font-weight:800; margin-top:var(--space-sm); font-family:var(--font-heading); }
.market-item__unit { font-size:var(--fs-xs); color:var(--text-secondary); font-weight:500; }
.market-trend { font-size:var(--fs-sm); font-weight:700; display:flex; align-items:center; gap:4px; margin-top:var(--space-sm); padding-top:var(--space-xs); border-top:1px dashed var(--border-color); }
.market-trend--up { color:#c0392b; }
.market-trend--down { color:var(--green); }
.market-trend--neutral { color:var(--text-muted); }

/* ===== NEWSLETTER ===== */
.newsletter-section {
    background:linear-gradient(135deg, var(--cream) 0%, var(--cream-dark) 100%);
    padding:var(--space-4xl) var(--space-xl);
}
.newsletter-section__inner {
    max-width:var(--max-width); margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3xl); align-items:center;
}
.newsletter-section__title {
    font-family:var(--font-heading); font-size:var(--fs-4xl);
    font-weight:800; line-height:1.2; margin-bottom:var(--space-xl); color:var(--brown-dark);
}
.newsletter-section__title em { color:var(--green); }
.newsletter-box {
    background:#fff; border-radius:var(--radius-lg);
    padding:var(--space-xl); box-shadow:var(--shadow-md);
}
.newsletter-box__text { font-size:var(--fs-base); margin-bottom:var(--space-lg); color:var(--text-secondary); line-height:1.6; }
.newsletter-form { display:flex; gap:var(--space-sm); }
.newsletter-form__input {
    flex:1; padding:var(--space-md) var(--space-lg);
    border:1px solid var(--border-color); border-radius:var(--radius-full);
    font-family:var(--font-body); font-size:var(--fs-sm); outline:none;
    transition:border-color var(--transition-base);
}
.newsletter-form__input:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--accent-glow); }
.newsletter-form__btn { border-radius:var(--radius-full) !important; padding:var(--space-md) var(--space-xl); }
.newsletter-image-placeholder {
    background:linear-gradient(135deg, var(--green) 0%, var(--brown) 100%);
    border-radius:var(--radius-xl); height:300px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:#fff; font-size:var(--fs-lg);
}
.newsletter-image-placeholder span { font-size:4rem; margin-bottom:var(--space-md); }

/* ===== PARTNERS ===== */
.partners { padding:var(--space-2xl) var(--space-xl); border-top:1px solid var(--border-color); }
.partners__logos {
    max-width:var(--max-width); margin:0 auto;
    display:flex; justify-content:center; align-items:center;
    gap:var(--space-3xl); flex-wrap:wrap;
}
.partner-logo {
    font-size:var(--fs-sm); font-weight:700; color:var(--text-muted);
    letter-spacing:0.05em; text-transform:uppercase; opacity:0.6;
    transition:opacity var(--transition-fast);
}
.partner-logo:hover { opacity:1; }

/* ===== BLOG HERO ===== */
.blog-hero {
    text-align:center; padding:var(--space-3xl) 0 var(--space-xl);
    animation:fadeIn 0.6s ease-out;
}
.blog-hero__title {
    font-family:var(--font-heading); font-size:var(--fs-4xl);
    font-weight:800; color:var(--brown-dark); margin-bottom:var(--space-md);
}
.blog-hero__subtitle { font-size:var(--fs-lg); color:var(--text-secondary); max-width:600px; margin:0 auto; }

/* ===== SECTION HEADER ===== */
.section-header {
    display:flex; align-items:center; justify-content:space-between;
    gap:var(--space-xl); margin:var(--space-2xl) 0 var(--space-xl); flex-wrap:wrap;
}
.section-header__title { font-family:var(--font-heading); font-size:var(--fs-3xl); font-weight:700; color:var(--brown-dark); }

/* ===== SEARCH ===== */
.search-bar { position:relative; min-width:280px; }
.search-bar__icon { position:absolute; left:var(--space-md); top:50%; transform:translateY(-50%); color:var(--text-muted); pointer-events:none; }
.search-bar__input {
    width:100%; padding:var(--space-sm) var(--space-md) var(--space-sm) 44px;
    background:var(--bg-card); border:1px solid var(--border-color);
    border-radius:var(--radius-full); color:var(--text-primary);
    font-size:var(--fs-sm); font-family:var(--font-body); outline:none;
    transition:all var(--transition-base);
}
.search-bar__input:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--accent-glow); }

/* ===== CATEGORIES ===== */
.categories { display:flex; gap:var(--space-sm); flex-wrap:wrap; margin-bottom:var(--space-2xl); }
.category-btn {
    padding:var(--space-sm) var(--space-lg); background:transparent;
    border:1px solid var(--border-color); border-radius:var(--radius-full);
    color:var(--text-secondary); font-size:var(--fs-sm); font-family:var(--font-body);
    font-weight:500; cursor:pointer; transition:all var(--transition-fast);
}
.category-btn:hover { color:var(--green); border-color:var(--green); }
.category-btn.active { color:#fff; background:var(--green); border-color:var(--green); }

/* ===== ARTICLE GRID ===== */
.article-grid { display:grid; grid-template-columns:1fr; gap:var(--space-xl); }
.article-card {
    background:var(--bg-card); border:1px solid var(--border-color);
    border-radius:var(--radius-lg); overflow:hidden; cursor:pointer;
    transition:all var(--transition-base); display:grid;
    grid-template-columns:1fr 1fr; min-height:280px;
}
.article-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--border-hover); }
.article-card__cover { width:100%; height:100%; min-height:280px; object-fit:cover; }
.article-card__body { padding:var(--space-xl) var(--space-2xl); display:flex; flex-direction:column; justify-content:center; }
.article-card__meta { display:flex; align-items:center; gap:var(--space-sm); margin-bottom:var(--space-sm); }
.article-card__category {
    font-size:var(--fs-xs); font-weight:600; text-transform:uppercase;
    letter-spacing:0.08em; color:var(--green);
    background:rgba(60,100,51,0.08); padding:2px 10px; border-radius:var(--radius-full);
}
.article-card__date { font-size:var(--fs-xs); color:var(--text-muted); }
.article-card__title {
    font-family:var(--font-heading); font-size:var(--fs-2xl); font-weight:700;
    margin-bottom:var(--space-sm); line-height:1.3; color:var(--brown-dark);
}
.article-card__excerpt { font-size:var(--fs-base); color:var(--text-secondary); line-height:1.7; flex:1; margin-bottom:var(--space-md); }
.article-card__footer { display:flex; align-items:center; justify-content:space-between; padding-top:var(--space-md); border-top:1px solid var(--border-color); }
.article-card__read { font-size:var(--fs-sm); color:var(--green); font-weight:600; display:flex; align-items:center; gap:var(--space-xs); }
.article-card:hover .article-card__read { gap:var(--space-sm); }
.article-card__actions { display:flex; gap:var(--space-xs); }
.article-card__action-btn {
    width:32px; height:32px; display:flex; align-items:center; justify-content:center;
    background:transparent; border:1px solid var(--border-color);
    border-radius:var(--radius-sm); color:var(--text-muted); cursor:pointer;
    transition:all var(--transition-fast); font-size:var(--fs-sm);
}
.article-card__action-btn:hover { color:var(--text-primary); background:var(--bg-secondary); }
.article-card__action-btn--delete:hover { color:var(--danger); border-color:var(--danger); }

/* ===== EMPTY STATE ===== */
.empty-state { text-align:center; padding:var(--space-3xl) var(--space-xl); }
.empty-state__icon { font-size:4rem; margin-bottom:var(--space-lg); }
.empty-state__title { font-family:var(--font-heading); font-size:var(--fs-2xl); font-weight:700; margin-bottom:var(--space-sm); color:var(--brown-dark); }
.empty-state__text { color:var(--text-secondary); margin-bottom:var(--space-xl); }

/* ===== BUTTONS ===== */
.btn--secondary { background:transparent; color:var(--text-primary); border:1px solid var(--border-color); }
.btn--secondary:hover { background:var(--bg-secondary); border-color:var(--border-hover); }
.btn--ghost { background:transparent; color:var(--text-secondary); }
.btn--ghost:hover { color:var(--text-primary); background:var(--bg-secondary); }
.btn--danger { background:rgba(192,57,43,0.08); color:var(--danger); border:1px solid rgba(192,57,43,0.2); }
.btn--danger:hover { background:rgba(192,57,43,0.15); }
.btn--full { width:100%; justify-content:center; }

/* ===== AUTH ===== */
.btn-auth {
    width:38px; height:38px; display:flex; align-items:center; justify-content:center;
    background:transparent; border:1px solid var(--border-color);
    border-radius:var(--radius-sm); color:var(--text-muted); cursor:pointer;
    transition:all var(--transition-fast); margin-left:var(--space-sm);
}
.btn-auth:hover { color:var(--green); border-color:var(--green); background:rgba(60,100,51,0.06); }
.btn-auth--logout:hover { color:var(--danger); border-color:var(--danger); background:rgba(192,57,43,0.06); }

/* ===== LOGIN MODAL ===== */
.modal--login { max-width:420px; }
.login-error { padding:var(--space-sm) var(--space-md); background:rgba(192,57,43,0.06); border:1px solid rgba(192,57,43,0.2); border-radius:var(--radius-sm); color:var(--danger); font-size:var(--fs-sm); margin-bottom:var(--space-md); }

/* ===== LOADING ===== */
.loading-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:var(--space-3xl) 0; gap:var(--space-lg); color:var(--text-muted); font-size:var(--fs-sm); }
.loading-spinner { width:40px; height:40px; border:3px solid var(--border-color); border-top-color:var(--green); border-radius:50%; animation:spin 0.8s linear infinite; }
.loading-spinner--small { width:16px; height:16px; border-width:2px; display:inline-block; vertical-align:middle; }
@keyframes spin { to { transform:rotate(360deg); } }

/* ===== EDITOR ===== */
.editor { max-width:800px; margin:0 auto; animation:fadeInUp 0.5s ease-out; }
.editor__heading { font-family:var(--font-heading); font-size:var(--fs-3xl); font-weight:700; margin-bottom:var(--space-2xl); color:var(--brown-dark); }
.form-group { margin-bottom:var(--space-lg); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); }
.form-label { display:block; font-size:var(--fs-sm); font-weight:600; color:var(--text-secondary); margin-bottom:var(--space-sm); text-transform:uppercase; letter-spacing:0.05em; }
.form-input { width:100%; padding:var(--space-md); background:var(--bg-input); border:1px solid var(--border-color); border-radius:var(--radius-sm); color:var(--text-primary); font-size:var(--fs-base); font-family:var(--font-body); outline:none; transition:all var(--transition-base); }
.form-input::placeholder { color:var(--text-muted); }
.form-input:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--accent-glow); }
.editor-toolbar { display:flex; gap:var(--space-xs); margin-bottom:var(--space-sm); padding:var(--space-sm); background:var(--bg-secondary); border:1px solid var(--border-color); border-bottom:none; border-radius:var(--radius-sm) var(--radius-sm) 0 0; }
.toolbar-btn { padding:var(--space-xs) var(--space-sm); background:transparent; border:1px solid transparent; border-radius:4px; color:var(--text-secondary); font-family:var(--font-body); font-size:var(--fs-sm); cursor:pointer; transition:all var(--transition-fast); }
.toolbar-btn:hover { color:var(--green); background:rgba(60,100,51,0.06); border-color:var(--border-color); }
.form-textarea { width:100%; padding:var(--space-lg); background:var(--bg-input); border:1px solid var(--border-color); border-top:none; border-radius:0 0 var(--radius-sm) var(--radius-sm); color:var(--text-primary); font-size:var(--fs-base); font-family:var(--font-body); outline:none; resize:vertical; line-height:1.8; min-height:350px; }
.form-textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--accent-glow); }
.editor__actions { display:flex; gap:var(--space-md); justify-content:flex-end; padding-top:var(--space-xl); }

/* ===== MODAL ===== */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.4); backdrop-filter:blur(8px); z-index:200; display:flex; align-items:center; justify-content:center; padding:var(--space-xl); animation:fadeIn 0.2s ease-out; }
.modal { background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius-lg); width:100%; max-width:720px; max-height:80vh; overflow:hidden; display:flex; flex-direction:column; animation:slideUp 0.3s ease-out; box-shadow:var(--shadow-lg); }
.modal__header { display:flex; align-items:center; justify-content:space-between; padding:var(--space-lg) var(--space-xl); border-bottom:1px solid var(--border-color); }
.modal__header h3 { font-family:var(--font-heading); font-size:var(--fs-lg); font-weight:700; }
.modal__close { width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid var(--border-color); border-radius:var(--radius-sm); color:var(--text-secondary); font-size:var(--fs-xl); cursor:pointer; }
.modal__close:hover { color:var(--text-primary); background:var(--bg-secondary); }
.modal__body { padding:var(--space-xl); overflow-y:auto; }

/* ===== ARTICLE VIEW ===== */
.article-view { max-width:760px; margin:0 auto; animation:fadeInUp 0.5s ease-out; }
.article-view__back { display:inline-flex; align-items:center; gap:var(--space-sm); color:var(--green); text-decoration:none; font-size:var(--fs-sm); font-weight:500; margin-bottom:var(--space-2xl); background:none; border:none; cursor:pointer; font-family:var(--font-body); }
.article-view__back:hover { gap:var(--space-md); }
.article-view__meta { display:flex; align-items:center; gap:var(--space-md); margin-bottom:var(--space-lg); }
.article-view__category { font-size:var(--fs-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; padding:var(--space-xs) var(--space-md); background:rgba(60,100,51,0.08); border:1px solid rgba(60,100,51,0.15); border-radius:var(--radius-full); color:var(--green); }
.article-view__date { font-size:var(--fs-sm); color:var(--text-muted); }
.article-view__title { font-family:var(--font-heading); font-size:var(--fs-4xl); font-weight:800; line-height:1.15; margin-bottom:var(--space-xl); color:var(--brown-dark); }
.article-view__cover { width:100%; max-height:400px; object-fit:cover; border-radius:var(--radius-md); margin-bottom:var(--space-2xl); border:1px solid var(--border-color); }
.article-view__content { font-size:var(--fs-lg); line-height:1.85; color:var(--text-secondary); }
.article-view__content h2 { font-family:var(--font-heading); font-size:var(--fs-2xl); font-weight:700; color:var(--text-primary); margin:var(--space-2xl) 0 var(--space-md); }
.article-view__content h3 { font-family:var(--font-heading); font-size:var(--fs-xl); font-weight:600; color:var(--text-primary); margin:var(--space-xl) 0 var(--space-md); }
.article-view__content p { margin-bottom:var(--space-lg); }
.article-view__content strong { color:var(--text-primary); font-weight:600; }
.article-view__content blockquote { margin:var(--space-xl) 0; padding:var(--space-lg) var(--space-xl); border-left:3px solid var(--green); background:var(--bg-secondary); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic; }
.article-view__content a { color:var(--green); text-decoration:underline; }
.article-view__content a:hover { color:var(--brown); }
.article-view__content ul, .article-view__content ol { margin-bottom:var(--space-lg); padding-left:var(--space-xl); }
.article-view__content li { margin-bottom:var(--space-sm); }
.article-view__actions { display:flex; gap:var(--space-md); margin-top:var(--space-2xl); padding-top:var(--space-xl); border-top:1px solid var(--border-color); }

/* ===== TOAST ===== */
.toast-container { position:fixed; bottom:var(--space-xl); right:var(--space-xl); z-index:1000; display:flex; flex-direction:column-reverse; gap:var(--space-sm); }
.toast { padding:var(--space-md) var(--space-xl); background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius-sm); color:var(--text-primary); font-size:var(--fs-sm); font-weight:500; box-shadow:var(--shadow-lg); animation:slideInRight 0.3s ease-out; display:flex; align-items:center; gap:var(--space-sm); min-width:250px; }
.toast--success { border-left:3px solid var(--success); }
.toast--error { border-left:3px solid var(--danger); }
.toast--info { border-left:3px solid var(--green); }
.toast.toast--exit { animation:slideOutRight 0.3s ease-out forwards; }

/* ===== FOOTER ===== */
.footer { background:var(--brown-dark); color:rgba(255,255,255,0.7); }
.footer__inner { max-width:var(--max-width); margin:0 auto; padding:var(--space-2xl) var(--space-xl); }
.footer__top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:var(--space-xl); flex-wrap:wrap; gap:var(--space-xl); }
.footer__logo { font-family:var(--font-heading); font-size:var(--fs-xl); font-weight:700; color:#fff; }
.footer__tagline { font-size:var(--fs-sm); margin-top:var(--space-xs); color:rgba(255,255,255,0.5); }
.footer__links { display:flex; gap:var(--space-xl); }
.footer__links a { color:rgba(255,255,255,0.6); text-decoration:none; font-size:var(--fs-sm); transition:color var(--transition-fast); }
.footer__links a:hover { color:#fff; }
.footer__bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-md); padding-top:var(--space-lg); border-top:1px solid rgba(255,255,255,0.1); font-size:var(--fs-xs); }
.footer__socials { display:flex; gap:var(--space-md); align-items:center; }
.footer__socials a { color:rgba(255,255,255,0.6); transition:all var(--transition-fast); display:flex; align-items:center; justify-content:center; }
.footer__socials a:hover { color:#fff; transform:translateY(-2px); }

/* ===== ANIMATIONS ===== */
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideUp { from{opacity:0;transform:translateY(30px) scale(0.97)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes slideInRight { from{opacity:0;transform:translateX(80px)} to{opacity:1;transform:translateX(0)} }
@keyframes slideOutRight { from{opacity:1;transform:translateX(0)} to{opacity:0;transform:translateX(80px)} }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
    .hero { grid-template-columns:1fr; gap:var(--space-2xl); padding:var(--space-3xl) var(--space-xl) var(--space-2xl); min-height:auto; }
    .hero::before { width:100%; height:50%; top:auto; bottom:0; border-radius:0; }
    .hero__visual { order:-1; }
    .pillars-grid { grid-template-columns:repeat(2,1fr); }
    .stats-section__inner { grid-template-columns:1fr; }
    .newsletter-section__inner { grid-template-columns:1fr; }
    .newsletter-section__image { display:none; }
}
@media (max-width:768px) {
    :root { --fs-5xl:2.25rem; --fs-4xl:2rem; --fs-3xl:1.5rem; }
    .nav { display:none; position:fixed; top:var(--header-height); left:0; right:0; background:#fff; flex-direction:column; padding:var(--space-lg); border-bottom:1px solid var(--border-color); box-shadow:var(--shadow-md); }
    .nav.nav--open { display:flex; }
    .nav-toggle { display:block; }
    .nav__socials { border-left:none; margin-left:0; padding-left:0; margin-top:var(--space-md); justify-content:center; width:100%; border-top:1px solid var(--border-color); padding-top:var(--space-md); }
    .hero { padding:var(--space-2xl) var(--space-md); }
    .article-card { grid-template-columns:1fr; }
    .article-card__cover { min-height:200px; max-height:220px; }
    .section-header { flex-direction:column; align-items:flex-start; }
    .search-bar { width:100%; }
    .form-row { grid-template-columns:1fr; }
    .stats-gov__grid { height:150px; gap:var(--space-md); }
    .newsletter-form { flex-direction:column; }
    .pillars-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
    .logo__text { font-size:var(--fs-sm); }
    .hero__float-card { display:none; }
    .partners__logos { gap:var(--space-lg); }
}

/* Scrollbar */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background:var(--bg-secondary); }
::-webkit-scrollbar-thumb { background:rgba(60,100,51,0.2); border-radius:var(--radius-full); }
::-webkit-scrollbar-thumb:hover { background:rgba(60,100,51,0.35); }
::selection { background:rgba(60,100,51,0.2); color:var(--text-primary); }

