/* ============================================================================
 * ARQUIVO SAGRADO — Design System "Sacro Clássico"
 * Inspirado em manuscritos iluminados e na tradição católica.
 *
 * Como personalizar: altere apenas os TOKENS em :root abaixo. Todos os
 * componentes consomem esses tokens — mude uma cor/uma medida em um lugar
 * e o site inteiro acompanha. Logo, nome, favicon e scripts vêm do painel.
 * ==========================================================================*/

/* ----------------------------------------------------------------------------
 * 1. TOKENS (a "fonte da verdade" do visual)
 * --------------------------------------------------------------------------*/
:root{
  /* Cores — superfícies e tinta */
  --bg:         #f5edda;   /* pergaminho (fundo da página) */
  --surface:    #fffdf6;   /* superfície clara (cards, caixas) */
  --surface-2:  #efe4cd;   /* superfície de apoio (faixas, código inline) */
  --ink:        #2b2118;   /* tinta — texto principal */
  --ink-soft:   #6d5d47;   /* texto secundário / metadados */
  --line:       #ddcfb2;   /* filetes e bordas */
  --line-strong:#c8b690;   /* bordas em destaque */

  /* Cores — marca (extraídas da logo Arquivo Sagrado) */
  --wine:       #6a0f15;   /* vinho da logo — destaque principal (links, botões) */
  --wine-deep:  #4f0a0e;   /* hover / estados ativos */
  --gold:       #c0892f;   /* dourado da logo — ornamentos, filetes */
  --gold-soft:  #dcb377;   /* dourado claro da logo — brilhos */
  --on-accent:  #fbf4e6;   /* texto sobre wine/gold/escuro */

  /* Cores — superfícies escuras (rodapé, overlays) — vinho profundo da logo */
  --dark:       #340a0e;   /* vinho quase-preto (fundo do rodapé) */
  --dark-2:     #1f0a0a;   /* overlay das imagens em destaque */

  /* Cores — feedback */
  --ok-bg:#e7f3e9; --ok-line:#a9cdb0; --ok-ink:#2f6b3c;
  --err-bg:#f7e9e6; --err-line:#d7a99f; --err-ink:#8a2a1e;

  /* Tipografia */
  --font-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --font-body:   "EB Garamond",Georgia,"Times New Roman",serif;
  --fs-base: 19px;          /* corpo um pouco maior — serifa pede mais ar */
  --lh-base: 1.7;
  --tracking-caps: .08em;   /* espaçamento para versais (rótulos) */

  /* Espaçamento (escala modular de 4px) */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4rem;

  /* Forma e profundidade */
  --radius:6px; --radius-lg:10px;
  --shadow-sm:0 1px 2px rgba(58,42,24,.06);
  --shadow-md:0 6px 22px rgba(58,42,24,.10);
  --ring: 0 0 0 3px rgba(168,128,47,.35);  /* foco acessível dourado */

  /* Larguras */
  --maxw:1120px; --readw:680px;
}

/* ----------------------------------------------------------------------------
 * 2. BASE / RESET
 * --------------------------------------------------------------------------*/
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  /* leve textura de pergaminho com dois gradientes suaves */
  background-image:
    radial-gradient(120% 120% at 100% 0%, rgba(205,171,99,.10), transparent 60%),
    radial-gradient(120% 120% at 0% 100%, rgba(110,20,35,.05), transparent 55%);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:var(--lh-base);
  font-feature-settings:"liga" 1,"kern" 1;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:var(--wine);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--wine-deep);text-decoration:underline;text-underline-offset:.14em}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:4px}
::selection{background:rgba(168,128,47,.28)}
hr{border:0;border-top:1px solid var(--line);margin:var(--sp-6) 0}

.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--wine);color:var(--on-accent);padding:.6rem 1rem;z-index:100;border-radius:0 0 6px 0}
.skip-link:focus{left:0}

/* ----------------------------------------------------------------------------
 * 3. TIPOGRAFIA
 * --------------------------------------------------------------------------*/
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);font-weight:600;line-height:1.18;letter-spacing:.005em}
h1{font-size:clamp(2.1rem,4.6vw,3rem)}
h2{font-size:clamp(1.6rem,3vw,2rem)}
h3{font-size:1.4rem}
p{margin:0 0 1.1rem}

