/* ============================================================
   MAE — Movimento Accao Ecologica
   assets/mae.css  v1.3.0
   ============================================================ */

/* Reset GeneratePress */
.inside-header,.site-header,.nav-float,.main-navigation,.site-footer,.inside-site-info,#site-info { display:none !important; }
.site-main,.content-area,.inside-article,.inside-right-sidebar { padding:0 !important; margin:0 !important; max-width:none !important; }
.site-content .content-area { width:100% !important; float:none !important; }
#page { padding-top:0 !important; }

/* ── VARIÁVEIS ── */
:root {
    --verde:       #1d3220;
    --musgo:       #3a5a40;
    --folha:       #6a9e5c;
    --terra:       #c2955a;
    --areia:       #f0e8d8;
    --creme:       #f5f0e4;
    --muted:       #5c7862;
    --linha:       rgba(29,50,32,0.1);
    --cab-h:       120px;
    --cab-h-small: 70px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:"DM Sans",sans-serif; background:var(--creme); color:var(--verde); overflow-x:hidden; }

/* ══════════════════════════════════════════
   CABEÇALHO
══════════════════════════════════════════ */
#cab {
    position:fixed; top:0; left:0; width:100%;
    height:var(--cab-h);
    background:var(--creme);
    border-bottom:1px solid var(--linha);
    z-index:9999;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 52px;
    transition:height .35s ease, box-shadow .35s ease;
}
#cab.scrolled {
    height:var(--cab-h-small);
    box-shadow:0 2px 24px rgba(29,50,32,.1);
}

/* LOGO — grande por default, encolhe ao scroll */
.logo { display:flex; align-items:center; text-decoration:none; }
.logo img {
    height:100px;
    width:auto; display:block;
    transition:height .35s ease;
    object-fit:contain;
}
#cab.scrolled .logo img { height:56px; }

/* MENU */
.menu { display:flex; align-items:center; gap:24px; list-style:none; }
.menu a {
    font-family:"DM Mono",monospace;
    font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase;
    color:var(--musgo); text-decoration:none; transition:color .2s; white-space:nowrap;
}
.menu a:hover { color:var(--verde); }
.menu .cta {
    background:var(--verde); color:var(--areia) !important;
    padding:10px 22px; border-radius:8px;
    transition:background .2s;
}
.menu .cta:hover { background:var(--musgo); }

/* BURGER */
#burger {
    display:none; flex-direction:column; gap:5px;
    cursor:pointer; background:none; border:none; padding:4px; flex-shrink:0;
}
#burger span { display:block; width:24px; height:2px; background:var(--verde); border-radius:1px; }

/* MENU MOBILE */
#mob {
    display:none; position:fixed; top:var(--cab-h); left:0; right:0;
    background:var(--creme); border-bottom:1px solid var(--linha);
    z-index:9998; flex-direction:column; padding:14px 32px 24px;
    box-shadow:0 8px 24px rgba(29,50,32,.08);
    transition:top .35s ease;
}
#mob.scrolled-mob { top:var(--cab-h-small); }
#mob.open { display:flex; }
#mob a {
    font-family:"DM Mono",monospace;
    font-size:11px; letter-spacing:1.4px; text-transform:uppercase;
    color:var(--musgo); text-decoration:none; padding:13px 0;
    border-bottom:1px solid rgba(29,50,32,.07); transition:color .2s;
}
#mob a:hover { color:var(--verde); }
#mob .cta {
    margin-top:10px; background:var(--verde); color:var(--areia) !important;
    text-align:center; padding:14px; border-radius:8px; border:none;
}

#page-wrap { padding-top:var(--cab-h); }

@media (max-width:900px) {
    .menu { display:none; }
    #burger { display:flex; }
    #cab { padding:0 22px; }
}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
#hero {
    background:var(--verde);
    min-height:100vh;
    padding:0 0 0;
    display:flex; flex-direction:column; justify-content:center;
    position:relative; overflow:hidden;
}

