/* Lumen Arcana — Natureza Viva 2.2 | Base visual consolidada */
:root{
  --lnv-bg:#f6fbf4;
  --lnv-bg-soft:#eef8ef;
  --lnv-surface:#fffef8;
  --lnv-surface-2:#f8fff8;
  --lnv-text:#234236;
  --lnv-title:#274d3e;
  --lnv-accent:#5da56f;
  --lnv-accent-2:#96c878;
  --lnv-line:#dbead7;
  --lnv-gold:#cdbb7a;
  --lnv-glow:rgba(151,213,124,0.18);
}

body.lnv22-active{
  background:
    radial-gradient(circle at 8% 16%, var(--lnv-glow) 0, transparent 15%),
    radial-gradient(circle at 92% 18%, rgba(130,195,210,0.10) 0, transparent 14%),
    linear-gradient(180deg, var(--lnv-bg) 0%, var(--lnv-bg-soft) 55%, #f7fffa 100%);
  color:var(--lnv-text);
}

body.lnv22-active .content-bg,
body.lnv22-active .site,
body.lnv22-active .site-main,
body.lnv22-active .content-wrap,
body.lnv22-active .content-area{
  background:transparent;
}

body.lnv22-active .entry-hero,
body.lnv22-active .page-header,
body.lnv22-active .hero-section,
body.lnv22-active .page-hero-section,
body.lnv22-active .entry-hero-container,
body.lnv22-active .archive-hero-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(175,218,150,0.20), rgba(180,226,219,0.18) 60%, rgba(255,255,255,0.5)) !important;
  border-bottom:1px solid var(--lnv-line);
}

body.lnv22-active .entry-hero::before,
body.lnv22-active .page-header::before,
body.lnv22-active .hero-section::before,
body.lnv22-active .page-hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 100%, rgba(123,196,102,0.32) 0 3%, transparent 3.5%),
    radial-gradient(circle at 22% 100%, rgba(164,219,120,0.35) 0 3%, transparent 3.7%),
    radial-gradient(circle at 86% 100%, rgba(153,215,160,0.32) 0 3%, transparent 3.7%),
    radial-gradient(circle at 96% 100%, rgba(129,198,110,0.35) 0 3%, transparent 4%);
  pointer-events:none;
}

body.lnv22-active .entry-title,
body.lnv22-active .page-title,
body.lnv22-active h1{
  color:var(--lnv-title);
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.lnv22-active .entry-hero .entry-title,
body.lnv22-active .entry-hero .page-title,
body.lnv22-active .page-header .page-title,
body.lnv22-active .hero-section .entry-title,
body.lnv22-active .page-hero-section .entry-title{
  position:relative;
  display:inline-block;
  padding:1rem 1.6rem;
}

body.lnv22-active .entry-hero .entry-title::before,
body.lnv22-active .entry-hero .page-title::before,
body.lnv22-active .page-header .page-title::before,
body.lnv22-active .hero-section .entry-title::before,
body.lnv22-active .page-hero-section .entry-title::before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1.5px solid rgba(205,187,122,0.35);
  box-shadow:0 0 0 34px rgba(205,187,122,0.08), 0 0 0 68px rgba(205,187,122,0.05);
  opacity:.9;
  pointer-events:none;
}

body.lnv22-active .entry-hero .entry-title::after,
body.lnv22-active .entry-hero .page-title::after,
body.lnv22-active .page-header .page-title::after,
body.lnv22-active .hero-section .entry-title::after,
body.lnv22-active .page-hero-section .entry-title::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:320px;
  height:320px;
  transform:translate(-50%,-50%);
  background:
    linear-gradient(0deg, transparent calc(50% - 1px), rgba(205,187,122,0.18) calc(50% - 1px), rgba(205,187,122,0.18) calc(50% + 1px), transparent calc(50% + 1px)),
    linear-gradient(90deg, transparent calc(50% - 1px), rgba(205,187,122,0.18) calc(50% - 1px), rgba(205,187,122,0.18) calc(50% + 1px), transparent calc(50% + 1px)),
    linear-gradient(45deg, transparent calc(50% - 1px), rgba(205,187,122,0.14) calc(50% - 1px), rgba(205,187,122,0.14) calc(50% + 1px), transparent calc(50% + 1px)),
    linear-gradient(-45deg, transparent calc(50% - 1px), rgba(205,187,122,0.14) calc(50% - 1px), rgba(205,187,122,0.14) calc(50% + 1px), transparent calc(50% + 1px));
  opacity:.8;
  pointer-events:none;
}