/* Rótulo em versais com cor dourada */
.eyebrow{
  font-family:var(--font-display);font-size:.82rem;font-weight:600;
  letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--gold);
}
/* Divisória ornamental — use <hr class="ornament"> entre blocos */
.ornament{display:flex;align-items:center;gap:1rem;border:0;color:var(--gold);margin:var(--sp-6) 0;height:1px}
.ornament::before,.ornament::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}

/* ----------------------------------------------------------------------------
 * 4. CABEÇALHO / NAVEGAÇÃO / BUSCA
 * --------------------------------------------------------------------------*/
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(245,237,218,.92);
  backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid var(--line);
  box-shadow:inset 0 -3px 0 -2px var(--gold-soft);  /* filete dourado sob o header */
}
.header-inner{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.85rem 0}
.brand{display:flex;align-items:center;line-height:1.1}
/* Wordmark (fallback quando não há logo no painel) */
.brand > a:not(.brand__logo){
  font-family:var(--font-display);color:var(--ink);font-weight:700;
  font-size:1.7rem;letter-spacing:.01em;
}
.brand > a:not(.brand__logo)::before{content:"✦ ";color:var(--gold)}
.brand > a:not(.brand__logo)::after{content:" ✦";color:var(--gold)}
.brand > a:not(.brand__logo):hover{color:var(--wine);text-decoration:none}
.brand__logo img{max-height:60px;width:auto;display:block}

.header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;font-size:1.15rem;cursor:pointer;color:var(--ink)}
.nav-toggle:hover{color:var(--wine);border-color:var(--gold)}

/* Menu — overlay no mobile, inline no desktop */
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);padding:.5rem 1rem .7rem;z-index:54}
body.nav-open .site-nav{display:block}
.site-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.05rem}
.site-menu a{display:block;color:var(--ink);padding:.7rem .35rem;border-radius:6px;font-size:1.05rem}
.site-menu a:hover{color:var(--wine);background:var(--surface-2);text-decoration:none}
.site-menu ul{list-style:none;margin:0;padding-left:1rem}

/* Busca — lupa abre uma barra full-width */
.site-search-wrap{display:flex;align-items:center}
.search-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;color:var(--ink);cursor:pointer;padding:0}
.search-toggle svg{width:19px;height:19px;fill:currentColor}
.search-toggle:hover,.site-search-wrap.open .search-toggle{color:var(--wine);border-color:var(--gold)}
.site-search{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);padding:.75rem 1rem;z-index:55}
.site-search-wrap.open .site-search{display:flex;justify-content:center}
.site-search input{width:100%;max-width:560px;padding:.6rem 1.1rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:.98rem}
.site-search input::placeholder{color:var(--ink-soft);opacity:.85;font-style:italic}
.site-search input:focus{border-color:var(--gold)}

/* ----------------------------------------------------------------------------
 * 5. ÁREA PRINCIPAL
 * --------------------------------------------------------------------------*/
.site-main{padding-top:var(--sp-6);padding-bottom:var(--sp-7);min-height:62vh}

/* ----------------------------------------------------------------------------
 * 6. GRADE DE POSTS / CARDS (páginas internas, relacionados)
 * --------------------------------------------------------------------------*/
.post-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
.post-card{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}
.post-card__media{display:block;aspect-ratio:16/10;background:var(--surface-2);overflow:hidden}
.post-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.post-card:hover .post-card__media img{transform:scale(1.04)}
.post-card__body{padding:1.1rem 1.25rem 1.3rem}
.post-card__title{font-size:1.5rem;margin:.1rem 0 .4rem;line-height:1.2}
.post-card__title a{color:var(--ink)}
.post-card__title a:hover{color:var(--wine);text-decoration:none}
.post-card__meta{color:var(--ink-soft);font-size:.85rem;font-style:italic;margin:0 0 .5rem}
.post-card__excerpt{margin:0 0 .8rem;color:var(--ink)}
.post-card__more{font-family:var(--font-display);font-weight:600;font-size:1.02rem}
.post-card__more:hover{text-decoration:none}

/* ----------------------------------------------------------------------------
 * 6.5 LAYOUT REVISTA (Home / Categoria, página 1)
 * --------------------------------------------------------------------------*/