/* Aneis decorativos de fundo */
.hero-bg-ring {
    position:absolute; border-radius:50%;
    border:1px solid rgba(106,158,92,.08);
    pointer-events:none;
}
.hr1 { width:700px; height:700px; top:-200px; left:-200px; animation:rot 70s linear infinite; }
.hr2 { width:400px; height:400px; bottom:40px; right:-80px; border-color:rgba(194,149,90,.07); animation:rot 45s linear infinite reverse; }
.hr3 { width:200px; height:200px; top:30%; left:40%; border-style:dashed; border-color:rgba(106,158,92,.06); animation:rot 30s linear infinite; }

@keyframes rot { to { transform:rotate(360deg); } }
@keyframes up  { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@keyframes fadein { from { opacity:0; } to { opacity:1; } }

/* Layout hero: 2 colunas */
.hero-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
    max-width:1200px;
    margin:0 auto;
    padding:140px 60px 100px;
    width:100%;
    position:relative; z-index:2;
}

/* Coluna texto */
.hero-c { display:flex; flex-direction:column; }
.hero-tag {
    font-family:"DM Mono",monospace; font-size:10px; letter-spacing:3.5px; text-transform:uppercase;
    color:var(--folha); margin-bottom:20px;
    opacity:0; animation:up .7s ease forwards .2s;
}
.hero-h1 {
    font-family:"Playfair Display",serif;
    font-size:clamp(48px,7vw,88px); line-height:1.0; color:#fff; margin-bottom:24px;
    opacity:0; animation:up .7s ease forwards .35s;
}
.hero-h1 em { color:var(--terra); font-style:italic; }
.hero-sub {
    font-size:16px; line-height:1.82; color:rgba(245,240,228,.58);
    max-width:460px; margin-bottom:36px;
    opacity:0; animation:up .7s ease forwards .5s;
}

/* Botões hero — corrigidos (sempre visíveis) */
.hero-btns {
    display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px;
    opacity:0; animation:up .7s ease forwards .65s;
}
.btn-hero-p {
    padding:15px 32px;
    background:var(--folha); color:#fff;
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    text-decoration:none; border-radius:8px;
    border:2px solid var(--folha);
    transition:all .22s; display:inline-flex; align-items:center; gap:8px;
    font-weight:500;
}
.btn-hero-p:hover { background:var(--terra); border-color:var(--terra); transform:translateY(-2px); box-shadow:0 8px 24px rgba(194,149,90,.3); }
.btn-hero-s {
    padding:15px 28px;
    background:transparent; color:rgba(245,240,228,.75);
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    text-decoration:none; border-radius:8px;
    border:1.5px solid rgba(245,240,228,.22);
    transition:all .22s;
}
.btn-hero-s:hover { border-color:rgba(245,240,228,.55); color:var(--areia); transform:translateY(-2px); }

/* Prova social */
.hero-trust {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    opacity:0; animation:up .6s ease forwards .8s;
}
.hero-trust span {
    font-family:"DM Mono",monospace; font-size:9.5px; letter-spacing:1.2px; text-transform:uppercase;
    color:rgba(245,240,228,.35);
}
.ht-dot { color:var(--folha); opacity:.4; }

/* Coluna visual (badges temáticos) */
.hero-visual {
    position:relative;
    display:flex; align-items:center; justify-content:center;
    height:420px;
    opacity:0; animation:fadein 1s ease forwards .9s;
}
.hv-orbit { position:relative; width:360px; height:360px; }
.hv-card {
    position:absolute;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(245,240,228,.1);
    border-radius:14px;
    padding:14px 16px;
    display:flex; align-items:center; gap:10px;
    backdrop-filter:blur(4px);
    transition:transform .3s, background .3s;
    white-space:nowrap;
}
.hv-card:hover { background:rgba(255,255,255,.11); transform:scale(1.04); }
.hv-icon { font-size:20px; }
.hv-label {
    font-family:"DM Mono",monospace; font-size:9.5px; letter-spacing:1.2px;
    text-transform:uppercase; color:rgba(245,240,228,.65);
}
/* Posições dos 6 badges em círculo */
.hv-c1 { top:0;    left:50%; transform:translateX(-50%); animation:float1 6s ease-in-out infinite; }
.hv-c2 { top:18%;  right:0;  animation:float2 7s ease-in-out infinite .5s; }
.hv-c3 { bottom:18%; right:0; animation:float1 5.5s ease-in-out infinite 1s; }
.hv-c4 { bottom:0; left:50%; transform:translateX(-50%); animation:float2 6.5s ease-in-out infinite .3s; }
.hv-c5 { bottom:18%; left:0; animation:float1 7s ease-in-out infinite .8s; }
.hv-c6 { top:18%;  left:0;  animation:float2 6s ease-in-out infinite 1.2s; }

