/*
Theme Name: Bitácoras del Alma
Theme URI: https://eloraculodemialma.blog
Author: El Oráculo de mi Alma
Author URI: https://eloraculodemialma.blog
Description: Tema oscuro con cosmos, flores de sakura y escritura ontológica creativa. Diseño personalizado para Bitácoras del Alma.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: bitacoras-del-alma
Tags: dark, blog, custom-colors, custom-logo, featured-images, sakura
*/


:root {
  --n1: #0D0418;
  --n2: #1A0A2E;
  --n3: #2A0A4E;
  --v1: #4B2067;
  --v2: #6B3FA0;
  --v3: #9B6FC4;
  --v4: #C084D4;
  --r1: #FADADD;
  --r2: #F4B8C1;
  --r3: #E8A0BF;
  --r4: #D4789A;
  --r5: #A84C6C;
  --d1: #C9A84C;
  --d2: #E8C87A;
  --cr: #FDF6EE;
  --tx: #FADADD;
  --tx2: #C4A0B4;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--n1);color:var(--tx);font-family:'Lora',Georgia,serif;overflow-x:hidden;}

/* ══ PÉTALOS ══ */
#sakura{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden;}
.petal{position:absolute;top:-40px;border-radius:150% 0 150% 0;animation:fall linear infinite;opacity:0;}
@keyframes fall{
  0%{opacity:0;transform:translateY(0) rotate(0deg) translateX(0);}
  5%{opacity:0.75;}90%{opacity:0.45;}
  100%{opacity:0;transform:translateY(108vh) rotate(540deg) translateX(45px);}
}

/* ══ RAMAS FONDO FIJO ══ */
.bkg-branches{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden;}
.br{position:absolute;animation:br-b 9s ease-in-out infinite;}
.br-tl{top:-10px;left:-50px;width:clamp(270px,34vw,470px);opacity:0.11;}
.br-br{bottom:-10px;right:-50px;width:clamp(250px,31vw,440px);opacity:0.10;animation-direction:reverse;animation-duration:12s;}
.br-ml{top:35%;left:-25px;width:clamp(110px,14vw,190px);opacity:0.07;animation-duration:14s;}
@keyframes br-b{0%,100%{opacity:0.11;}50%{opacity:0.17;}}

/* ══ NAV ══ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:10px 52px;display:flex;align-items:center;justify-content:space-between;
  background:rgba(13,4,24,0.93);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(192,132,212,0.16);
  box-shadow:0 2px 24px rgba(0,0,0,0.4);
}
.nav-logo{height:64px;width:auto;filter:drop-shadow(0 0 10px rgba(192,132,212,0.45));transition:filter .3s;}
.nav-logo:hover{filter:drop-shadow(0 0 22px rgba(212,120,154,0.9));}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{
  font-family:'Cinzel Decorative',serif;font-size:.61rem;
  letter-spacing:2px;color:#F2C4D0;text-decoration:none;text-transform:uppercase;
  transition:color .3s;position:relative;
}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--d1),var(--v4));transition:width .3s;}
.nav-links a:hover{color:var(--d1);}
.nav-links a:hover::after{width:100%;}
.nav-cta{
  font-family:'Cinzel Decorative',serif;font-size:.58rem;letter-spacing:2px;
  padding:10px 22px;border:1px solid rgba(201,168,76,.5);
  color:var(--d1);text-decoration:none;transition:all .3s;background:rgba(201,168,76,.06);
}
.nav-cta:hover{background:rgba(201,168,76,.15);box-shadow:0 0 18px rgba(201,168,76,.35);}

/* ══════════════════════════════════════
   HERO — Logo flotante sobre cosmos
══════════════════════════════════════ */
.hero{
  min-height:100vh;position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;padding-top:88px;
}

/* Fondo cosmos multicapa */
.hero-cosmos{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 75% 55% at 50% 45%, rgba(107,63,160,.55) 0%, transparent 65%),
    radial-gradient(ellipse 40% 35% at 30% 60%, rgba(168,76,108,.28) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 72% 38%, rgba(75,32,103,.35) 0%, transparent 60%),
    radial-gradient(ellipse 60% 60% at 50% 50%, rgba(42,10,78,.8) 0%, transparent 80%),
    var(--n1);
}

/* Partículas de luz — pure CSS */
.stars{position:absolute;inset:0;z-index:1;overflow:hidden;}
.star{
  position:absolute;border-radius:50%;
  background:white;animation:twinkle ease-in-out infinite;
}
@keyframes twinkle{
  0%,100%{opacity:.08;transform:scale(1);}
  50%{opacity:.5;transform:scale(1.4);}
}

/* Anillo de aurora circular */
.hero-aurora{
  position:absolute;z-index:1;
  width:min(680px,90vw);height:min(680px,90vw);
  border-radius:50%;
  background:
    conic-gradient(
      from 0deg at 50% 50%,
      rgba(192,132,212,.0) 0%,
      rgba(192,132,212,.18) 12%,
      rgba(212,120,154,.22) 22%,
      rgba(201,168,76,.12) 32%,
      rgba(192,132,212,.0) 42%,
      rgba(168,76,108,.14) 58%,
      rgba(107,63,160,.20) 72%,
      rgba(192,132,212,.0) 85%,
      rgba(192,132,212,.15) 100%
    );
  filter:blur(28px);
  animation:aurora-spin 18s linear infinite;
  pointer-events:none;
}
@keyframes aurora-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* Segundo anillo más pequeño, inverso */
.hero-aurora-2{
  position:absolute;z-index:1;
  width:min(440px,65vw);height:min(440px,65vw);
  border-radius:50%;
  background:conic-gradient(
    from 180deg at 50% 50%,
    rgba(244,184,193,.0) 0%,
    rgba(244,184,193,.12) 20%,
    rgba(201,168,76,.08) 40%,
    rgba(244,184,193,.0) 55%,
    rgba(192,132,212,.10) 75%,
    rgba(244,184,193,.0) 100%
  );
  filter:blur(18px);
  animation:aurora-spin 12s linear infinite reverse;
  pointer-events:none;
}