.mag-hero{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:var(--sp-7)}
.mag-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mag-card{position:relative;display:flex;border-radius:var(--radius-lg);overflow:hidden;background:var(--dark);
  min-height:200px;color:var(--on-accent);isolation:isolate;box-shadow:var(--shadow-sm)}
.mag-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.mag-card::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(28,20,13,0) 28%,rgba(28,20,13,.55) 62%,rgba(28,20,13,.9) 100%)}
.mag-card:hover img{transform:scale(1.05)}
.mag-card--noimg{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-deep) 100%)}
.mag-card--noimg::after{display:none}
.mag-card__inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding:1.2rem 1.3rem}
.mag-card__kicker{align-self:flex-start;font-family:var(--font-display);font-size:.72rem;font-weight:600;
  letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--on-accent);background:var(--wine);
  padding:.22rem .7rem;border-radius:4px;margin-bottom:.6rem;border:1px solid rgba(205,171,99,.5)}
.mag-card__title{font-family:var(--font-display);font-weight:600;line-height:1.14;margin:0;color:var(--on-accent)}
.mag-card__title a{color:var(--on-accent);text-decoration:none}
.mag-card__title a:hover{color:#fff;text-decoration:none}
.mag-card__title a::after{content:"";position:absolute;inset:0;z-index:3}
.mag-card__meta{margin:.5rem 0 0;font-size:.82rem;font-style:italic;color:rgba(251,244,230,.82)}
.mag-feature{min-height:300px}
.mag-feature .mag-card__title{font-size:1.7rem}
.mag-tiles .mag-card{min-height:150px}
.mag-tiles .mag-card__title{font-size:1.15rem}

.mag-main{display:grid;grid-template-columns:1fr;gap:var(--sp-6);margin-top:.6rem}
.mag-heading{font-family:var(--font-display);font-size:1.6rem;font-weight:600;margin:0 0 1.2rem;
  padding-bottom:.6rem;border-bottom:2px solid var(--line);position:relative;color:var(--ink)}
.mag-heading::after{content:"";position:absolute;left:0;bottom:-2px;width:60px;height:2px;background:var(--gold)}
.mag-list{display:flex;flex-direction:column}
.mag-item{display:grid;grid-template-columns:108px 1fr;gap:1.1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.mag-item--noimg{grid-template-columns:1fr}   /* sem imagem: texto ocupa a largura toda */
.mag-item:first-of-type{padding-top:0}
.mag-item__media{display:block;border-radius:8px;overflow:hidden;aspect-ratio:1/1;background:var(--surface-2)}
.mag-item__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.mag-item:hover .mag-item__media img{transform:scale(1.05)}
.mag-item__title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;line-height:1.22;margin:0 0 .3rem}
.mag-item__title a{color:var(--ink)}
.mag-item__title a:hover{color:var(--wine);text-decoration:none}
.mag-item__meta{color:var(--ink-soft);font-size:.82rem;font-style:italic;margin:0 0 .4rem}
.mag-item__meta a{color:var(--ink-soft)}
.mag-item__meta a:hover{color:var(--wine)}
.mag-item__excerpt{margin:0;color:var(--ink);font-size:.98rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.mag-spot{display:flex;flex-direction:column;gap:1.3rem}
.mag-spot__media{display:block;border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:var(--surface-2);margin-bottom:.6rem}
.mag-spot__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.mag-spot__card:hover .mag-spot__media img{transform:scale(1.05)}
.mag-spot__title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.22;margin:0}
.mag-spot__title a{color:var(--ink)}
.mag-spot__title a:hover{color:var(--wine);text-decoration:none}
.mag-spot__meta{color:var(--ink-soft);font-size:.8rem;font-style:italic;margin:.3rem 0 0}

/* ----------------------------------------------------------------------------
 * 7. POST / PÁGINA (leitura)
 * --------------------------------------------------------------------------*/
.post,.page{max-width:var(--readw);margin:0 auto}
.post__header{margin-bottom:var(--sp-5);text-align:center}
.post__title{font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.15;margin:.2rem 0 .6rem}
.post__meta{color:var(--ink-soft);font-size:.9rem;font-style:italic;margin:0 0 .6rem}
.post__meta a{color:var(--ink-soft)}
.post__meta a:hover{color:var(--wine)}
.post__cats{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0;justify-content:center}
.post__feature{margin:var(--sp-5) 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.post__feature img{width:100%;display:block}

.post__content{font-size:1.08rem}
/* Capitular (drop cap) no primeiro parágrafo — toque de manuscrito */
.post__content > p:first-of-type::first-letter{
  font-family:var(--font-display);float:left;font-size:3.6rem;line-height:.82;
  font-weight:600;color:var(--wine);padding:.18rem .5rem 0 0;
}
.post__content h2{font-size:1.7rem;margin:2rem 0 .7rem}
.post__content h3{font-size:1.35rem;margin:1.6rem 0 .5rem}
.post__content p{margin:0 0 1.2rem}
.post__content img{border-radius:8px}
.post__content figure{margin:var(--sp-5) 0}
.post__content figcaption{color:var(--ink-soft);font-size:.85rem;font-style:italic;text-align:center;margin-top:.5rem}
.post__content blockquote{
  margin:var(--sp-5) 0;padding:1rem 1.4rem;border-left:3px solid var(--gold);
  background:var(--surface);border-radius:0 8px 8px 0;
  font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--ink);
}
.post__content blockquote p:last-child{margin-bottom:0}
.post__content blockquote cite{display:block;font-family:var(--font-body);color:var(--ink-soft);font-size:.85rem;font-style:normal;margin-top:.5rem}
.post__content pre{background:#2b2118;color:#f0e6d2;padding:1rem;border-radius:8px;overflow:auto;font-size:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.post__content code{background:var(--surface-2);padding:.1rem .4rem;border-radius:5px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.post__content pre code{background:none;padding:0}
.post__content mark{background:var(--gold-soft);padding:0 .15rem}
.post__content table{width:100%;border-collapse:collapse;margin:var(--sp-5) 0;font-size:.98rem}
.post__content th,.post__content td{border:1px solid var(--line);padding:.55rem .75rem;text-align:left}
.post__content th{background:var(--surface-2);font-family:var(--font-display);font-weight:600}
.post__content ul,.post__content ol{margin:0 0 1.2rem 1.3rem}
.post__content li{margin:.35rem 0}
.post__content a{text-decoration:underline;text-underline-offset:.14em;text-decoration-color:var(--gold-soft)}
.post__content a:hover{text-decoration-color:var(--wine)}

/* Embeds responsivos (16:9) */
.embed-frame{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:8px;overflow:hidden;background:#000}
.embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ----------------------------------------------------------------------------
 * 8. TAGS / CHIPS
 * --------------------------------------------------------------------------*/
.tag-chip{
  display:inline-block;background:var(--surface);border:1px solid var(--line-strong);
  color:var(--ink-soft);padding:.18rem .7rem;border-radius:999px;font-size:.8rem;
  letter-spacing:.02em;text-decoration:none;transition:all .15s ease;
}
.tag-chip:hover{color:var(--wine);border-color:var(--gold);background:var(--surface-2);text-decoration:none}
.post__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:var(--sp-5) 0;justify-content:center}

/* ----------------------------------------------------------------------------
 * 9. CAIXA DO AUTOR
 * --------------------------------------------------------------------------*/
.author-box{display:flex;gap:1.1rem;align-items:flex-start;margin:var(--sp-6) 0;padding:1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.author-box__avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-soft)}
.author-box strong{font-family:var(--font-display);font-size:1.2rem}
.author-box p{margin:.35rem 0 0;color:var(--ink-soft)}

/* ----------------------------------------------------------------------------
 * 10. CABEÇALHOS DE ARQUIVO / AUTOR
 * --------------------------------------------------------------------------*/
.archive-header{margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);text-align:center}
.archive-title{font-size:clamp(1.8rem,3.4vw,2.4rem);margin:.2rem 0}
.archive-desc{color:var(--ink-soft);margin:.4rem auto 0;max-width:var(--readw);font-style:italic}
.author-header{display:flex;gap:1.1rem;align-items:center;justify-content:center;text-align:left}
.author-header__avatar{width:78px;height:78px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-soft)}
.author-social{margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.9rem;font-size:.9rem}