@keyframes float1 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes float2 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
.hv-c1,.hv-c4 { animation-name:float1,none; }
/* corrigir translateX nos extremos */
.hv-c1 { animation:float1 6s ease-in-out infinite; }
.hv-c4 { animation:float2 6.5s ease-in-out infinite .3s; }

/* Círculo central com logo */
.hv-center {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:110px; height:110px; border-radius:50%;
    background:rgba(106,158,92,.15);
    border:1.5px solid rgba(106,158,92,.25);
    display:flex; align-items:center; justify-content:center;
}
.hv-center img { width:72px; height:72px; object-fit:contain; opacity:.85; }

/* Seta scroll */
.hero-scroll {
    position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
    width:38px; height:38px; border-radius:50%;
    border:1px solid rgba(245,240,228,.18);
    display:flex; align-items:center; justify-content:center;
    text-decoration:none; z-index:3;
    animation:fadein 1s ease forwards 1.4s; opacity:0;
    transition:border-color .2s;
}
.hero-scroll:hover { border-color:rgba(245,240,228,.5); }
.hero-scroll span {
    width:8px; height:8px; border-right:1.5px solid rgba(245,240,228,.45); border-bottom:1.5px solid rgba(245,240,228,.45);
    transform:rotate(45deg) translateY(-2px);
    animation:bounce 1.6s ease-in-out infinite;
}
@keyframes bounce { 0%,100%{transform:rotate(45deg) translateY(-2px)} 50%{transform:rotate(45deg) translateY(3px)} }

/* ── BOTÕES GERAIS (fora do hero) ── */
.btn-v {
    padding:14px 30px; background:var(--folha); color:#fff;
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    text-decoration:none; border-radius:8px; border:2px solid var(--folha);
    transition:all .2s; display:inline-flex; align-items:center;
}
.btn-v:hover { background:var(--terra); border-color:var(--terra); transform:translateY(-2px); }
.btn-o {
    padding:14px 30px; background:transparent; color:rgba(245,240,228,.65);
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    text-decoration:none; border:1.5px solid rgba(245,240,228,.22); border-radius:8px; transition:all .2s;
}
.btn-o:hover { border-color:rgba(245,240,228,.5); color:var(--areia); }

/* ── MARQUEE TEMAS ── */
.mq { background:var(--verde); overflow:hidden; padding:12px 0; border-top:1px solid rgba(106,158,92,.1); }
.mq-t {
    display:flex; gap:32px; align-items:center; white-space:nowrap;
    width:max-content; animation:mq 28s linear infinite;
}
.mq-t span { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:rgba(245,240,228,.3); }
.mq-t .dot { color:var(--folha); opacity:.5; font-size:7px; }
@keyframes mq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══════════════════════════════════════════
   WRAP / LABELS