/* Línea de horizonte brillante */
.hero-horizon{
  position:absolute;bottom:0;left:0;right:0;z-index:1;
  height:180px;
  background:linear-gradient(0deg,rgba(168,76,108,.15) 0%,transparent 100%);
  pointer-events:none;
}

/* Logo centrado */
.hero-logo-wrap{
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;
  gap:0;
}

/* Halo detrás del logo */
.logo-halo{
  position:absolute;
  width:min(500px,80vw);height:min(500px,80vw);
  border-radius:50%;
  background:radial-gradient(circle, rgba(192,132,212,.22) 0%, rgba(168,76,108,.12) 40%, transparent 70%);
  filter:blur(20px);
  animation:halo-pulse 5s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;
}
@keyframes halo-pulse{
  0%{transform:scale(0.92);opacity:.8;}
  100%{transform:scale(1.08);opacity:1;}
}

/* Partículas de luz flotando alrededor del logo */
.logo-sparks{position:absolute;inset:-60px;z-index:0;pointer-events:none;}
.spark{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:var(--d1);animation:spark-float ease-in-out infinite;
}
@keyframes spark-float{
  0%,100%{opacity:0;transform:translate(0,0) scale(0.5);}
  30%{opacity:1;}
  60%{opacity:.6;transform:translate(var(--dx,15px),var(--dy,-20px)) scale(1.2);}
}

.hero-logo{
  position:relative;z-index:2;
  width:min(460px,78vw);
  filter:drop-shadow(0 0 30px rgba(192,132,212,.7)) drop-shadow(0 0 80px rgba(212,120,154,.35));
  animation:logo-glow 4.5s ease-in-out infinite alternate;
}
@keyframes logo-glow{
  0%{filter:drop-shadow(0 0 20px rgba(192,132,212,.55)) drop-shadow(0 0 50px rgba(168,76,108,.2));}
  100%{filter:drop-shadow(0 0 45px rgba(192,132,212,.95)) drop-shadow(0 0 100px rgba(212,120,154,.55));}
}

/* Texto debajo del logo */
.hero-tagline{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1rem,1.6vw,1.28rem);font-style:italic;font-weight:300;
  color:rgba(240,196,208,.85);line-height:1.85;
  text-align:center;max-width:520px;
  margin-top:14px;position:relative;z-index:3;
}
.hero-tagline strong{color:#FDF6EE;font-style:normal;}

/* Divisor sakura */
.s-div{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px auto;position:relative;z-index:3;}
.s-div-line{width:70px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,120,154,.6));}
.s-div-line.r{background:linear-gradient(90deg,rgba(212,120,154,.6),transparent);}

.hero-btn{
  position:relative;z-index:3;
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Cinzel Decorative',serif;font-size:.62rem;letter-spacing:3px;
  color:var(--n1);
  background:linear-gradient(135deg,var(--d1) 0%,var(--r4) 55%,var(--v4) 100%);
  padding:16px 40px;text-decoration:none;text-transform:uppercase;
  transition:all .35s;box-shadow:0 4px 26px rgba(201,168,76,.38);
  border:none;
}
.hero-btn:hover{transform:translateY(-3px);box-shadow:0 10px 42px rgba(201,168,76,.6);}

/* Scroll indicator */
.hero-scroll{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:'Cinzel Decorative',serif;font-size:.48rem;
  letter-spacing:3px;color:rgba(232,160,191,.5);text-transform:uppercase;
  animation:pulse 2.5s ease-in-out infinite;z-index:3;
}
.scroll-line{width:1px;height:42px;background:linear-gradient(180deg,var(--d1),transparent);animation:sg 2.5s ease-in-out infinite;}
@keyframes sg{0%,100%{transform:scaleY(1);opacity:1;}50%{transform:scaleY(.4);opacity:.3;}}
@keyframes pulse{0%,100%{opacity:.4;}50%{opacity:.85;}}