/* ----------------------------------------------------------------------------
 * 11. RELACIONADOS / TÍTULOS DE SEÇÃO
 * --------------------------------------------------------------------------*/
.related{max-width:var(--maxw);margin:var(--sp-7) auto 0}
.section-title{
  font-size:1.7rem;margin:0 0 var(--sp-5);padding-top:var(--sp-5);text-align:center;
  display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--ink);
}
.section-title::before,.section-title::after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)}
.post-grid--compact .post-card__title{font-size:1.2rem}

/* ----------------------------------------------------------------------------
 * 12. MIGALHAS (breadcrumbs)
 * --------------------------------------------------------------------------*/
.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:var(--sp-4)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.breadcrumbs a{color:var(--ink-soft)}
.breadcrumbs a:hover{color:var(--wine)}
.breadcrumbs li:not(:last-child)::after{content:"✦";margin-left:.4rem;color:var(--gold-soft);font-size:.7em}

/* ----------------------------------------------------------------------------
 * 13. PAGINAÇÃO
 * --------------------------------------------------------------------------*/
.pagination{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:var(--sp-6) 0 0}
.pagination a,.pagination span{padding:.45rem .85rem;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--surface)}
.pagination a:hover{border-color:var(--gold);color:var(--wine);text-decoration:none}
.pagination .is-current{background:var(--wine);color:var(--on-accent);border-color:var(--wine)}