══════════════════════════════════════════ */
.wrap { max-width:1100px; margin:0 auto; padding:0 32px; }
.sec-tag {
    font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase;
    color:var(--folha); margin-bottom:6px;
}
.sec-tit { font-family:"Playfair Display",serif; font-size:clamp(26px,4vw,42px); color:var(--verde); line-height:1.05; }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:22px; }
.sec-nav { display:flex; gap:8px; flex-shrink:0; }
.sec-btn {
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(29,50,32,.18);
    background:#fff; cursor:pointer; font-size:16px; color:var(--musgo);
    display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.sec-btn:hover { background:var(--verde); color:#fff; border-color:var(--verde); }

/* ── CARROSSEL ── */
.rolo {
    display:flex; gap:16px; overflow-x:auto; scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch; padding:4px 0 24px;
    scrollbar-width:none; cursor:grab; user-select:none;
}
.rolo:active { cursor:grabbing; }
.rolo::-webkit-scrollbar { display:none; }

/* ── ARQUIVO GRID ── */
.arquivo-grid {
    display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:22px; padding-bottom:24px;
}

/* ── CARD ── */
.card {
    flex:0 0 250px; background:#fff; border-radius:14px; overflow:hidden;
    box-shadow:0 3px 18px rgba(29,50,32,.1); text-decoration:none; color:inherit;
    display:flex; flex-direction:column; transition:transform .35s, box-shadow .35s;
}
.arquivo-grid .card { flex:none; }
.card:hover { transform:translateY(-6px); box-shadow:0 20px 44px rgba(29,50,32,.16); }
.c-img {
    overflow:hidden; display:flex; align-items:center; justify-content:center;
    position:relative; background:var(--musgo); aspect-ratio:4/5;
}
.c-img.tall { aspect-ratio:4/5; }
.c-img.sq   { aspect-ratio:4/3; }
.c-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.c-img-placeholder {
    width:100%; height:100%;
    background:linear-gradient(135deg,var(--musgo) 0%,var(--verde) 100%);
}
.card:hover .c-img img { transform:scale(1.04); }
.c-badge {
    position:absolute; top:10px; left:10px;
    background:var(--terra); color:#fff;
    font-family:"DM Mono",monospace; font-size:8px; letter-spacing:1.5px; text-transform:uppercase;
    padding:5px 9px; border-radius:6px;
}
.c-wave { position:absolute; bottom:-1px; left:0; right:0; height:24px; background:#fff; border-radius:50% 50% 0 0 / 24px 24px 0 0; }
.c-info { padding:14px 18px 20px; flex:1; display:flex; flex-direction:column; }
.c-tipo { font-family:"DM Mono",monospace; font-size:8.5px; letter-spacing:2px; text-transform:uppercase; color:var(--folha); margin-bottom:8px; }
.c-tit { font-family:"Playfair Display",serif; font-size:17px; line-height:1.35; color:var(--verde); flex:1; font-weight:700; }
.c-data { font-family:"DM Mono",monospace; font-size:9px; color:var(--terra); margin-top:12px; }
.c-arrow { margin-top:10px; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--folha); display:flex; align-items:center; gap:5px; }
.c-arrow::after { content:'→'; transition:transform .2s; }
.card:hover .c-arrow::after { transform:translateX(4px); }

/* ── CONTADOR ── */
.imp-wrap { position:relative; margin-top:56px; padding-top:40px; }
.imp-wrap::before { content:''; position:absolute; top:0; left:0; right:0; height:40px; background:var(--creme); border-radius:0 0 50% 50% / 0 0 40px 40px; }
.imp-inner { background:var(--verde); display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
.imp-wrap::after { content:''; position:absolute; bottom:-40px; left:0; right:0; height:40px; background:var(--creme); border-radius:50% 50% 0 0 / 40px 40px 0 0; z-index:1; }
.imp { border:1px solid rgba(106,158,92,.1); padding:36px 20px; text-align:center; position:relative; overflow:hidden; }
.imp::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% -10%,rgba(106,158,92,.09),transparent 60%); pointer-events:none; }
.imp-n { font-family:"Playfair Display",serif; font-size:clamp(42px,6vw,70px); color:#fff; line-height:1; margin-bottom:10px; }
.imp-n em { color:var(--terra); font-style:normal; }
.imp-l { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(245,240,228,.34); }

/* ══════════════════════════════════════════
   COMO PARTICIPAR
══════════════════════════════════════════ */
.participar-section { padding:80px 0 70px; background:var(--creme); }
.part-head { margin-bottom:48px; max-width:580px; }
.part-sub { font-size:15px; line-height:1.8; color:var(--muted); margin-top:12px; }
.part-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:20px;
}
.part-card {
    background:#fff;
    border:1px solid rgba(29,50,32,.07);
    border-radius:16px;
    padding:32px 28px 28px;
    display:flex; flex-direction:column; gap:12px;
    box-shadow:0 2px 12px rgba(29,50,32,.05);
    transition:transform .3s, box-shadow .3s;
    position:relative; overflow:hidden;
}
.part-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,var(--folha),var(--musgo));
    opacity:0; transition:opacity .3s;
}
.part-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(29,50,32,.12); }
.part-card:hover::before { opacity:1; }
.part-card-destaque {
    background:var(--verde); border-color:var(--verde);
}
.part-card-destaque .part-num { color:rgba(245,240,228,.25); }
.part-card-destaque .part-tit { color:var(--areia); }
.part-card-destaque .part-txt { color:rgba(245,240,228,.55); }
.part-card-destaque .part-link { color:var(--terra); }
.part-card-destaque .part-link:hover { color:var(--folha); }
.part-card-destaque::before { background:linear-gradient(90deg,var(--terra),var(--folha)); }
.part-num {
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:2px;
    color:rgba(29,50,32,.2); font-weight:500; margin-bottom:4px;
}
.part-icon { font-size:28px; line-height:1; }
.part-tit { font-family:"Playfair Display",serif; font-size:20px; color:var(--verde); line-height:1.2; }
.part-txt { font-size:14px; line-height:1.8; color:var(--muted); flex:1; }
.part-link {
    font-family:"DM Mono",monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
    color:var(--folha); text-decoration:none; margin-top:8px;
    display:inline-flex; align-items:center; gap:4px; transition:color .2s;
}
.part-link:hover { color:var(--verde); }

