/*
Theme Name: APCG - Crítica Genética
Theme URI: https://apcg.org.br
Author: APCG
Description: Tema oficial da Associação de Pesquisadores em Crítica Genética
Version: 2.0
License: GNU General Public License v2 or later
Text Domain: apcg
*/

/* ── TOKENS ── */
:root {
  --black:   #111111;
  --dark:    #1C1C1C;
  --gray:    #555555;
  --light:   #F5F5F5;
  --line:    #E5E5E5;
  --white:   #FFFFFF;
  --mustard: #C4973A;
  --mustard2:#A67C2A;
  --serif:   'Lora', Georgia, serif;
  --sans:    'Inter', system-ui, sans-serif;
  --mono:    'JetBrains Mono', monospace;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--white); color: var(--black); font-family: var(--sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

/* ── HEADER ── */
#site-header { position: sticky; top: 0; z-index: 200; background: var(--white); box-shadow: 0 1px 0 var(--line); }
.hd-util { background: var(--black); height: 30px; display: flex; align-items: center; justify-content: flex-end; padding: 0 2.5rem; }
.hd-lang { display: flex; height: 100%; }
.lang-btn { font-family: var(--mono); font-size: .58rem; font-weight: 500; color: rgba(255,255,255,.38); letter-spacing: .14em; text-transform: uppercase; padding: 0 12px; height: 100%; display: flex; align-items: center; border-left: 1px solid rgba(255,255,255,.08); transition: color .15s, background .15s; cursor: pointer; }
.lang-btn:last-child { border-right: 1px solid rgba(255,255,255,.08); }
.lang-btn:hover, .lang-btn.on { color: var(--black); background: var(--mustard); font-weight: 600; }
.hd-brand { padding: .9rem 2.5rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.site-logo { cursor: pointer; display: flex; align-items: center; }
.site-logo img { height: 46px; }
.hd-search { display: flex; align-items: center; gap: 8px; border-bottom: 1.5px solid #CCC; padding: 4px 0; transition: border-color .2s; }
.hd-search:focus-within { border-color: var(--black); }
.hd-search input { background: none; border: none; outline: none; font-family: var(--sans); font-size: .8rem; font-weight: 300; color: var(--black); width: 200px; }
.hd-search input::placeholder { color: #BBB; }
.hd-nav { border-top: 1px solid var(--line); border-bottom: 2px solid var(--black); }
.hd-nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 2.5rem; display: flex; align-items: center; justify-content: space-between; }
#site-nav ul { list-style: none; display: flex; }
#site-nav a { font-family: var(--sans); font-size: .7rem; font-weight: 400; color: #888; letter-spacing: .07em; text-transform: uppercase; padding: .6rem 1rem; display: block; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; }
#site-nav a:hover { color: var(--mustard); }
#site-nav a.current-menu-item, #site-nav a:focus { color: var(--black); border-bottom-color: var(--mustard); font-weight: 500; }
.hd-tagline { font-family: var(--serif); font-size: .8rem; font-style: italic; color: #CCC; white-space: nowrap; }
.hamburger { display: none; flex-direction: column; gap: 5px; padding: .5rem; background: none; border: none; cursor: pointer; }
.hamburger span { width: 22px; height: 1.5px; background: #888; display: block; }

/* ── CONGRESSO ── */
.congresso-banner { position: relative; overflow: hidden; min-height: 500px; display: flex; align-items: center; }
.congresso-banner .cong-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.congresso-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,17,17,.94) 0%, rgba(17,17,17,.78) 50%, rgba(17,17,17,.15) 100%); }
.cong-body { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 3.5rem 2.5rem; width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.cong-eye { font-family: var(--mono); font-size: .6rem; font-weight: 500; color: var(--mustard); letter-spacing: .22em; text-transform: uppercase; display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.cong-eye::before { content: ''; width: 24px; height: 1px; background: var(--mustard); display: inline-block; }
.cong-titulo { font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.6rem); font-weight: 600; font-style: italic; color: #fff; line-height: 1.2; margin-bottom: .5rem; }
.cong-sub { font-family: var(--serif); font-size: clamp(.95rem, 1.5vw, 1.2rem); font-style: italic; color: var(--mustard); margin-bottom: 1.4rem; }
.cong-meta { font-family: var(--sans); font-size: .82rem; color: rgba(255,255,255,.55); font-weight: 300; display: flex; gap: 2rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.cong-meta strong { color: rgba(255,255,255,.88); font-weight: 400; }
.cong-btns { display: flex; gap: .75rem; flex-wrap: wrap; }
.btn-primary { font-family: var(--sans); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--black); background: var(--mustard); padding: .62rem 1.6rem; border-radius: 2px; cursor: pointer; display: inline-block; transition: background .18s; }
.btn-primary:hover { background: var(--mustard2); }
.btn-outline { font-family: var(--sans); font-size: .72rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.3); padding: .62rem 1.6rem; border-radius: 2px; cursor: pointer; display: inline-block; transition: border-color .18s, color .18s; }
.btn-outline:hover { border-color: var(--mustard); color: var(--mustard); }
.cd-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; text-align: center; }
.cd-unit { background: rgba(17,17,17,.7); border: 1px solid rgba(196,151,58,.25); border-radius: 2px; padding: .9rem .5rem; }
.cd-num { font-family: var(--serif); font-size: 1.9rem; font-style: italic; font-weight: 600; color: var(--mustard); display: block; line-height: 1; }
.cd-lbl { font-family: var(--mono); font-size: .5rem; color: rgba(255,255,255,.3); text-transform: uppercase; letter-spacing: .12em; display: block; margin-top: .3rem; }

/* ── TICKER ── */
.ticker-wrap { background: var(--black); height: 32px; overflow: hidden; display: flex; align-items: center; }
.ticker { display: flex; gap: 3rem; white-space: nowrap; animation: tick 30s linear infinite; padding-left: 100%; }
@keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker span { font-family: var(--mono); font-size: .6rem; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .1em; }
.tk-sep { color: var(--mustard) !important; }

/* ── SEÇÕES ── */
.section { max-width: 1200px; margin: 0 auto; padding: 3rem 2.5rem; }
.sec-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--black); padding-bottom: .6rem; margin-bottom: 2.2rem; }
.sec-title { font-family: var(--serif); font-size: 1.45rem; font-weight: 400; font-style: italic; }
.sec-link { font-family: var(--mono); font-size: .6rem; color: #AAA; letter-spacing: .12em; text-transform: uppercase; transition: color .15s; background: none; border: none; cursor: pointer; }
.sec-link:hover { color: var(--mustard); }

/* ── BLOG ── */
.blog-hero { position: relative; overflow: hidden; cursor: pointer; }
.blog-hero-img { height: 480px; overflow: hidden; position: relative; }
.blog-hero-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.blog-hero:hover .blog-hero-img img { transform: scale(1.02); }
.blog-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(17,17,17,.88) 0%, rgba(17,17,17,.35) 55%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 2.5rem 3rem; }
.blog-tag { font-family: var(--mono); font-size: .6rem; font-weight: 500; text-transform: uppercase; letter-spacing: .18em; color: var(--black); background: var(--mustard); padding: .22rem .7rem; border-radius: 1px; display: inline-block; margin-bottom: .9rem; width: fit-content; }
.blog-hero-title { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 600; font-style: italic; color: #fff; line-height: 1.22; margin-bottom: .75rem; }
.blog-hero-resumo { font-family: var(--sans); font-size: .88rem; font-weight: 300; color: rgba(255,255,255,.72); max-width: 680px; margin-bottom: 1.2rem; line-height: 1.65; }
.blog-leia { font-family: var(--sans); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--mustard); border-bottom: 1px solid rgba(196,151,58,.4); padding-bottom: 2px; display: inline-block; }
.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.8rem; }
.blog-card { cursor: pointer; background: var(--white); border: 1px solid var(--line); border-radius: 2px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .25s, border-color .25s, transform .25s; }
.blog-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.09); border-color: var(--mustard); transform: translateY(-3px); }
.blog-card-img { height: 195px; overflow: hidden; }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.blog-card:hover .blog-card-img img { transform: scale(1.04); }
.blog-card-body { padding: 1.3rem; flex: 1; display: flex; flex-direction: column; gap: .5rem; }
.blog-card-title { font-family: var(--serif); font-size: 1.02rem; font-weight: 600; color: var(--black); line-height: 1.35; flex: 1; }
.blog-card-resumo { font-family: var(--sans); font-size: .8rem; font-weight: 300; color: var(--gray); line-height: 1.65; }
.blog-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: .5rem; padding-top: .7rem; border-top: 1px solid var(--line); }
.blog-card-data { font-family: var(--mono); font-size: .62rem; color: #BBB; text-transform: uppercase; letter-spacing: .1em; }
.blog-leia-sm { font-family: var(--sans); font-size: .7rem; font-weight: 500; color: var(--mustard); }

/* ── PÁGINAS INTERNAS ── */
.pg-hero { background: var(--black); padding: 3rem 2.5rem 2.5rem; position: relative; }
.pg-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--mustard); }
.pg-hero-inner { max-width: 1200px; margin: 0 auto; }
.pg-kicker { font-family: var(--mono); font-size: .6rem; color: var(--mustard); text-transform: uppercase; letter-spacing: .22em; display: flex; align-items: center; gap: .5rem; margin-bottom: .7rem; }
.pg-kicker::before { content: ''; width: 16px; height: 1px; background: var(--mustard); display: inline-block; }
.pg-h1 { font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 400; font-style: italic; color: #fff; line-height: 1.15; }
.pg-body { max-width: 1200px; margin: 0 auto; padding: 2.5rem; }
.prose p { margin-bottom: 1.1rem; font-size: .97rem; color: #444; font-weight: 300; line-height: 1.8; }
.prose h3 { font-family: var(--serif); font-size: 1.12rem; font-style: italic; color: var(--black); margin: 2rem 0 .6rem; padding-left: .9rem; border-left: 3px solid var(--mustard); }

/* ── EVENTOS ── */
.ev-list { display: flex; flex-direction: column; gap: .85rem; }
.ev { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.2rem 1.4rem; border: 1px solid var(--line); background: var(--white); border-radius: 2px; transition: border-color .2s; }
.ev:hover { border-color: var(--mustard); }
.ev-cal { min-width: 56px; text-align: center; background: var(--black); color: #fff; border-radius: 2px; padding: .45rem .3rem; font-family: var(--sans); flex-shrink: 0; }
.ev-d { font-size: 1.55rem; font-weight: 600; line-height: 1; }
.ev-m { font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; opacity: .7; }
.ev-info h4 { font-family: var(--serif); font-size: 1rem; font-weight: 600; margin-bottom: .2rem; }
.ev-info p { font-family: var(--sans); font-size: .78rem; color: var(--gray); font-weight: 300; }

/* ── PUBLICAÇÕES ── */
.pub-list { display: flex; flex-direction: column; gap: .75rem; }
.pub { display: flex; gap: 1.2rem; align-items: center; padding: 1rem 1.2rem; border: 1px solid var(--line); background: var(--white); border-radius: 2px; transition: border-color .2s; }
.pub:hover { border-color: var(--mustard); }
.pub-n { font-family: var(--serif); font-size: 1.7rem; font-style: italic; color: var(--mustard); opacity: .6; min-width: 2.2rem; line-height: 1; }
.pub strong { font-family: var(--serif); font-size: .95rem; font-weight: 600; display: block; margin-bottom: .15rem; }
.pub span { font-family: var(--sans); font-size: .75rem; color: var(--gray); font-weight: 300; }

/* ── CRÍTICA GENÉTICA ── */
.cg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1.5rem; }
.cg-card { background: var(--light); border-radius: 2px; padding: 1.5rem; border-left: 3px solid var(--mustard); }
.cg-card h4 { font-family: var(--serif); font-size: 1.05rem; font-style: italic; margin-bottom: .6rem; }
.cg-card p { font-family: var(--sans); font-size: .82rem; color: var(--gray); font-weight: 300; line-height: 1.7; }

/* ── FOOTER ── */
footer { background: var(--black); border-top: 2px solid var(--mustard); padding: 3rem 2.5rem 1.5rem; margin-top: 4rem; }
.ft-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2.5rem; margin-bottom: 2.5rem; }
.ft-logo { margin-bottom: .9rem; }
.ft-logo img { height: 32px; filter: brightness(0) invert(1); opacity: .85; }
.ft-about { font-family: var(--sans); font-size: .78rem; color: #AAA; font-weight: 300; line-height: 1.65; }
.ft-email { color: #666; font-size: .72rem; margin-top: .6rem; }
.ft-col h4 { font-family: var(--mono); font-size: .6rem; font-weight: 500; text-transform: uppercase; letter-spacing: .18em; color: var(--mustard); margin-bottom: .85rem; }
.ft-col ul { list-style: none; }
.ft-col li { margin-bottom: .45rem; }
.ft-col a { font-family: var(--sans); font-size: .78rem; color: #888; font-weight: 300; transition: color .15s; cursor: pointer; }
.ft-col a:hover { color: var(--mustard); }
.ft-bar { max-width: 1200px; margin: 0 auto; padding-top: 1.2rem; border-top: 1px solid #2A2A2A; font-family: var(--mono); font-size: .6rem; color: #555; display: flex; justify-content: space-between; align-items: center; }

/* ── MODAL ── */
.noticia-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.noticia-modal-bg { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.noticia-modal-inner { position: relative; z-index: 2; background: var(--white); border-radius: 2px; max-width: 740px; width: 100%; max-height: 88vh; overflow-y: auto; box-shadow: 0 24px 64px rgba(0,0,0,.3); }
.noticia-close { position: sticky; top: 0; float: right; background: var(--white); border: none; cursor: pointer; font-size: 1rem; color: #AAA; padding: .75rem 1rem; z-index: 3; }
.noticia-close:hover { color: var(--mustard); }
.noticia-modal-img { width: 100%; height: 260px; object-fit: cover; display: block; }
.noticia-modal-body { padding: 2rem 2.5rem 2.5rem; }
.noticia-modal-titulo { font-family: var(--serif); font-size: 1.45rem; font-weight: 600; font-style: italic; color: var(--black); line-height: 1.3; margin: .8rem 0 .4rem; }
.noticia-modal-data { font-family: var(--mono); font-size: .62rem; color: #BBB; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 1.2rem; }
.noticia-modal-texto { font-family: var(--sans); font-size: .9rem; font-weight: 300; color: #444; line-height: 1.8; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) { .ft-inner { grid-template-columns: 1fr 1fr; } .cong-body { grid-template-columns: 1fr; } }
@media(max-width:860px)  { .blog-grid { grid-template-columns: 1fr; } .cg-grid { grid-template-columns: 1fr; } }
@media(max-width:640px)  {
  .hd-brand { padding: .8rem 1.5rem; } .hd-util { padding: 0 1.5rem; } .hd-nav-inner { padding: 0 1.5rem; }
  #site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--black); padding: 1rem 1.5rem; border-top: 1px solid #333; }
  #site-nav.open { display: block; }
  #site-nav ul { flex-direction: column; }
  .hamburger { display: flex; }
  .hd-search { display: none; } .hd-tagline { display: none; }
  .blog-hero-img { height: 320px; } .blog-hero-overlay { padding: 1.5rem; }
  .section { padding: 2rem 1.5rem; } .pg-body { padding: 2rem 1.5rem; } .pg-hero { padding: 2rem 1.5rem; } .cong-body { padding: 2rem 1.5rem; }
  .ft-inner { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .ticker, .blog-card, .blog-hero-img img { transition: none; animation: none; } }

/* ── LINKS DOS CARDS ── */
.blog-hero-link,
.blog-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.blog-card-link:hover .blog-card-title { color: var(--mustard); }
.blog-hero-link:hover .blog-hero-img img { transform: scale(1.02); }

/* ── SINGLE POST ── */
.single-main { background: var(--white); }
.single-container { max-width: 780px; margin: 0 auto; padding: 0 2.5rem 4rem; }
.single-hero-img { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; height: 420px; overflow: hidden; margin-bottom: 0; }
.single-hero-img img { width: 100%; height: 100%; object-fit: cover; }
.single-header { padding: 2.5rem 0 1.5rem; border-bottom: 1px solid var(--line); margin-bottom: 2rem; }
.single-title { font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 600; font-style: italic; color: var(--black); line-height: 1.22; margin: .8rem 0 1rem; }
.single-meta { display: flex; align-items: center; gap: 1.5rem; }
.single-data { font-family: var(--mono); font-size: .65rem; color: #BBB; text-transform: uppercase; letter-spacing: .1em; }
.single-author { font-family: var(--sans); font-size: .78rem; color: #AAA; font-weight: 300; }
.single-content { font-family: var(--serif); font-size: 1.05rem; line-height: 1.85; color: #333; }
.single-content p { margin-bottom: 1.4rem; }
.single-content h2 { font-family: var(--serif); font-size: 1.4rem; font-style: italic; color: var(--black); margin: 2.5rem 0 .8rem; padding-left: .9rem; border-left: 3px solid var(--mustard); }
.single-content h3 { font-family: var(--serif); font-size: 1.15rem; font-style: italic; color: var(--black); margin: 2rem 0 .6rem; }
.single-content img { max-width: 100%; border-radius: 2px; margin: 1.5rem auto; }
.single-content a { color: var(--mustard); border-bottom: 1px solid rgba(196,151,58,.3); }
.single-content a:hover { border-color: var(--mustard); }
.single-content blockquote { border-left: 3px solid var(--mustard); padding: 1rem 1.5rem; margin: 2rem 0; background: var(--light); font-style: italic; }
.single-footer { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.single-back { font-family: var(--sans); font-size: .8rem; color: var(--gray); font-weight: 400; transition: color .15s; }
.single-back:hover { color: var(--mustard); }

/* ── PAGINATION ── */
.pagination { margin-top: 2.5rem; display: flex; justify-content: center; }
.pagination .nav-links { display: flex; gap: .5rem; }
.pagination .page-numbers { font-family: var(--mono); font-size: .72rem; color: #888; padding: .45rem .85rem; border: 1px solid var(--line); border-radius: 2px; transition: color .15s, border-color .15s, background .15s; }
.pagination .page-numbers:hover { color: var(--black); border-color: var(--mustard); }
.pagination .page-numbers.current { color: var(--black); background: var(--mustard); border-color: var(--mustard); }

/* ── SEARCH FORM ── */
.search-form { display: flex; gap: 8px; margin-top: 1rem; }
.search-form .search-field { font-family: var(--sans); font-size: .85rem; font-weight: 300; color: var(--black); border: 1px solid var(--line); border-radius: 2px; padding: .5rem .85rem; outline: none; width: 100%; transition: border-color .2s; }
.search-form .search-field:focus { border-color: var(--mustard); }
.search-form .search-submit { font-family: var(--sans); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--black); background: var(--mustard); border: none; padding: .5rem 1.2rem; border-radius: 2px; cursor: pointer; transition: background .18s; }
.search-form .search-submit:hover { background: var(--mustard2); }

/* ── PROSE CONTENT (páginas estáticas) ── */
.prose h1, .prose h2 { font-family: var(--serif); font-style: italic; color: var(--black); margin: 1.8rem 0 .6rem; }
.prose h2 { font-size: 1.3rem; padding-left: .9rem; border-left: 3px solid var(--mustard); }
.prose a { color: var(--mustard); }
.prose ul, .prose ol { margin: .8rem 0 1.2rem 1.5rem; }
.prose li { font-family: var(--sans); font-size: .97rem; color: #444; font-weight: 300; margin-bottom: .4rem; }

/* ── LISTA DE POSTS (home) ── */
.post-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.post-item {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  border-bottom: 1px solid var(--line);
  padding: 2rem 0;
  transition: background .15s;
}
.post-item:first-child { border-top: 1px solid var(--line); }
.post-item:hover { background: #FAFAFA; }

.post-item-img-link { display: block; flex-shrink: 0; }
.post-item-img {
  width: 280px;
  height: 190px;
  overflow: hidden;
  border-radius: 2px;
  flex-shrink: 0;
}
.post-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s;
}
.post-item:hover .post-item-img img { transform: scale(1.03); }

.post-item-body {
  padding: 0 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.post-item-title {
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: .3rem;
}
.post-item-title a {
  color: var(--black);
  transition: color .15s;
}
.post-item-title a:hover { color: var(--mustard); }

.post-item-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.post-item-data {
  font-family: var(--mono);
  font-size: .62rem;
  color: #BBB;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.post-item-author {
  font-family: var(--sans);
  font-size: .75rem;
  color: #AAA;
  font-weight: 300;
}

.post-item-resumo {
  font-family: var(--sans);
  font-size: .88rem;
  font-weight: 300;
  color: var(--gray);
  line-height: 1.7;
  flex: 1;
}

.post-leia-mais {
  display: inline-block;
  font-family: var(--sans);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mustard);
  border-bottom: 1.5px solid rgba(196,151,58,.35);
  padding-bottom: 1px;
  width: fit-content;
  transition: border-color .15s, color .15s;
  margin-top: .5rem;
}
.post-leia-mais:hover {
  color: var(--mustard2);
  border-color: var(--mustard);
}

/* Posts sem imagem */
.post-item:not(:has(.post-item-img)) {
  grid-template-columns: 1fr;
}

@media(max-width:700px) {
  .post-item {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .post-item-img { width: 100%; height: 200px; }
  .post-item-body { padding: 0; }
}

/* ── REDES SOCIAIS NO TOPO ── */
.hd-util {
  background: var(--black);
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
}
.hd-social {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 100%;
}
.hd-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 34px;
  color: rgba(255,255,255,.38);
  transition: color .15s, background .15s;
}
.hd-social-link:hover {
  color: var(--mustard);
  background: rgba(255,255,255,.04);
}
.hd-util-div {
  width: 1px;
  height: 16px;
  background: rgba(255,255,255,.1);
  margin: 0 .5rem;
}
.hd-lang {
  display: flex;
  height: 100%;
}

/* ── LANG SWITCHER com plugin ── */
.hd-util-right {
  display: flex;
  align-items: center;
  height: 100%;
}
.hd-lang a.lang-btn {
  text-decoration: none;
}

/* ── MENUS POR IDIOMA ── */
.site-nav { display: none; }
.site-nav.nav-active { display: block; }

/* nav ativo no mobile */
.site-nav.nav-active.open ul { display: flex; flex-direction: column; }

/* garantir que só um menu aparece */
.hd-nav-inner { position: relative; }

/* corrigir a ul dentro dos menus de idioma */
.site-nav ul { list-style: none; display: flex; }
.site-nav a {
  font-family: var(--sans); font-size: .7rem; font-weight: 400;
  color: #666666; letter-spacing: .07em; text-transform: uppercase;
  padding: .6rem 1rem; display: block; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.site-nav a:hover { color: var(--mustard); }
.site-nav li.current-menu-item > a,
.site-nav a.current { color: var(--black); border-bottom-color: var(--mustard); font-weight: 500; }

@media(max-width:640px) {
  .site-nav.nav-active { display: none; }
  .site-nav.nav-active.open {
    display: block;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--black);
    padding: 1rem 1.5rem;
    border-top: 1px solid #333;
    z-index: 100;
  }
  .site-nav.nav-active.open ul { flex-direction: column; gap: 0; }
  .site-nav.nav-active.open a { color: rgba(255,255,255,.7); padding: .55rem 0; border-bottom: 1px solid #222; }
  .site-nav.nav-active.open a:hover { color: var(--mustard); }
}

/* ── CORREÇÕES DO MENU ── */
.hd-nav { background: var(--white); }
.hd-nav-inner { background: var(--white); }

/* Garantir texto visível em todos os estados */
.site-nav a { color: #555555 !important; }
.site-nav a:hover { color: var(--mustard) !important; }
.site-nav li.current-menu-item > a,
.site-nav li.current_page_item > a,
.site-nav a.current-menu-item { 
  color: var(--black) !important; 
  border-bottom-color: var(--mustard) !important; 
  font-weight: 500; 
}

/* hd-tagline deve ser escuro no fundo branco */
.hd-tagline { color: #CCCCCC; }

/* ── BOTÕES DO CONGRESSO — linha com 5 botões ── */
.cong-btns {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1.8rem;
}
.cong-btns .btn-primary,
.cong-btns .btn-outline {
  font-size: .68rem;
  padding: .52rem 1.1rem;
  white-space: nowrap;
}

/* Layout do banner com espaço para os botões */
.cong-content { display: flex; flex-direction: column; }

@media(max-width:860px) {
  .cong-btns { gap: .5rem; }
  .cong-btns .btn-primary,
  .cong-btns .btn-outline { font-size: .65rem; padding: .48rem .9rem; }
}
@media(max-width:640px) {
  .cong-btns { flex-direction: column; align-items: flex-start; }
  .cong-btns .btn-primary,
  .cong-btns .btn-outline { width: 100%; text-align: center; }
}

/* ── BOTÕES DO CONGRESSO — corrigir outline ── */
.cong-btns .btn-outline {
  color: rgba(255,255,255,.85) !important;
  border: 1.5px solid rgba(255,255,255,.35) !important;
  background: transparent !important;
}
.cong-btns .btn-outline:hover {
  border-color: var(--mustard) !important;
  color: var(--mustard) !important;
}

/* ══════════════════════════════════════════════════
   PÁGINAS INFORMATIVAS (hospedagem + atrações)
══════════════════════════════════════════════════ */
.info-page { max-width: 1000px; }
.pg-hero-desc { font-family: var(--sans); font-size: .88rem; font-weight: 300; color: rgba(255,255,255,.55); margin-top: .8rem; line-height: 1.65; }

/* ── BLOCOS INFO ── */
.info-bloco { margin-bottom: 3.5rem; }
.info-bloco-header { display: flex; align-items: flex-start; gap: 1.2rem; margin-bottom: 1.2rem; }
.info-icone { font-size: 2rem; line-height: 1; flex-shrink: 0; margin-top: .2rem; }
.info-kicker { font-family: var(--mono); font-size: .58rem; color: var(--mustard); text-transform: uppercase; letter-spacing: .2em; margin-bottom: .3rem; }
.info-titulo { font-family: var(--serif); font-size: 1.5rem; font-weight: 600; font-style: italic; color: var(--black); }
.info-intro { font-family: var(--sans); font-size: .9rem; font-weight: 300; color: var(--gray); line-height: 1.75; margin-bottom: 1.8rem; }
.info-divisor { height: 1px; background: var(--line); margin: 3rem 0; }

/* ── HOTÉIS ── */
.hotel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-bottom: 1.5rem; }
.hotel-card { border: 1px solid var(--line); border-radius: 2px; padding: 1.4rem; background: var(--white); position: relative; transition: border-color .2s; }
.hotel-card:hover { border-color: var(--mustard); }
.hotel-card--dest { grid-column: 1 / -1; background: var(--light); border-color: var(--mustard); }
.hotel-badge { font-family: var(--mono); font-size: .58rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--black); background: var(--mustard); padding: .2rem .65rem; border-radius: 1px; display: inline-block; margin-bottom: .75rem; }
.hotel-cat { font-family: var(--mono); font-size: .58rem; color: #AAA; text-transform: uppercase; letter-spacing: .14em; margin-bottom: .4rem; }
.hotel-nome { font-family: var(--serif); font-size: 1.1rem; font-weight: 600; color: var(--black); margin-bottom: .4rem; }
.hotel-end { font-family: var(--sans); font-size: .78rem; color: var(--mustard); font-weight: 400; margin-bottom: .5rem; }
.hotel-desc { font-family: var(--sans); font-size: .82rem; font-weight: 300; color: var(--gray); line-height: 1.65; margin-bottom: .6rem; }
.hotel-contato { font-family: var(--mono); font-size: .68rem; color: #AAA; }
.hotel-contato a { color: var(--mustard); text-decoration: none; }

/* ── TRASLADO ── */
.traslado-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-bottom: 1.5rem; }
.traslado-card { border: 1px solid var(--line); border-radius: 2px; padding: 1.4rem; background: var(--white); transition: border-color .2s; }
.traslado-card:hover { border-color: var(--mustard); }
.traslado-card--dest { border-color: var(--mustard); background: var(--black); }
.traslado-card--dest .traslado-titulo, .traslado-card--dest p, .traslado-card--dest li { color: rgba(255,255,255,.85); }
.traslado-card--dest .traslado-lista { color: rgba(255,255,255,.6); }
.traslado-icon { font-size: 1.8rem; margin-bottom: .75rem; }
.traslado-titulo { font-family: var(--serif); font-size: 1.05rem; font-weight: 600; color: var(--black); margin-bottom: .75rem; }
.traslado-tag { font-family: var(--mono); font-size: .58rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--black); background: var(--line); padding: .18rem .6rem; border-radius: 1px; display: inline-block; margin-bottom: .6rem; }
.traslado-tag--gold { background: var(--mustard); color: var(--black); }
.traslado-info p { font-family: var(--sans); font-size: .82rem; font-weight: 300; color: var(--gray); line-height: 1.65; margin-bottom: .6rem; }
.traslado-lista { list-style: none; padding: 0; margin: 0; }
.traslado-lista li { font-family: var(--sans); font-size: .78rem; font-weight: 300; color: var(--gray); padding: .25rem 0; border-bottom: 1px solid var(--line); display: flex; align-items: baseline; gap: .5rem; }
.traslado-lista li::before { content: '—'; color: var(--mustard); flex-shrink: 0; font-size: .7rem; }

.mapa-placeholder { border: 1px solid var(--line); border-radius: 2px; padding: 2.5rem; text-align: center; background: var(--light); margin-top: 1.5rem; }
.mapa-inner p { font-family: var(--sans); font-size: .88rem; color: var(--gray); margin-bottom: .4rem; }
.mapa-inner p:first-child { font-size: 1rem; color: var(--black); }
.btn-mapa { display: inline-block; margin-top: 1rem; font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--black); background: var(--mustard); padding: .55rem 1.4rem; border-radius: 2px; text-decoration: none; transition: background .2s; }
.btn-mapa:hover { background: var(--mustard2); }

/* ── AVISO ── */
.info-aviso { display: flex; gap: .9rem; align-items: flex-start; background: #FFFBF0; border: 1px solid rgba(196,151,58,.3); border-left: 3px solid var(--mustard); border-radius: 2px; padding: 1.1rem 1.3rem; margin-top: 1.5rem; }
.aviso-icone { flex-shrink: 0; font-size: 1.1rem; margin-top: .05rem; }
.info-aviso p { font-family: var(--sans); font-size: .83rem; font-weight: 300; color: var(--gray); line-height: 1.65; }

/* ══ ATRAÇÕES ════════════════════════════════════ */
.atracoes-intro { font-family: var(--sans); font-size: .92rem; font-weight: 300; color: var(--gray); line-height: 1.8; margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }

.destino-card { border: 1px solid var(--line); border-radius: 3px; overflow: hidden; margin-bottom: 2rem; }
.destino-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); }

.destino-header { height: 240px; position: relative; overflow: hidden; background-size: cover; background-position: center; }
.destino-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 60%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 1.8rem 2rem; }
.destino-tag { font-family: var(--mono); font-size: .58rem; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: var(--black); background: var(--mustard); padding: .2rem .65rem; border-radius: 1px; display: inline-block; width: fit-content; margin-bottom: .65rem; }
.destino-titulo { font-family: var(--serif); font-size: clamp(1.2rem, 2.5vw, 1.7rem); font-weight: 600; font-style: italic; color: #fff; line-height: 1.2; margin-bottom: .3rem; }
.destino-subtitulo { font-family: var(--sans); font-size: .82rem; font-weight: 300; color: rgba(255,255,255,.65); }

.destino-corpo { padding: 1.8rem 2rem; background: var(--white); }
.destino-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 1.4rem; }
.destino-bloco h3 { font-family: var(--serif); font-size: .98rem; font-style: italic; color: var(--black); margin-bottom: .75rem; padding-bottom: .4rem; border-bottom: 1px solid var(--line); }
.destino-bloco ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.destino-bloco ul li { font-family: var(--sans); font-size: .82rem; font-weight: 300; color: var(--gray); line-height: 1.55; padding-left: .9rem; position: relative; }
.destino-bloco ul li::before { content: '◆'; color: var(--mustard); position: absolute; left: 0; font-size: .5rem; top: .35rem; }

.destino-meta { display: flex; flex-direction: column; gap: .5rem; }
.meta-item { display: flex; align-items: flex-start; gap: .6rem; font-family: var(--sans); font-size: .82rem; font-weight: 300; color: var(--gray); }
.meta-icone { flex-shrink: 0; width: 1.2rem; }

.destino-pacote { background: var(--black); border-radius: 2px; padding: 1.2rem 1.4rem; display: flex; align-items: flex-start; gap: 1rem; }
.pacote-label { font-family: var(--mono); font-size: .58rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--black); background: var(--mustard); padding: .22rem .65rem; border-radius: 1px; display: inline-block; white-space: nowrap; flex-shrink: 0; margin-top: .1rem; }
.destino-pacote p { font-family: var(--sans); font-size: .82rem; font-weight: 300; color: rgba(255,255,255,.7); line-height: 1.65; }
.destino-pacote strong { color: var(--mustard); font-weight: 400; }

.atracoes-contato { background: var(--light); border: 1px solid var(--line); border-left: 3px solid var(--mustard); border-radius: 2px; padding: 2rem; margin-top: 1rem; }
.atracoes-contato h3 { font-family: var(--serif); font-size: 1.1rem; font-style: italic; color: var(--black); margin-bottom: .5rem; }
.atracoes-contato p { font-family: var(--sans); font-size: .85rem; font-weight: 300; color: var(--gray); }

/* ── RESPONSIVE INFO ── */
@media(max-width:700px) {
  .hotel-grid, .traslado-grid, .destino-info-grid { grid-template-columns: 1fr; }
  .hotel-card--dest { grid-column: auto; }
  .destino-header { height: 180px; }
  .destino-corpo { padding: 1.2rem 1.5rem; }
  .destino-pacote { flex-direction: column; gap: .6rem; }
}

/* ── APOIADORES NO BANNER ── */
.cong-apoio {
  margin-top: 1.8rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.cong-apoio-label {
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: rgba(255,255,255,.3);
  white-space: nowrap;
  flex-shrink: 0;
}
.cong-apoio-lista {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.cong-apoio-item {
  font-family: var(--sans);
  font-size: .75rem;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  letter-spacing: .06em;
  transition: color .2s;
}
.cong-apoio-item:hover { color: var(--mustard); }
.cong-apoio-sep {
  color: rgba(255,255,255,.15);
  font-size: .7rem;
}

@media(max-width:640px) {
  .cong-apoio { flex-direction: column; align-items: flex-start; gap: .6rem; }
}