/* ----------------------------------------------------------------------------
 * 14. BOTÕES / FORMULÁRIOS / AVISOS
 * --------------------------------------------------------------------------*/
.btn{
  display:inline-block;background:var(--wine);color:var(--on-accent);
  padding:.65rem 1.3rem;border-radius:6px;border:1px solid var(--wine-deep);
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:.01em;
  cursor:pointer;text-decoration:none;transition:background .15s ease,transform .12s ease;
}
.btn:hover{background:var(--wine-deep);color:var(--on-accent);text-decoration:none;transform:translateY(-1px)}

.empty{color:var(--ink-soft);text-align:center;padding:var(--sp-7) 1rem;font-family:var(--font-display);font-size:1.3rem;font-style:italic}
.notfound{text-align:center;padding:var(--sp-7) 1rem;max-width:var(--readw);margin:0 auto}
.notfound h1{font-size:5rem;margin:0;color:var(--wine);font-family:var(--font-display)}
.site-search--inline{display:flex;gap:.5rem;justify-content:center;margin-top:var(--sp-5)}
.site-search--inline input{max-width:300px;padding:.6rem 1.1rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit}

.contact-form .row{margin-bottom:1.1rem}
.contact-form label{display:block;font-family:var(--font-display);font-weight:600;margin-bottom:.35rem}
.contact-form input,.contact-form textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:6px;font:inherit;background:var(--surface);color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}
.notice{padding:.85rem 1.1rem;border-radius:6px;margin-bottom:1.3rem}
.notice--ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-ink)}
.notice--err{background:var(--err-bg);border:1px solid var(--err-line);color:var(--err-ink)}

/* ----------------------------------------------------------------------------
 * 15. ANÚNCIOS / BANNER DE COOKIES
 * --------------------------------------------------------------------------*/
.ad-slot{margin:var(--sp-5) 0;text-align:center;min-height:1px}
.ad-slot--mid{margin:var(--sp-6) 0}

.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--dark);color:var(--on-accent);
  display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;
  padding:.9rem 1rem;box-shadow:0 -2px 14px rgba(43,33,24,.3);border-top:2px solid var(--gold)
}
.cookie-banner[hidden]{display:none}
.cookie-banner__text{margin:0;font-size:.9rem;max-width:780px}
.cookie-banner a{color:var(--gold-soft)}
.cookie-banner .btn{white-space:nowrap}

/* ----------------------------------------------------------------------------
 * 16. RODAPÉ (escuro, 4 colunas)
 * --------------------------------------------------------------------------*/