/* ══ INTRO ══ */
.s-intro{
  padding:110px 60px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--n1) 0%,var(--n3) 50%,var(--n1) 100%);
  text-align:center;
}
.s-intro::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--r3),var(--v4),transparent);opacity:.5;
}
.intro-deco-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 65% 45% at 50% 60%,rgba(107,63,160,.18) 0%,transparent 70%);
  pointer-events:none;
}
.s-tag{font-family:'Cinzel Decorative',serif;font-size:.6rem;letter-spacing:5px;color:var(--d1);text-transform:uppercase;margin-bottom:22px;display:block;opacity:.9;position:relative;z-index:2;}
.s-h2{font-family:'Dancing Script',cursive;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;color:#FDF6EE;margin-bottom:20px;line-height:1.2;position:relative;z-index:2;text-shadow:0 0 30px rgba(192,132,212,.4);}
.s-body{font-family:'Cormorant Garamond',serif;font-size:1.12rem;font-style:italic;color:#E8C4D8;line-height:2;max-width:680px;margin:0 auto;position:relative;z-index:2;}
.s-body strong{color:#FADADD;font-style:normal;}

/* ══ CATEGORÍAS ══ */
.s-cats{padding:90px 60px;background:var(--n1);position:relative;overflow:hidden;}
.s-cats::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--r4),var(--v4),transparent);opacity:.3;
}
.sec-hd{text-align:center;margin-bottom:54px;}
.cats-g{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;max-width:1200px;margin:0 auto;}
.cat-c{
  background:rgba(192,132,212,.04);border:1px solid rgba(192,132,212,.12);
  padding:44px 22px;text-align:center;text-decoration:none;display:block;
  position:relative;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);
}
.cat-c::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--r3),var(--d1),transparent);opacity:0;transition:opacity .4s;}
.cat-c:hover{transform:translateY(-5px);border-color:rgba(192,132,212,.38);background:rgba(192,132,212,.08);}
.cat-c:hover::after{opacity:1;}
.cat-ic{font-size:2.2rem;margin-bottom:16px;display:block;transition:transform .4s;}
.cat-c:hover .cat-ic{transform:scale(1.2) rotate(-6deg);}
.cat-nm{font-family:'Dancing Script',cursive;font-size:1.1rem;font-weight:600;color:#FADADD;margin-bottom:8px;line-height:1.3;}
.cat-ds{font-size:.72rem;color:#B89AAC;line-height:1.6;font-style:italic;}

/* ══ POSTS ══ */
.s-posts{
  padding:90px 60px;
  background:linear-gradient(180deg,var(--n1) 0%,rgba(42,10,78,.2) 50%,var(--n1) 100%);
}
.posts-g{display:grid;grid-template-columns:1.55fr 1fr;gap:4px;max-width:1200px;margin:0 auto;}
.post-ft{
  background:rgba(192,132,212,.04);border:1px solid rgba(192,132,212,.15);
  overflow:hidden;text-decoration:none;display:block;transition:all .35s;
}
.post-ft:hover{border-color:rgba(201,168,76,.45);box-shadow:0 10px 40px rgba(0,0,0,.35);}
.post-im{
  width:100%;aspect-ratio:16/9;
  background:linear-gradient(135deg,rgba(250,218,221,.1),rgba(192,132,212,.22),rgba(75,32,103,.7));
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.post-im::before{content:'🌸 🌸 🌸';position:absolute;font-size:4.5rem;opacity:.08;letter-spacing:18px;}
.post-im::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(13,4,24,.9) 100%);}
.post-im-lb{font-family:'Cinzel Decorative',serif;font-size:.5rem;letter-spacing:3px;color:rgba(255,255,255,.28);text-transform:uppercase;position:relative;z-index:1;}
.post-bd{padding:34px;}
.post-cat{font-family:'Cinzel Decorative',serif;font-size:.54rem;letter-spacing:3px;color:var(--v4);text-transform:uppercase;margin-bottom:12px;display:block;}
.post-ti{font-family:'Dancing Script',cursive;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:600;color:#FDF6EE;line-height:1.25;margin-bottom:12px;}
.post-ex{font-size:.86rem;font-style:italic;color:#C4A0B4;line-height:1.88;margin-bottom:20px;}
.post-mt{display:flex;gap:14px;flex-wrap:wrap;font-family:'Cinzel Decorative',serif;font-size:.5rem;letter-spacing:2px;color:#8A6070;text-transform:uppercase;}
.dot{color:var(--r2);opacity:.6;}
.posts-r{display:flex;flex-direction:column;gap:4px;}
.post-sm{
  flex:1;padding:26px 28px;background:rgba(192,132,212,.03);
  border:1px solid rgba(192,132,212,.09);text-decoration:none;display:block;
  transition:all .3s;position:relative;overflow:hidden;
}
.post-sm:hover{background:rgba(232,160,191,.06);border-color:rgba(232,160,191,.25);}
.post-sm .post-ti{font-size:1.05rem;margin-bottom:8px;}
.post-sm .post-ex{font-size:.78rem;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ══ PULLQUOTE ══ */
.s-oracle{
  padding:110px 60px;position:relative;
  text-align:center;overflow:hidden;
}
.oracle-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(107,63,160,.22) 0%,transparent 65%);
}
.s-oracle::before,.s-oracle::after{
  content:'🌸 ✦ 🌸 ✦ 🌸 ✦ 🌸 ✦ 🌸';display:block;
  position:absolute;left:0;right:0;text-align:center;
  font-size:.9rem;letter-spacing:8px;opacity:.1;color:var(--r3);
}
.s-oracle::before{top:36px;} .s-oracle::after{bottom:36px;}
.oracle-c{position:relative;z-index:2;max-width:800px;margin:0 auto;}
.oracle-ic{font-size:2.6rem;margin-bottom:28px;display:block;opacity:.6;animation:float 4s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-10px) rotate(4deg);}}
.oracle-q{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.5vw,2.9rem);font-weight:300;font-style:italic;color:#FDF6EE;line-height:1.48;margin-bottom:36px;}
.oracle-q em{color:#F4B8C1;} .oracle-q strong{color:var(--v4);font-style:normal;font-weight:300;}
.oracle-at{font-family:'Cinzel Decorative',serif;font-size:.6rem;letter-spacing:5px;color:var(--d1);text-transform:uppercase;opacity:.75;}

/* ══ NEWSLETTER ══ */
.s-news{padding:90px 60px;position:relative;overflow:hidden;}
.news-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(42,10,78,.98) 0%,rgba(107,63,160,.95) 50%,rgba(168,76,108,.9) 100%);
}
.news-in{
  position:relative;z-index:2;max-width:640px;margin:0 auto;text-align:center;
  background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.22);padding:65px 70px;
}
.news-in::before{content:'';position:absolute;top:-1px;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent,var(--r3),var(--d1),transparent);}
.news-ic{font-size:2.8rem;margin-bottom:20px;display:block;animation:float 3.5s ease-in-out infinite;}
.news-in h2{font-family:'Dancing Script',cursive;font-size:clamp(1.9rem,3vw,2.9rem);font-weight:600;color:#FDF6EE;margin-bottom:12px;line-height:1.2;}
.news-in h2 span{color:var(--v4);}
.news-in > p{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:#E8C4D8;line-height:1.85;margin-bottom:36px;max-width:440px;margin-left:auto;margin-right:auto;}
.news-form{display:flex;max-width:420px;margin:0 auto;}
.news-form input{flex:1;padding:14px 20px;background:rgba(255,255,255,.07);border:1px solid rgba(192,132,212,.28);border-right:none;color:#FDF6EE;font-family:'Lora',serif;font-style:italic;font-size:.86rem;outline:none;transition:border-color .3s;}
.news-form input::placeholder{color:rgba(253,246,238,.28);}
.news-form input:focus{border-color:var(--r3);}
.news-form button{padding:14px 24px;background:linear-gradient(135deg,var(--v2),var(--v4));border:none;color:#FDF6EE;font-family:'Cinzel Decorative',serif;font-size:.52rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;white-space:nowrap;}
.news-form button:hover{box-shadow:0 0 22px rgba(192,132,212,.55);}
.news-note{font-family:'Cinzel Decorative',serif;font-size:.48rem;letter-spacing:2px;color:rgba(253,246,238,.26);text-transform:uppercase;margin-top:16px;}

/* ══ DONACIÓN ══ */
.s-don{padding:75px 60px;text-align:center;background:var(--n1);position:relative;overflow:hidden;}
.s-don::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);}
.don-in{max-width:540px;margin:0 auto;position:relative;z-index:1;}
.don-tag{font-family:'Cinzel Decorative',serif;font-size:.6rem;letter-spacing:5px;color:var(--d1);text-transform:uppercase;opacity:.88;margin-bottom:18px;display:block;}
.don-in h2{font-family:'Dancing Script',cursive;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:600;color:#FDF6EE;line-height:1.25;margin-bottom:16px;}
.don-in p{font-family:'Cormorant Garamond',serif;font-size:.96rem;font-style:italic;color:#C4A0B4;line-height:1.9;margin-bottom:34px;}
.don-btn{display:inline-flex;align-items:center;gap:10px;font-family:'Cinzel Decorative',serif;font-size:.6rem;letter-spacing:3px;color:var(--n1);background:linear-gradient(135deg,var(--d1),var(--r4));padding:16px 42px;text-decoration:none;text-transform:uppercase;transition:all .35s;box-shadow:0 4px 24px rgba(201,168,76,.2);}
.don-btn:hover{transform:translateY(-3px);box-shadow:0 10px 38px rgba(201,168,76,.48);}

/* ══ FOOTER ══ */
footer{background:linear-gradient(180deg,var(--n1) 0%,var(--n1) 100%);padding:70px 60px 36px;position:relative;overflow:hidden;}
footer::before{content:'';position:absolute;top:-1px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,var(--r4),var(--d1),var(--v4),transparent);opacity:.5;}
.ft-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:60px;margin-bottom:50px;}
.ft-logo{height:88px;width:auto;margin-bottom:18px;display:block;filter:drop-shadow(0 0 10px rgba(192,132,212,.3));}
.ft-brand p{font-family:'Lora',serif;font-size:.8rem;font-style:italic;color:#785868;line-height:1.85;max-width:240px;}
.ft-col h4{font-family:'Cinzel Decorative',serif;font-size:.54rem;letter-spacing:3px;color:var(--d1);text-transform:uppercase;margin-bottom:22px;opacity:.88;}
.ft-col ul{list-style:none;}
.ft-col ul li{margin-bottom:12px;}
.ft-col ul li a{font-family:'Lora',serif;font-size:.82rem;font-style:italic;color:#785868;text-decoration:none;transition:color .3s;}
.ft-col ul li a:hover{color:#FADADD;}
.ft-bot{border-top:1px solid rgba(255,255,255,.05);padding-top:28px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.ft-bot p{font-family:'Cinzel Decorative',serif;font-size:.48rem;letter-spacing:2px;color:rgba(120,88,104,.5);text-transform:uppercase;}
.ft-soc{display:flex;gap:12px;}
.soc-a{width:36px;height:36px;border:1px solid rgba(232,160,191,.18);display:flex;align-items:center;justify-content:center;color:rgba(232,160,191,.38);font-size:.9rem;text-decoration:none;transition:all .3s;}
.soc-a:hover{border-color:var(--r2);color:var(--r2);box-shadow:0 0 14px rgba(244,184,193,.3);}

/* ══ REVEAL ══ */
.rv{opacity:0;transform:translateY(26px);transition:all .9s cubic-bezier(.16,1,.3,1);}
.rv.on{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}

/* ══ RESPONSIVE ══ */
@media(max-width:900px){
  nav{padding:10px 18px;}
  .nav-links{display:none;}
  .hero-logo{width:min(340px,85vw);}
  .cats-g{grid-template-columns:repeat(2,1fr);}
  .cats-g .cat-c:last-child{grid-column:span 2;}
  .posts-g{grid-template-columns:1fr;}
  .news-in{padding:40px 24px;}
  .news-form{flex-direction:column;}
  .news-form input{border-right:1px solid rgba(192,132,212,.28);border-bottom:none;}
  .ft-in{grid-template-columns:1fr 1fr;gap:36px;}
  .s-intro,.s-cats,.s-posts,.s-oracle,.s-news,.s-don,footer{padding:70px 22px !important;}
}


/* ── WordPress core overrides ── */
body.home { margin: 0; padding: 0; }
.site-header { display: none; }
.site-footer-wp { display: none; }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
* { -webkit-font-smoothing: antialiased; }

/* ── WordPress menu integration ── */
.wp-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 34px; }
.wp-nav ul li a {
  font-family: 'Cinzel Decorative', serif;
  font-size: 0.61rem; letter-spacing: 2px;
  color: #F2C4D0; text-decoration: none;
  text-transform: uppercase; transition: color .3s;
  position: relative;
}
.wp-nav ul li a:hover { color: var(--d1); }

/* ── WordPress widget areas ── */
.widget { margin-bottom: 30px; }
.widget-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: 0.58rem; letter-spacing: 4px;
  color: var(--d1); text-transform: uppercase;
  margin-bottom: 16px;
}

/* ── WordPress post content ── */
.entry-content {
  font-family: 'Lora', Georgia, serif;
  font-size: 1.05rem; line-height: 1.95;
  color: #E8C4D8; max-width: 720px;
  margin: 0 auto; padding: 60px 30px;
}
.entry-content h1, .entry-content h2, .entry-content h3 {
  font-family: 'Dancing Script', cursive;
  color: #FDF6EE; font-weight: 600;
  margin: 40px 0 16px;
}
.entry-content h1 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.entry-content h2 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.entry-content h3 { font-size: 1.4rem; }
.entry-content p { margin-bottom: 1.6em; }
.entry-content blockquote {
  border-left: 2px solid var(--r3);
  padding: 20px 30px; margin: 40px 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-style: italic;
  color: #FADADD; background: rgba(192,132,212,.06);
}
.entry-content a { color: var(--v4); border-bottom: 1px solid rgba(192,132,212,.35); transition: border-color .3s; }
.entry-content a:hover { border-color: var(--v4); }
.entry-content img { border-radius: 2px; margin: 30px 0; }

/* ── Comentarios ── */
#comments { max-width: 720px; margin: 0 auto; padding: 0 30px 60px; }
#comments h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 1.8rem; color: #FDF6EE; margin-bottom: 30px;
}
.comment-body {
  background: rgba(192,132,212,.05);
  border: 1px solid rgba(192,132,212,.14);
  padding: 24px; margin-bottom: 16px;
}
.comment-author .fn {
  font-family: 'Cinzel Decorative', serif;
  font-size: 0.6rem; letter-spacing: 2px; color: var(--d1);
  text-transform: uppercase;
}
.comment-content p {
  font-family: 'Lora', serif; font-size: .88rem;
  font-style: italic; color: #C4A0B4; line-height: 1.8; margin-top: 10px;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  width: 100%; background: rgba(255,255,255,.05);
  border: 1px solid rgba(192,132,212,.25); color: #FDF6EE;
  padding: 12px 16px; font-family: 'Lora', serif;
  font-style: italic; font-size: .88rem; outline: none;
  transition: border-color .3s; margin-bottom: 12px; display: block;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--r3); }
.comment-form input[type="submit"] {
  font-family: 'Cinzel Decorative', serif; font-size: .58rem;
  letter-spacing: 3px; text-transform: uppercase;
  background: linear-gradient(135deg, var(--v2), var(--v4));
  color: #FDF6EE; border: none; padding: 14px 32px; cursor: pointer;
  transition: all .3s;
}
.comment-form input[type="submit"]:hover { box-shadow: 0 0 20px rgba(192,132,212,.5); }

/* ══ HERO LOGO — centrado pequeño ══ */
.hero-logo-img-wrap {
  position: relative; z-index: 2;
  display: flex; justify-content: center;
  margin-bottom: 10px;
}
.hero-logo-img-wrap img,
.hero-logo-img-wrap .custom-logo {
  width: clamp(100px, 14vw, 160px) !important;
  height: auto !important;
  display: block;
  filter: drop-shadow(0 0 18px rgba(192,132,212,.7)) drop-shadow(0 0 40px rgba(212,120,154,.35));
  animation: logo-glow 4.5s ease-in-out infinite alternate;
}

/* Título del sitio en hero — tipografía elegante */
.hero-site-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  font-weight: 300;
  font-style: italic;
  color: #FDF6EE;
  text-align: center;
  letter-spacing: 2px;
  margin: 0 0 6px;
  position: relative; z-index: 2;
  text-shadow: 0 0 30px rgba(192,132,212,.4);
}

/* Nav logo — compacto */
.nav-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.nav-logo-link img,
.nav-logo-link .custom-logo {
  height: 52px !important;
  width: auto !important;
  filter: drop-shadow(0 0 8px rgba(192,132,212,.4));
  transition: filter .3s;
}
.nav-logo-link:hover img,
.nav-logo-link:hover .custom-logo {
  filter: drop-shadow(0 0 18px rgba(212,120,154,.8));
}
.nav-site-title {
  font-family: 'Dancing Script', cursive;
  font-size: 1.2rem;
  color: #FADADD;
}

/* Footer logo — tamaño justo */
.ft-brand .custom-logo-link img,
.ft-brand .custom-logo {
  height: 70px !important;
  width: auto !important;
}

/* WordPress pone .custom-logo-link — eliminar el borde que algunos temas añaden */
.custom-logo-link { display: inline-block; }
.custom-logo-link:focus { outline: 1px dotted rgba(192,132,212,.5); }

/* ══ HERO CATEGORÍA ══ */
.cat-hero {
  min-height: 52vh;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  padding-top: 88px;
  text-align: center;
}
.cat-hero-inner {
  position: relative; z-index: 3;
  max-width: 680px; margin: 0 auto;
  padding: 60px 30px 40px;
}
.cat-title {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  font-weight: 600; color: #FDF6EE;
  line-height: 1.1; margin: 12px 0;
  text-shadow: 0 0 40px rgba(192,132,212,.55);
}
.cat-subtitle {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-style: italic;
  color: #E8C4D8; line-height: 1.85;
  max-width: 480px; margin: 0 auto;
  opacity: .9;
}

/* ══ GRID DE POSTS ══ */
.s-cat-posts {
  padding: 70px 60px 100px;
  background: linear-gradient(180deg, var(--n1) 0%, var(--n2) 50%, var(--n1) 100%);
  min-height: 50vh;
}
.cat-posts-inner {
  max-width: 1200px; margin: 0 auto;
}
.cat-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 4px;
}