body.lnv22-active .site-title,
body.lnv22-active .site-branding,
body.lnv22-active .site-identity{
  position:relative;
}

body.lnv22-active .lnv-title-wrap{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--lnv-title);
}

body.lnv22-active .lnv-title-mark{
  width:46px;
  height:46px;
  display:inline-block;
  background-image:var(--lnv-tree-icon);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  filter:drop-shadow(0 4px 8px rgba(72,108,79,0.08));
  flex:0 0 46px;
}

body.lnv22-active .lnv-title-stack{
  display:flex;
  flex-direction:column;
  line-height:1;
}

body.lnv22-active .lnv-line1,
body.lnv22-active .lnv-line2{
  font-family:inherit;
  font-weight:700;
  color:var(--lnv-title);
}

body.lnv22-active .lnv-line1{ letter-spacing:.02em; }
body.lnv22-active .lnv-line2{ margin-left:.85em; margin-top:.10em; letter-spacing:.03em; }

body.lnv22-active .entry-content,
body.lnv22-active .single-content,
body.lnv22-active .page-content{
  color:var(--lnv-text);
}

body.lnv22-active .entry-content h2,
body.lnv22-active .entry-content h3,
body.lnv22-active .single-content h2,
body.lnv22-active .single-content h3,
body.lnv22-active .page-content h2,
body.lnv22-active .page-content h3{
  color:var(--lnv-title);
}

body.lnv22-active .lnv-about-shell,
body.lnv22-active .lnv-generic-shell{
  max-width:980px;
  margin:0 auto;
}

body.lnv22-active .lnv-about-card,
body.lnv22-active .lnv-generic-content{
  background:linear-gradient(180deg, rgba(255,254,248,.98), rgba(248,255,248,.95));
  border:1px solid var(--lnv-line);
  border-radius:28px;
  box-shadow:0 16px 38px rgba(54,92,73,0.08), 0 0 0 8px rgba(255,255,255,0.35);
  padding:44px 36px;
  position:relative;
  overflow:hidden;
}

body.lnv22-active .lnv-about-card::before,
body.lnv22-active .lnv-about-card::after,
body.lnv22-active .lnv-generic-content::before,
body.lnv22-active .lnv-generic-content::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  opacity:.28;
  pointer-events:none;
}

body.lnv22-active .lnv-about-card::before,
body.lnv22-active .lnv-generic-content::before{
  left:12px;
  top:12px;
  border-left:2px solid var(--lnv-gold);
  border-top:2px solid var(--lnv-gold);
  border-top-left-radius:22px;
}

body.lnv22-active .lnv-about-card::after,
body.lnv22-active .lnv-generic-content::after{
  right:12px;
  bottom:12px;
  border-right:2px solid var(--lnv-gold);
  border-bottom:2px solid var(--lnv-gold);
  border-bottom-right-radius:22px;
}

body.lnv22-active .lnv-about-row{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:18px;
  align-items:start;
  padding:22px 0;
  border-top:1px solid var(--lnv-line);
}

body.lnv22-active .lnv-about-row:first-child{
  border-top:none;
  padding-top:0;
}

body.lnv22-active .lnv-about-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(232,249,232,1), rgba(247,255,250,1));
  border:1px solid var(--lnv-line);
  box-shadow:0 8px 20px rgba(93,165,111,.08);
}

body.lnv22-active .lnv-about-icon img,
body.lnv22-active .lnv-page-badge img{
  width:34px;
  height:34px;
}

body.lnv22-active .lnv-about-copy h2{
  margin:4px 0 10px;
  font-size:clamp(1.5rem, 2vw, 2.2rem);
}

body.lnv22-active .lnv-about-copy p{
  margin:0;
  font-size:1.06rem;
  line-height:1.8;
}

body.lnv22-active .lnv-page-badge{
  width:70px;
  height:70px;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid var(--lnv-line);
  background:linear-gradient(180deg, rgba(232,249,232,1), rgba(247,255,250,1));
  box-shadow:0 8px 20px rgba(93,165,111,.08);
}