.site-footer{border-top:2px solid var(--gold);background:var(--dark);color:var(--on-accent);margin-top:var(--sp-7)}
.footer-inner{padding:var(--sp-7) 1.25rem 1.6rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
.footer-col__title{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:var(--tracking-caps);
  text-transform:uppercase;color:var(--gold-soft);margin:0 0 1.1rem}
.footer-col--brand .footer-logo{display:inline-block}
.footer-col--brand .footer-logo img{max-height:56px;width:auto;display:block}
.footer-logo--text{color:var(--on-accent);font-family:var(--font-display);font-weight:700;font-size:1.5rem;text-decoration:none}
.footer-logo--text::before{content:"✦ ";color:var(--gold)}
.footer-logo--text::after{content:" ✦";color:var(--gold)}
.footer-logo--text:hover{color:#fff;text-decoration:none}
.footer-tagline{color:rgba(251,244,230,.6);font-size:.95rem;font-style:italic;line-height:1.55;margin:1rem 0 0;max-width:34ch}
.footer-links,.footer-links ul{list-style:none;margin:0;padding:0}
.footer-links{display:flex;flex-direction:column;gap:.7rem}
.footer-links ul{margin:.6rem 0 0 .9rem;gap:.55rem}
.footer-links a{color:rgba(251,244,230,.66);font-size:.96rem;text-decoration:none;transition:color .2s ease}
.footer-links a:hover{color:var(--on-accent)}
.footer-col--chevron .footer-links > li,.footer-col--dot .footer-links > li{position:relative;padding-left:1.2rem}
.footer-col--chevron .footer-links > li::before{content:"\203A";position:absolute;left:0;top:-.05em;color:var(--gold);font-weight:700}
.footer-col--dot .footer-links > li::before{content:"";position:absolute;left:.15rem;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.footer-social{list-style:none;margin:0;padding:0;display:flex;gap:.7rem;flex-wrap:wrap}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(205,171,99,.3);color:rgba(251,244,230,.85);transition:color .2s ease,border-color .2s ease,background .2s ease}
.footer-social a:hover{color:var(--dark);border-color:var(--gold);background:var(--gold-soft)}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.copyright{color:rgba(251,244,230,.42);font-size:.84rem;font-style:italic;margin:var(--sp-6) 0 0;padding-top:1.4rem;border-top:1px solid rgba(205,171,99,.18)}

/* ----------------------------------------------------------------------------
 * 17. RESPONSIVO
 * --------------------------------------------------------------------------*/
@media (min-width:760px){
  .nav-toggle{display:none}
  /* Menu inline, alinhado à direita; ações (lupa) logo após */
  .site-nav{display:block;position:static;width:auto;padding:0;background:none;border:0;box-shadow:none;margin-left:auto}
  .header-actions{margin-left:.9rem}
  .site-menu{flex-direction:row;align-items:center;gap:1.3rem}
  .site-menu a{padding:.4rem .15rem;font-size:1.02rem}
  .site-menu a:hover{background:none}
  .site-menu li{position:relative}
  .site-menu li ul{position:absolute;top:100%;left:0;min-width:190px;background:var(--surface);
    border:1px solid var(--line-strong);border-radius:8px;padding:.35rem;display:none;
    box-shadow:var(--shadow-md);z-index:60}
  .site-menu li:hover > ul,.site-menu li:focus-within > ul{display:block}
  .site-menu li ul a{white-space:nowrap;padding:.5rem .6rem}

  /* Mosaico da home: feature 2x2 + 4 tiles */
  .mag-hero{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:1.1rem}
  .mag-feature{grid-column:span 2;grid-row:span 2;min-height:0}
  .mag-tiles{display:contents}
  .mag-tiles .mag-card{grid-column:span 1;min-height:0}
  .mag-feature .mag-card__title{font-size:2rem}
  .mag-tiles .mag-card__title{font-size:1.2rem}
  .mag-main--split{grid-template-columns:1.9fr 1fr;gap:var(--sp-7);align-items:start}
  .mag-main--split .mag-aside{position:sticky;top:90px}

  .post-grid{grid-template-columns:repeat(2,1fr)}
  .post-grid--compact{grid-template-columns:repeat(2,1fr)}

  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1.8rem 2.4rem}
}
@media (min-width:1000px){
  .post-grid{grid-template-columns:repeat(3,1fr)}
}

/* Refino para celulares pequenos */
@media (max-width:539px){
  .mag-hero{gap:.8rem;margin-bottom:1.8rem}
  .mag-feature{min-height:260px}
  .mag-feature .mag-card__title{font-size:1.45rem}
  .mag-tiles{gap:.8rem}
  .mag-item{grid-template-columns:92px 1fr;gap:.9rem;padding:1rem 0}
  .mag-item--noimg{grid-template-columns:1fr}
  .mag-item__title{font-size:1.18rem}
  .mag-item__excerpt{-webkit-line-clamp:2}
  .mag-heading{font-size:1.4rem}
}

/* Respeita quem prefere menos movimento */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