/* ── INSTAGRAM ── */
.ig-section { padding:80px 0 52px; }
.ig-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.ig-head a { font-family:"DM Mono",monospace; font-size:11px; color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:5px; transition:color .2s; }
.ig-head a::before { content:'↗'; font-size:14px; }
.ig-head a:hover { color:var(--verde); }

/* ── SOBRE NÓS ── */
.sobre-section { padding:52px 0; }
.sobre-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; min-width:0; }
@media (max-width:720px) { .sobre-grid { grid-template-columns:1fr; gap:32px; } }
.sobre-p { font-size:15px; line-height:1.85; color:var(--muted); margin-bottom:14px; }
.sobre-p strong { color:var(--verde); font-weight:500; }
.missao { background:var(--verde); padding:26px 30px; border-radius:12px; margin-bottom:24px; }
.missao p { font-family:"Playfair Display",serif; font-style:italic; font-size:18px; line-height:1.65; color:var(--areia); margin:0; }
.sobre-link { display:inline-flex; align-items:center; gap:6px; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--folha); text-decoration:none; transition:color .2s; }
.sobre-link:hover { color:var(--verde); }
.valores-lado { display:flex; flex-direction:column; justify-content:center; gap:16px; min-width:0; overflow:hidden; }
.valores-label { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--folha); }
.val-mq-wrap { overflow:hidden; border-radius:8px; background:#fff; border:1px solid rgba(29,50,32,.08); padding:14px 0; box-shadow:0 2px 8px rgba(29,50,32,.05); width:100%; }
.val-mq-wrap:hover .val-mq { animation-play-state:paused; }
.val-mq { display:flex; gap:0; white-space:nowrap; animation:val-scroll 20s linear infinite; }
.val-item { padding:0 20px; font-family:"Playfair Display",serif; font-size:16px; font-style:italic; color:var(--musgo); border-right:1px solid rgba(29,50,32,.1); }
@keyframes val-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.visao-box { background:#f0ebe0; border-radius:10px; padding:20px 24px; border:1px solid rgba(29,50,32,.08); min-width:0; }
.visao-label { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--folha); margin-bottom:8px; }
.visao-txt { font-size:14px; line-height:1.75; color:var(--muted); }

/* ── MAPA ── */
#mapa { background:#ede8df; padding:52px 0; }
.mapa-sub { font-size:14px; color:var(--muted); max-width:520px; line-height:1.75; margin-top:8px; }
.mapa-layout { display:flex; gap:36px; align-items:flex-start; flex-wrap:wrap; margin-top:24px; }
.mapa-svg { flex:1; min-width:240px; }
.mapa-svg svg { width:100%; height:auto; display:block; filter:drop-shadow(0 6px 20px rgba(29,50,32,.14)); }
.mapa-leg { flex-shrink:0; display:flex; flex-direction:column; gap:14px; padding-top:4px; min-width:170px; }
.leg { display:flex; align-items:center; gap:11px; }
.leg-c { width:14px; height:14px; border-radius:3px; flex-shrink:0; }
.leg-n { font-size:14px; color:var(--verde); font-weight:500; }
.leg-s { font-family:"DM Mono",monospace; font-size:9px; color:var(--folha); letter-spacing:1px; display:block; margin-top:1px; }

/* ── DOCUMENTOS ── */
.docs-section { padding:40px 0 52px; border-top:1px solid var(--linha); }
.docs-grid { display:flex; gap:14px; flex-wrap:wrap; margin-top:20px; }
.doc-btn {
    display:flex; align-items:center; gap:14px; padding:18px 24px;
    background:#fff; border:1px solid rgba(29,50,32,.1); border-radius:12px;
    text-decoration:none; color:var(--verde); flex:1; min-width:200px;
    transition:all .28s; box-shadow:0 2px 8px rgba(29,50,32,.05);
}
.doc-btn:hover { background:var(--verde); color:var(--areia); border-color:var(--verde); box-shadow:0 10px 28px rgba(29,50,32,.2); transform:translateY(-2px); }
.doc-ic { font-size:24px; flex-shrink:0; }
.doc-tit { font-family:"Playfair Display",serif; font-size:16px; display:block; margin-bottom:4px; }
.doc-sub { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); transition:color .25s; }
.doc-btn:hover .doc-sub { color:rgba(245,240,228,.45); }