body.lnv22-active .site-footer,
body.lnv22-active footer{
  background:linear-gradient(180deg, rgba(245,252,244,.6), rgba(234,247,238,.95));
}

body.lnv22-active .site-footer a,
body.lnv22-active footer a{
  color:var(--lnv-title);
}

body.lnv22-motion .lnv-about-card,
body.lnv22-motion .lnv-generic-content{
  animation:lnvFloat 9s ease-in-out infinite;
}

@keyframes lnvFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-2px); }
}

@media (max-width: 900px){
  body.lnv22-active .lnv-about-card,
  body.lnv22-active .lnv-generic-content{
    padding:28px 20px;
    border-radius:22px;
  }
  body.lnv22-active .lnv-about-row{
    grid-template-columns:60px 1fr;
    gap:14px;
  }
  body.lnv22-active .lnv-about-icon{
    width:52px;
    height:52px;
  }
  body.lnv22-active .lnv-about-icon img,
  body.lnv22-active .lnv-page-badge img{ width:28px; height:28px; }
  body.lnv22-active .entry-hero .entry-title::before,
  body.lnv22-active .entry-hero .page-title::before,
  body.lnv22-active .page-header .page-title::before,
  body.lnv22-active .hero-section .entry-title::before,
  body.lnv22-active .page-hero-section .entry-title::before{
    width:170px; height:170px; box-shadow:0 0 0 24px rgba(205,187,122,0.08), 0 0 0 48px rgba(205,187,122,0.04);
  }
  body.lnv22-active .entry-hero .entry-title::after,
  body.lnv22-active .entry-hero .page-title::after,
  body.lnv22-active .page-header .page-title::after,
  body.lnv22-active .hero-section .entry-title::after,
  body.lnv22-active .page-hero-section .entry-title::after{ width:220px; height:220px; }
}

/* =========================================================
   Compatibilidade visual incorporada da versão 2.0
   Mantida depois da base 2.1 para reproduzir a cascata
   que existia quando 2.0 + 2.1 estavam ativos.
   ========================================================= */
/* Camada de layout herdada e consolidada da Natureza Viva 2.0 */
html body.lumen-natureza-viva {
  --lnv-shadow: 0 24px 70px rgba(31,96,62,.11);
  --lnv-soft-shadow: 0 12px 34px rgba(31,96,62,.09);
  --lnv-line: rgba(74,132,79,.18);
  --lnv-radius: 24px;
  color: var(--lnv-deep);
  background: var(--lnv-ivory) !important;
}

html body.lumen-natureza-viva.lnv-global,
html body.lumen-natureza-viva.lnv-global #page,
html body.lumen-natureza-viva.lnv-global #inner-wrap,
html body.lumen-natureza-viva.lnv-global .site,
html body.lumen-natureza-viva.lnv-global .site-main,
html body.lumen-natureza-viva.lnv-global .content-area {
  background:
    radial-gradient(circle at 8% 7%, rgba(184,219,140,.26), transparent 30rem),
    radial-gradient(circle at 92% 12%, rgba(189,229,221,.24), transparent 28rem),
    radial-gradient(circle at 48% 100%, rgba(241,215,122,.12), transparent 34rem),
    linear-gradient(180deg, var(--lnv-ivory), #fff 52%, var(--lnv-cream)) !important;
}

html body.lumen-natureza-viva a { color: var(--lnv-forest); }
html body.lumen-natureza-viva a:hover { color: var(--lnv-leaf); }

/* Header/nav: subtle living accent */
html body.lumen-natureza-viva.lnv-global #masthead,
html body.lumen-natureza-viva.lnv-global .site-header-wrap,
html body.lumen-natureza-viva.lnv-global .site-header-row-container-inner {
  backdrop-filter: saturate(108%);
}
html body.lumen-natureza-viva.lnv-global .main-navigation .primary-menu-container > ul > li > a {
  transition: color .25s ease, transform .25s ease;
}
html body.lumen-natureza-viva.lnv-global .main-navigation .primary-menu-container > ul > li > a:hover {
  transform: translateY(-1px);
}

/* HERO: robust Kadence + generic selectors */
html body.lnv-page-sobre :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section),
html body.lnv-page-inicio :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: clamp(220px, 24vw, 360px) !important;
  display: grid !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 50% 5%, rgba(255,255,255,.98), transparent 26%),
    radial-gradient(circle at 18% 55%, rgba(184,219,140,.48), transparent 31%),
    radial-gradient(circle at 82% 44%, rgba(189,229,221,.42), transparent 28%),
    linear-gradient(135deg, var(--lnv-cream), var(--lnv-ivory) 47%, #fff) !important;
  border-bottom: 1px solid var(--lnv-line) !important;
}