/* ══ CARD DE POST ══ */
.cat-post-card {
  display: block; text-decoration: none;
  background: rgba(192,132,212,.04);
  border: 1px solid rgba(192,132,212,.12);
  overflow: hidden;
  transition: all .4s cubic-bezier(.16,1,.3,1);
}
.cat-post-card:hover {
  border-color: rgba(201,168,76,.45);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
.cat-post-img {
  width: 100%; aspect-ratio: 16/9;
  background: linear-gradient(135deg,rgba(250,218,221,.1),rgba(192,132,212,.2),rgba(75,32,103,.7));
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.cat-post-img img {
  width: 100%; height: 100%;
  object-fit: cover; transition: transform .5s ease;
}
.cat-post-card:hover .cat-post-img img { transform: scale(1.04); }
.cat-post-img-icon { font-size: 3rem; opacity: .35; }
.cat-post-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg,transparent 40%,rgba(13,4,24,.85) 100%);
}
.cat-post-body { padding: 28px 30px 32px; }
.cat-post-title {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  font-weight: 600; color: #FDF6EE;
  line-height: 1.25; margin: 8px 0 10px;
  transition: color .3s;
}
.cat-post-card:hover .cat-post-title { color: var(--d2); }
.cat-post-excerpt {
  font-family: 'Lora', serif; font-size: .84rem;
  font-style: italic; color: #C4A0B4;
  line-height: 1.85; margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ══ PAGINACIÓN ══ */
.cat-pagination {
  margin-top: 60px;
  display: flex; justify-content: center;
}
.cat-pagination .nav-links {
  display: flex; gap: 8px; flex-wrap: wrap; justify-content: center;
}
.cat-pagination .page-numbers {
  font-family: 'Cinzel Decorative', serif;
  font-size: .56rem; letter-spacing: 2px;
  color: #9A7080; padding: 10px 16px;
  border: 1px solid rgba(192,132,212,.15);
  text-decoration: none; text-transform: uppercase;
  transition: all .3s; background: rgba(192,132,212,.04);
}
.cat-pagination .page-numbers:hover,
.cat-pagination .page-numbers.current {
  color: var(--d1);
  border-color: rgba(201,168,76,.45);
  background: rgba(201,168,76,.08);
}

/* ══ VACÍO ══ */
.cat-empty {
  text-align: center; padding: 80px 30px;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .s-cat-posts { padding: 50px 20px 70px; }
  .cat-posts-grid { grid-template-columns: 1fr; }
  .cat-hero { min-height: 45vh; }
  .cat-title { font-size: 2.2rem; }
}

/* ══════════════════════════════════
   WIDGET BIENVENIDA — OVERLAY
══════════════════════════════════ */
.bv-overlay {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(13,4,24,.88);
  backdrop-filter: blur(12px);
  animation: bv-fade-in .8s ease forwards;
  padding: 20px;
}
@keyframes bv-fade-in {
  from { opacity:0; }
  to   { opacity:1; }
}
.bv-overlay.cerrando {
  animation: bv-fade-out .6s ease forwards;
}
@keyframes bv-fade-out {
  from { opacity:1; transform:scale(1); }
  to   { opacity:0; transform:scale(.98); }
}

/* Tarjeta central */
.bv-card {
  position: relative;
  max-width: 520px; width: 100%;
  background: linear-gradient(145deg,rgba(42,10,78,.96),rgba(26,10,46,.98));
  border: 1px solid rgba(201,168,76,.3);
  padding: 0;
  overflow: hidden;
  animation: bv-slide-up .9s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes bv-slide-up {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Línea dorada superior */
.bv-card::before {
  content: '';
  position: absolute; top:0; left:10%; right:10%;
  height: 2px;
  background: linear-gradient(90deg,transparent,var(--r3,#E8A0BF),var(--d1,#C9A84C),transparent);
}
/* Línea dorada inferior */
.bv-card::after {
  content: '';
  position: absolute; bottom:0; left:10%; right:10%;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(201,168,76,.3),transparent);
}

/* Ramas decorativas */
.bv-branch {
  position: absolute;
  pointer-events: none;
  opacity: .25;
}
.bv-bl { bottom: -20px; left: -20px; width: 160px; }
.bv-tr { top: -20px; right: -20px; width: 140px; }

/* Contenido interior */
.bv-inner {
  position: relative; z-index: 2;
  padding: 50px 54px 44px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 0;
}

/* Icono flotante */
.bv-icon {
  font-size: 2.4rem;
  display: block; margin-bottom: 22px;
  animation: bv-float 3.5s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgba(244,184,193,.5));
}
@keyframes bv-float {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-8px) rotate(6deg); }
}

/* Fecha y hora */
.bv-fecha-wrap {
  display: flex; flex-direction: column; align-items: center;
  gap: 4px; margin-bottom: 22px;
}
.bv-fecha {
  font-family: 'Cinzel Decorative', serif;
  font-size: .6rem; letter-spacing: 3px;
  color: #C9A84C; text-transform: uppercase;
  opacity: .88;
}
.bv-hora {
  font-family: 'Cormorant Garamond', serif;
  font-size: .88rem; font-style: italic;
  color: rgba(232,196,216,.5);
}

/* Frase */
.bv-frase {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-style: italic; font-weight: 300;
  color: #FDF6EE; line-height: 1.65;
  margin: 0 0 26px;
  min-height: 60px;
  opacity: 0;
  animation: bv-text-in .8s .5s ease forwards;
}
@keyframes bv-text-in {
  from { opacity:0; transform:translateY(6px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Divisor */
.bv-divider {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 22px; width: 100%;
}
.bv-div-line {
  flex: 1; height: 1px;
  background: linear-gradient(90deg,transparent,rgba(212,120,154,.4));
}
.bv-div-line:last-child {
  background: linear-gradient(90deg,rgba(212,120,154,.4),transparent);
}
.bv-div-icon {
  color: rgba(201,168,76,.6); font-size: .85rem;
}

/* Contador */
.bv-counter-wrap {
  display: flex; flex-direction: column; align-items: center;
  gap: 6px; margin-bottom: 32px;
}
.bv-counter-label {
  font-family: 'Cinzel Decorative', serif;
  font-size: .5rem; letter-spacing: 3px;
  color: rgba(154,112,128,.7); text-transform: uppercase;
}
.bv-counter {
  font-family: 'Dancing Script', cursive;
  font-size: 2.8rem; font-weight: 600;
  color: #C084D4;
  line-height: 1;
  text-shadow: 0 0 20px rgba(192,132,212,.5);
  animation: bv-count-glow 3s ease-in-out infinite alternate;
}
@keyframes bv-count-glow {
  0%  { text-shadow: 0 0 10px rgba(192,132,212,.3); }
  100% { text-shadow: 0 0 30px rgba(192,132,212,.8), 0 0 60px rgba(212,120,154,.3); }
}

/* Botón entrar */
.bv-btn {
  font-family: 'Cinzel Decorative', serif;
  font-size: .6rem; letter-spacing: 3px;
  text-transform: uppercase;
  color: #0D0418;
  background: linear-gradient(135deg,#C9A84C,#D4789A,#C084D4);
  border: none; padding: 15px 42px;
  cursor: pointer; transition: all .35s;
  box-shadow: 0 4px 24px rgba(201,168,76,.3);
  margin-bottom: 12px;
}
.bv-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(201,168,76,.55);
}
.bv-note {
  font-family: 'Cormorant Garamond', serif;
  font-size: .78rem; font-style: italic;
  color: rgba(154,112,128,.45);
  margin: 0;
}

/* ══ BARRA VISITANTE — esquina inferior ══ */
.bv-bar {
  position: fixed; bottom: 24px; right: 24px; z-index: 1000;
  display: none; /* se muestra después de cerrar el overlay */
  align-items: center; gap: 12px;
  background: rgba(26,10,46,.92);
  border: 1px solid rgba(201,168,76,.22);
  padding: 10px 18px;
  backdrop-filter: blur(10px);
  animation: bv-bar-in .5s ease forwards;
}
.bv-bar.visible { display: flex; }
@keyframes bv-bar-in {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.bv-bar-icon { font-size: 1rem; opacity: .7; }
.bv-bar-text {
  font-family: 'Cinzel Decorative', serif;
  font-size: .48rem; letter-spacing: 2px;
  color: rgba(232,160,191,.6); text-transform: uppercase;
}
.bv-bar-num {
  font-family: 'Dancing Script', cursive;
  font-size: 1.1rem; font-weight: 600;
  color: #C084D4;
}

@media (max-width: 600px) {
  .bv-inner { padding: 40px 28px 36px; }
  .bv-frase { font-size: 1.1rem; }
  .bv-counter { font-size: 2.2rem; }
  .bv-branch { display: none; }
}

/* ══ FRASE DEL ORÁCULO en header de categoría ══ */
.cat-oracle-frase {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(.95rem,1.8vw,1.2rem);
  font-style: italic; font-weight: 300;
  color: rgba(232,196,216,.7);
  line-height: 1.75; max-width: 520px;
  margin: 18px auto 0;
  opacity: 0; animation: bv-text-in .8s .7s ease forwards;
}

/* ══ PULLQUOTE en posts ══ */
.entry-content blockquote.oracle-voice {
  border-left: 2px solid var(--d1,#C9A84C);
  background: rgba(201,168,76,.05);
  font-size: 1.15rem;
}

/* ══════════════════════════════════
   LEGIBILIDAD — refuerzo general de tipografía
   Gaby Franco · El Oráculo de mi Alma
══════════════════════════════════ */

/* ── Texto base del body ── */
body {
  color: #F0E6F0 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ── Hero tagline ── */
.hero-tagline {
  color: #F2D9E8 !important;
  opacity: 1 !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.5);
}
.hero-tagline strong {
  color: #FDF6EE !important;
}

/* ── Hero título del sitio ── */
.hero-site-title {
  color: #FDF6EE !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(75,32,103,0.6);
}

/* ── Eyebrow / tags tipo Cinzel ── */
.s-tag, .intro-tag, .sec-tag, .donate-tag,
.news-in .tag, .bv-fecha {
  color: #E8C87A !important;
  opacity: 1 !important;
}

/* ── Títulos Dancing Script ── */
.s-h2, .intro-title, .sec-title,
.cat-title, .cat-post-title, .post-ti,
.news-in h2, .don-in h2, .oracle-q {
  color: #FDF6EE !important;
  opacity: 1 !important;
  text-shadow: 0 1px 14px rgba(75,32,103,0.4);
}

/* ── Subtítulos / body italic Cormorant ── */
.s-body, .intro-text, .cat-subtitle,
.hero-tagline, .post-ex, .cat-post-excerpt,
.news-in > p, .don-in p {
  color: #EDD5E8 !important;
  opacity: 1 !important;
}

/* ── Categorías — nombre ── */
.cat-nm {
  color: #FADADD !important;
  opacity: 1 !important;
}

/* ── Categorías — descripción ── */
.cat-ds {
  color: #DDBBCC !important;
  opacity: 1 !important;
}

/* ── Post metadata ── */
.post-mt, .post-meta {
  color: #C4A8B8 !important;
  opacity: 1 !important;
}
.post-mt .dot {
  color: #F4B8C1 !important;
  opacity: 1 !important;
}

/* ── Categoría label sobre posts ── */
.post-cat {
  color: #D4A8E8 !important;
  opacity: 1 !important;
}

/* ── Nav links ── */
.nav-links a {
  color: #F2C4D0 !important;
  opacity: 1 !important;
}
.nav-links a:hover {
  color: #E8C87A !important;
}

/* ── Oracle pullquote ── */
.oracle-q {
  color: #FDF6EE !important;
  opacity: 1 !important;
}
.oracle-q em {
  color: #F4B8C1 !important;
}
.oracle-q strong {
  color: #C084D4 !important;
}
.oracle-at {
  color: #C9A84C !important;
  opacity: 1 !important;
}

/* ── Newsletter ── */
.news-in h2 {
  color: #FDF6EE !important;
}
.news-in h2 span {
  color: #C084D4 !important;
}
.news-in > p {
  color: #EDD5E8 !important;
  opacity: 1 !important;
}
.news-note {
  color: rgba(253,246,238,0.55) !important;
}

/* ── Footer ── */
.ft-brand p {
  color: #9A7888 !important;
  opacity: 1 !important;
}
.ft-col ul li a {
  color: #9A7888 !important;
  opacity: 1 !important;
}
.ft-col ul li a:hover {
  color: #FADADD !important;
}
.ft-col h4 {
  color: #C9A84C !important;
  opacity: 1 !important;
}
.ft-bot p {
  color: rgba(154,120,136,0.65) !important;
}

/* ── Widget bienvenida ── */
.bv-frase {
  color: #FDF6EE !important;
  opacity: 1 !important;
}
.bv-fecha {
  color: #C9A84C !important;
  opacity: 1 !important;
}
.bv-hora {
  color: rgba(240,218,230,0.75) !important;
}
.bv-counter-label {
  color: rgba(220,180,200,0.85) !important;
}

/* ── Single post / página ── */
.entry-content {
  color: #EDD5E8 !important;
}
.entry-content h1,
.entry-content h2,
.entry-content h3 {
  color: #FDF6EE !important;
}
.entry-content blockquote {
  color: #FADADD !important;
}

/* ── Categoría hero subtitle ── */
.cat-subtitle {
  color: #EDD5E8 !important;
  opacity: 1 !important;
}

/* ── Scroll indicator ── */
.hero-scroll {
  color: rgba(240,196,218,0.75) !important;
}

/* ── Barra de visitas ── */
.bv-bar-text {
  color: rgba(240,196,218,0.85) !important;
}
.bv-bar-num {
  color: #C084D4 !important;
}

/* ── Asegurar que NINGÚN texto quede invisible ── */
p, h1, h2, h3, h4, h5, span, a, li, div {
  -webkit-font-smoothing: antialiased;
}