/* ── NEWSLETTER ── */
#nl {
    background:#2d4a35; padding:52px 32px;
    display:flex; flex-direction:column; gap:26px;
    margin-top:60px; position:relative;
}
#nl::before { content:''; position:absolute; top:-40px; left:0; right:0; height:40px; background:var(--creme); border-radius:0 0 50% 50% / 0 0 40px 40px; }
@media (min-width:640px) { #nl { flex-direction:row; align-items:center; justify-content:space-between; gap:40px; } }
.nl-l { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(245,240,228,.42); margin-bottom:8px; }
.nl-h { font-family:"Playfair Display",serif; font-size:clamp(22px,3.5vw,32px); color:var(--areia); line-height:1.15; }
.nl-p { font-size:14px; color:rgba(245,240,228,.46); margin-top:6px; line-height:1.65; }
.nl-form { display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0; }
.nl-input { padding:12px 18px; background:rgba(255,255,255,.1); border:1px solid rgba(245,240,228,.16); border-radius:8px; color:var(--areia); font-family:"DM Sans",sans-serif; font-size:14px; min-width:220px; outline:none; transition:border-color .2s; }
.nl-input::placeholder { color:rgba(245,240,228,.28); }
.nl-input:focus { border-color:rgba(245,240,228,.42); }
.nl-btn { padding:12px 24px; background:var(--folha); color:#fff; font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; border:none; border-radius:8px; cursor:pointer; white-space:nowrap; transition:background .2s; }
.nl-btn:hover { background:var(--terra); }
.nl-btn:disabled { cursor:default; }

/* ── FOOTER ── */
footer { background:var(--verde); padding:44px 32px 24px; }
.ft { display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:32px; }
.ft-logo img { height:48px; display:block; margin-bottom:13px; }
.ft-desc { font-size:13px; color:rgba(245,240,228,.3); max-width:240px; line-height:1.8; }
.ft-soc { display:flex; gap:7px; margin-top:16px; }
.ft-soc a { width:32px; height:32px; border-radius:50%; border:1px solid rgba(245,240,228,.11); display:flex; align-items:center; justify-content:center; color:rgba(245,240,228,.28); font-size:11px; text-decoration:none; font-family:"DM Mono",monospace; transition:all .2s; }
.ft-soc a:hover { background:var(--musgo); border-color:var(--musgo); color:#fff; }
.ft-nav-l { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; color:var(--folha); margin-bottom:13px; }
.ft-nav { display:flex; flex-direction:column; gap:8px; }
.ft-nav a { font-size:13px; color:rgba(245,240,228,.3); text-decoration:none; transition:color .2s; }
.ft-nav a:hover { color:var(--areia); }
.ft-bot { border-top:1px solid rgba(245,240,228,.07); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.ft-bot p { font-family:"DM Mono",monospace; font-size:9px; letter-spacing:1px; color:rgba(245,240,228,.14); }

/* ══════════════════════════════════════════
   PÁGINAS INTERNAS
══════════════════════════════════════════ */
.section { padding:40px 0 0; }
.page-hero {
    background:var(--verde); padding:110px 32px 64px;
    position:relative; overflow:hidden;
}
.page-hero::before {
    content:''; position:absolute; bottom:-1px; left:0; right:0; height:60px;
    background:var(--creme); border-radius:50% 50% 0 0 / 60px 60px 0 0;
}
.page-titulo { font-family:"Playfair Display",serif; font-size:clamp(32px,6vw,64px); color:#fff; line-height:1.05; }
.page-conteudo { padding:52px 0 80px; }
.entry-content { font-size:15px; line-height:1.85; color:var(--muted); }
.entry-content h1,.entry-content h2,.entry-content h3 { font-family:"Playfair Display",serif; color:var(--verde); margin:28px 0 12px; }
.entry-content p { margin-bottom:16px; }
.entry-content a { color:var(--folha); }
.entry-content a:hover { color:var(--verde); }
.entry-content ul,.entry-content ol { padding-left:20px; margin-bottom:16px; }
.entry-content li { margin-bottom:6px; }
.entry-content strong { color:var(--verde); font-weight:500; }

/* evento meta */
.evento-meta { display:flex; gap:20px; flex-wrap:wrap; margin-top:12px; }
.evento-meta span { font-family:"DM Mono",monospace; font-size:10px; letter-spacing:1px; color:rgba(245,240,228,.65); }

/* single layout */
.single-layout { display:grid; grid-template-columns:1fr 2fr; gap:48px; align-items:start; }
@media (max-width:720px) { .single-layout { grid-template-columns:1fr; } }
.single-img img { width:100%; border-radius:12px; display:block; }

/* Imagem de artigo — largura total */
.publicacao-imagem-full {
    width:100%; max-height:520px; object-fit:cover;
    border-radius:14px; margin-bottom:40px; display:block;
}

/* paginação */
.nav-links { display:flex; gap:10px; justify-content:center; margin-top:40px; }
.nav-links a,.nav-links span { font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--verde); text-decoration:none; padding:8px 16px; border:1px solid var(--linha); border-radius:6px; transition:all .2s; }
.nav-links a:hover { background:var(--verde); color:var(--areia); border-color:var(--verde); }

/* ══════════════════════════════════════════
   FORMULÁRIOS (sócio + registo evento)
══════════════════════════════════════════ */
.wpcf7, .mae-form-socio, .mae-registo-evento { color:var(--verde); }
.wpcf7 input,.wpcf7 textarea,.wpcf7 select,
.mae-form-socio input,.mae-form-socio textarea,.mae-form-socio select,
.reg-form input,.reg-form textarea,.reg-form select {
    width:100%; padding:12px 16px;
    background:#fff; border:1.5px solid rgba(29,50,32,.15);
    border-radius:8px; font-family:"DM Sans",sans-serif; font-size:14px;
    color:var(--verde) !important; outline:none; transition:border-color .2s; display:block;
}
.wpcf7 input:focus,.wpcf7 textarea:focus,
.reg-form input:focus,.reg-form textarea:focus,.reg-form select:focus {
    border-color:var(--folha); box-shadow:0 0 0 3px rgba(106,158,92,.12);
}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder,
.reg-form input::placeholder,.reg-form textarea::placeholder { color:#9aaa9e; }
.wpcf7 label,.mae-form-socio label,.reg-campo label {
    display:block; font-family:"DM Mono",monospace; font-size:9.5px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--musgo); margin-bottom:6px; font-weight:500;
}
.wpcf7 p,.reg-campo { margin-bottom:18px; }
.wpcf7 input[type="submit"],.wpcf7 button[type="submit"] {
    width:auto; background:var(--verde); color:var(--areia) !important;
    font-family:"DM Mono",monospace; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    border:none; padding:13px 28px; border-radius:8px; cursor:pointer; transition:all .2s; margin-top:8px;
}
.wpcf7 input[type="submit"]:hover,.wpcf7 button[type="submit"]:hover { background:var(--terra); transform:translateY(-2px); }

/* Registo evento */
.mae-registo-evento { max-width:640px; }
.reg-evento-info { background:var(--verde); color:var(--areia); border-radius:12px; padding:20px 24px; margin-bottom:28px; }
.reg-evento-nome { font-family:"Playfair Display",serif; font-size:20px; color:#fff; margin-bottom:6px; }
.reg-evento-meta { display:flex; gap:16px; flex-wrap:wrap; }
.reg-evento-meta span { font-family:"DM Mono",monospace; font-size:10px; letter-spacing:1px; color:rgba(245,240,228,.7); }
.reg-submit { margin-top:8px; }
.reg-sucesso { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; border-radius:8px; padding:14px 18px; margin-bottom:22px; font-size:14px; display:flex; align-items:center; gap:10px; }
.reg-erro { background:#fff3e0; color:#e65100; border:1px solid #ffcc80; border-radius:8px; padding:14px 18px; margin-bottom:22px; font-size:14px; }

/* ══════════════════════════════════════════
   REVEAL AO SCROLL
══════════════════════════════════════════ */
.rv  { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.rv1 { opacity:0; transform:translateY(18px); transition:opacity .7s ease .12s, transform .7s ease .12s; }
.rv.in,.rv1.in { opacity:1; transform:none; }

/* ══════════════════════════════════════════
   MOBILE
══════════════════════════════════════════ */
@media (max-width:860px) {
    /* hero em coluna única */
    .hero-layout {
        grid-template-columns:1fr;
        padding:110px 24px 60px;
        gap:48px;
    }
    .hero-visual { height:280px; }
    .hv-orbit { width:260px; height:260px; }
    .hv-card { padding:10px 12px; }
    .hv-icon { font-size:16px; }
    .hv-label { font-size:8px; }
    .hv-center { width:80px; height:80px; }
    .hv-center img { width:52px; height:52px; }
    .hero-h1 { font-size:clamp(40px,10vw,64px); }
    .hero-sub { max-width:100%; }
    .hero-trust { flex-wrap:wrap; gap:8px; }

    /* header mobile */
    .logo img { height:72px; }
    #cab.scrolled .logo img { height:48px; }
    :root { --cab-h:88px; --cab-h-small:60px; }

    /* participar */
    .part-grid { grid-template-columns:1fr; }

    /* geral */
    .wrap { padding:0 18px; }
    .sobre-grid { grid-template-columns:1fr; gap:32px; }
    .ft { flex-direction:column; }
    #nl { padding:40px 20px; }
    .page-hero { padding:90px 20px 50px; }
    .docs-grid { flex-direction:column; }
    .hero-scroll { display:none; }
}

@media (max-width:480px) {
    .hero-visual { display:none; } /* em ecrãs muito pequenos esconde o painel */
    .hero-layout { padding:100px 20px 50px; gap:0; }
    .hero-btns { flex-direction:column; }
    .btn-hero-p,.btn-hero-s { text-align:center; justify-content:center; }
    .part-card { padding:24px 20px; }
    .mapa-layout { flex-direction:column; }
}