/* Kadence's actual inner title wrapper often keeps its own background */
html body.lnv-page-sobre .entry-hero-container-inner .site-container,
html body.lnv-page-inicio .entry-hero-container-inner .site-container,
html body.lnv-page-sobre .entry-hero-container-inner .entry-header,
html body.lnv-page-inicio .entry-hero-container-inner .entry-header {
  position: relative !important;
  z-index: 3 !important;
  background: transparent !important;
}

html body.lnv-page-sobre :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section)::before,
html body.lnv-page-inicio :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section)::before {
  content:"";
  position:absolute;
  width:min(560px,70vw);
  aspect-ratio:1;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  z-index:0;
  opacity:.38;
  border-radius:50%;
  background:
    radial-gradient(circle, transparent 0 31%, rgba(47,102,67,.18) 31.4% 31.8%, transparent 32.2% 42%, rgba(111,167,92,.14) 42.4% 42.8%, transparent 43.2% 52%, rgba(241,215,122,.22) 52.4% 52.8%, transparent 53.2%),
    conic-gradient(from 22.5deg, transparent 0 11.7%, rgba(47,102,67,.10) 11.9% 12.1%, transparent 12.3% 24.2%, rgba(47,102,67,.10) 24.4% 24.6%, transparent 24.8% 36.7%, rgba(47,102,67,.10) 36.9% 37.1%, transparent 37.3% 49.2%, rgba(47,102,67,.10) 49.4% 49.6%, transparent 49.8% 61.7%, rgba(47,102,67,.10) 61.9% 62.1%, transparent 62.3% 74.2%, rgba(47,102,67,.10) 74.4% 74.6%, transparent 74.8% 86.7%, rgba(47,102,67,.10) 86.9% 87.1%, transparent 87.3%);
}

html body.lnv-page-sobre :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section)::after,
html body.lnv-page-inicio :is(.entry-hero-container-inner,.entry-hero,.page-header,.entry-header-wrap,.hero-section,.page-hero-section)::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:92px;
  z-index:1;
  opacity:.9;
  background:
    radial-gradient(80px 34px at 5% 100%, rgba(111,167,92,.34) 0 42%, transparent 44%),
    radial-gradient(115px 45px at 14% 100%, rgba(184,219,140,.45) 0 42%, transparent 44%),
    radial-gradient(92px 35px at 85% 100%, rgba(189,229,221,.48) 0 42%, transparent 44%),
    radial-gradient(120px 48px at 96% 100%, rgba(111,167,92,.30) 0 42%, transparent 44%);
}

html body.lnv-page-sobre :is(h1.entry-title,.page-title,h1),
html body.lnv-page-inicio :is(h1.entry-title,.page-title,h1) {
  color: var(--lnv-deep) !important;
  letter-spacing: .055em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
}

/* Main content wrapper: support Kadence and generic Gutenberg */
html body.lnv-page-sobre :is(.content-bg,.entry-content-wrap,.site-main > article,.entry),
html body.lnv-page-inicio :is(.content-bg,.entry-content-wrap,.site-main > article,.entry) {
  border-radius: var(--lnv-radius) !important;
}

html body.lnv-page-sobre .entry-content,
html body.lnv-page-inicio .entry-content {
  position: relative !important;
  isolation: isolate;
  margin-top: clamp(18px,3vw,38px) !important;
  padding: clamp(28px,4.5vw,66px) !important;
  background:
    radial-gradient(circle at 4% 7%, rgba(231,245,221,.74), transparent 23rem),
    radial-gradient(circle at 96% 6%, rgba(189,229,221,.34), transparent 20rem),
    radial-gradient(circle at 82% 100%, rgba(243,220,207,.22), transparent 17rem),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,255,248,.98)) !important;
  border: 1px solid var(--lnv-line) !important;
  border-radius: var(--lnv-radius) !important;
  box-shadow: var(--lnv-shadow) !important;
}
html body.lnv-page-sobre .entry-content::before,
html body.lnv-page-inicio .entry-content::before {
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(111,167,92,.12);
  border-radius:18px;
  z-index:-1;
  pointer-events:none;
}

/* About section cards created by JS */
html body.lnv-page-sobre .lnv-section {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:27px 0;
  border-bottom:1px solid rgba(47,102,67,.12);
}
html body.lnv-page-sobre .lnv-section:last-child { border-bottom:0; }
html body.lnv-page-sobre .lnv-icon {
  width:66px; height:66px;
  display:grid; place-items:center;
  border-radius:50%;
  color:var(--lnv-forest);
  background:
    radial-gradient(circle at 35% 22%, #fff 0 20%, transparent 38%),
    linear-gradient(145deg,var(--lnv-cream),var(--lnv-mist));
  border:1px solid rgba(47,102,67,.16);
  box-shadow:var(--lnv-soft-shadow);
}
html body.lnv-page-sobre .lnv-icon svg { width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round; }
html body.lnv-page-sobre .lnv-section h2,
html body.lnv-page-sobre .lnv-section h3,
html body.lnv-page-inicio .entry-content h2,
html body.lnv-page-inicio .entry-content h3 { color:var(--lnv-forest)!important; }
html body.lnv-page-sobre .lnv-section p { margin-bottom:0; line-height:1.75; }

/* A tiny living flourish over content, not dry leaves */
html body.lnv-page-sobre .entry-content > .lnv-life-mark,
html body.lnv-page-inicio .entry-content > .lnv-life-mark {
  width:130px; height:38px; margin:-9px auto 16px; position:relative;
}
html body .lnv-life-mark::before {
  content:""; position:absolute; left:50%; top:18px; width:86px; height:1px; transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--lnv-sprout),var(--lnv-sun),var(--lnv-sprout),transparent);
}
html body .lnv-life-mark::after {
  content:"✦"; position:absolute; left:50%; top:3px; transform:translateX(-50%); color:var(--lnv-leaf); font-size:18px;
}

/* Home rhythm */
html body.lnv-page-inicio .entry-content > :is(h2,h3) { position:relative; padding-left:22px; margin-top:34px; }
html body.lnv-page-inicio .entry-content > :is(h2,h3)::before {
  content:"";position:absolute;left:0;top:.18em;width:8px;height:1.15em;border-radius:999px;
  background:linear-gradient(180deg,var(--lnv-sprout),var(--lnv-water));
}
html body.lnv-page-inicio .entry-content > p { max-width:82ch; }

/* Common Gutenberg/Kadence buttons */
html body.lumen-natureza-viva :is(.wp-block-button__link,.button,.kb-button) {
  border-radius:999px!important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
html body.lumen-natureza-viva :is(.wp-block-button__link,.button,.kb-button):hover {
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(47,102,67,.16);
}

/* soft life glow */
html body.lnv-soft-motion .lnv-life-glow {
  position:fixed; width:18rem; aspect-ratio:1; border-radius:50%; pointer-events:none; z-index:0;
  right:-8rem; bottom:-8rem; opacity:.22;
  background:radial-gradient(circle,var(--lnv-sun),var(--lnv-mist) 42%,transparent 70%);
  animation:lnv-breathe 8s ease-in-out infinite;
}
@keyframes lnv-breathe { 0%,100%{transform:scale(.94);opacity:.18} 50%{transform:scale(1.05);opacity:.28} }
@media (prefers-reduced-motion:reduce){ html body.lnv-soft-motion .lnv-life-glow{animation:none} }

@media(max-width:760px){
  html body.lnv-page-sobre .entry-content,html body.lnv-page-inicio .entry-content{padding:24px 20px!important;border-radius:18px!important}
  html body.lnv-page-sobre .lnv-section{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:22px 0}
  html body.lnv-page-sobre .lnv-icon{width:50px;height:50px}
  html body.lnv-page-sobre .lnv-icon svg{width:28px;height:28px}
}
