// ─── Bolivia Joven — Página "Nuestro Equipo" ─────────────────────────────────
const { useRef } = React; 
const { Navbar, Footer, useReveal, LinkedInIcon, ArrowRightIcon, UsersIcon } = window;

// ─── Accent palettes ──────────────────────────────────────────────
const ACCENTS = {
  red:   { solid:'var(--red)',   grad:'linear-gradient(145deg, rgba(162,0,50,0.6) 0%, rgba(20,20,20,0.92) 72%)' },
  gold:  { solid:'var(--gold)',  grad:'linear-gradient(145deg, rgba(233,211,108,0.42) 0%, rgba(20,20,20,0.92) 72%)' },
  green: { solid:'var(--green)', grad:'linear-gradient(145deg, rgba(31,113,67,0.6) 0%, rgba(20,20,20,0.92) 72%)' },
};

// ─── Team data ────────────────────────────────────────────────────
const LEADERSHIP = [
  { name:'Eduardo Larsen',  role:'Presidente',          accent:'red',   photo:'assets/bandera.png',           linkedin:'https://www.linkedin.com/in/eduardo-larsen-458b6833b/'       },
  { name:'Camila Valda',    role:'Vicepresidenta',      accent:'gold',  photo:'assets/bandera.png',           linkedin:'https://www.linkedin.com/in/camilavaldaestremadoyro/'         },
  { name:'Isabel Torrico',  role:'Directora Ejecutiva', accent:'green', photo:'assets/isabeltorrico.jpeg',    linkedin:'https://www.linkedin.com/in/isabel-torrico-a210102bb/'        },
];

const DIRECTORS = [
  { name:'Fabian Pereira',     role:'Director de Finanzas',                    photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/fabián-pereira-gómez-05760a345/' },
  { name:'Daniel Dupleich',    role:'Director de Tecnología',                  photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/daniel-dupleich-antezana-415681328/' },
  { name:'Ignacio Espejo',     role:'Director Medioambiental',                 photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/ignacio-espejo-armaza-bb15a3322/' },
  { name:'Oscar Varas',        role:'Director de Proyectos',                   photo:'assets/oscarvaras.jpg', linkedin:'https://www.linkedin.com/in/oscarvarashiza/' },
  { name:'Sofia Rojas',        role:'Directora de Cultura',                    photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/sofia-rojas-silva-422a18357/' },
  { name:'Alba Libera',        role:'Directora de Clubes',                     photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/alba-libera/' },
  { name:'Natalia Viscarra',   role:'Directora de RRHH',                       photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/natalia-viscarra-20872333b/' },
  { name:'Luciana Núñez',      role:'Directora de Marketing',                  photo:'assets/bandera.png', linkedin:'#' },
  { name:'Isabel Ballesteros', role:'Directora de Emprendedurismo',            photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/isabel-ballesteros-roman/' },
  { name:'Bernardo Aguilar',   role:'Director de Relaciones Institucionales',  photo:'assets/bandera.png', linkedin:'https://www.linkedin.com/in/bernardo-aguilar-molina-946b1725a/' },
];
// rotate brand accents across the directors grid
const ACCENT_CYCLE = ['red','gold','green'];
DIRECTORS.forEach((d,i)=> d.accent = ACCENT_CYCLE[i % 3]);

const initials = (name) => name.split(' ').slice(0,2).map(w=>w[0]).join('');

// ═══════════════════════════════════════════════════════════════════
// HERO
// ═══════════════════════════════════════════════════════════════════
const TeamHero = () => (
  <section id="top" style={{position:'relative',display:'flex',alignItems:'center',justifyContent:'center',overflow:'hidden',background:'#0e0e0e',padding:'180px 24px 110px',minHeight:'62vh'}}>
    <div style={{position:'absolute',inset:0,overflow:'hidden'}}>
      <div style={{position:'absolute',width:'58vw',height:'58vw',top:'-22%',right:'-10%',background:'radial-gradient(circle, rgba(162,0,50,0.3) 0%, transparent 65%)',animation:'blob1 9s ease-in-out infinite'}}/>
      <div style={{position:'absolute',width:'42vw',height:'42vw',bottom:'-18%',left:'-8%',background:'radial-gradient(circle, rgba(233,211,108,0.1) 0%, transparent 65%)',animation:'blob2 11s ease-in-out infinite'}}/>
      <div style={{position:'absolute',width:520,height:520,left:-140,top:'50%',marginTop:-260,border:'1px solid rgba(162,0,50,0.1)',transform:'rotate(45deg)',animation:'floatGeo 8s ease-in-out infinite'}}/>
      <div style={{position:'absolute',inset:0,backgroundImage:'linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px)',backgroundSize:'80px 80px'}}/>
      <div style={{position:'absolute',inset:0,background:'linear-gradient(180deg,rgba(10,10,10,0.25) 0%,rgba(10,10,10,0.5) 55%,rgba(20,20,20,0.95) 100%)'}}/>
    </div>
    <div style={{position:'relative',zIndex:2,textAlign:'center',maxWidth:860,margin:'0 auto'}}>
      <h1 className="font-anton hero-t2" style={{fontSize:'clamp(2.6rem,8vw,6rem)',lineHeight:1,letterSpacing:'0.02em',textTransform:'uppercase',color:'#fff',marginBottom:28}}>
        El motor detrás<br/>del <span style={{color:'var(--gold)'}}>cambio</span>
      </h1>
      <p className="hero-t3" style={{fontSize:'clamp(1rem,2.5vw,1.2rem)',color:'rgba(255,255,255,0.7)',lineHeight:1.75,maxWidth:600,margin:'0 auto'}}>
        Conoce a los jóvenes líderes que coordinan, gestionan y hacen posible cada iniciativa de Bolivia Joven a nivel nacional. Un equipo comprometido con el futuro del país.
      </p>
    </div>
  </section>
);

// ═══════════════════════════════════════════════════════════════════
// LEADERSHIP CARD (prominent)
// ═══════════════════════════════════════════════════════════════════
const LeaderCard = ({ m, delay }) => {
  const a = ACCENTS[m.accent];
  return (
    <div className={`tcard reveal ${delay}`} style={{textAlign:'center'}}>
      {/* top accent line */}
      <div style={{position:'absolute',top:0,left:0,right:0,height:3,background:a.solid,zIndex:3}}/>
      <div className="tavatar" style={{height:300,background:a.grad}}>
        {m.photo
          ? <img src={m.photo} alt={m.name} style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:'cover',objectPosition:'top'}}/>
          : <><div className="tavatar-pattern"/><span className="tavatar-mono" style={{fontSize:'4.5rem'}}>{initials(m.name)}</span></>
        }
      </div>
      <div style={{padding:'28px 28px 32px'}}>
        <span style={{display:'inline-block',fontSize:10.5,fontWeight:700,letterSpacing:'0.14em',textTransform:'uppercase',color:a.solid,marginBottom:12}}>{m.role}</span>
        <h3 style={{fontSize:'1.45rem',fontWeight:700,color:'#fff',marginBottom:20,fontFamily:"'Poppins',sans-serif"}}>{m.name}</h3>
        <a href={m.linkedin} className="li-btn" aria-label={`LinkedIn de ${m.name}`} style={{margin:'0 auto'}} target="_blank" rel="noopener noreferrer">
          <LinkedInIcon size={18}/>
        </a>
      </div>
    </div>
  );
};

// ═══════════════════════════════════════════════════════════════════
// DIRECTOR CARD (grid)
// ═══════════════════════════════════════════════════════════════════
const DirectorCard = ({ m, delay }) => {
  const a = ACCENTS[m.accent];
  return (
    <div className={`tcard reveal ${delay}`}>
      <div className="tavatar" style={{height:210,background:a.grad}}>
               {m.photo                                                                                                                              
                 ? <img src={m.photo} alt={m.name} style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:'cover',objectPosition:'top'}}/>                                                                                                                                       
                : <><div className="tavatar-pattern"/><span className="tavatar-mono" style={{fontSize:'3rem'}}>{initials(m.name)}</span></>         
              } 
      </div>
      <div style={{padding:'20px 22px 24px',display:'flex',alignItems:'flex-end',justifyContent:'space-between',gap:14}}>
        <div style={{minWidth:0}}>
          <h3 style={{fontSize:'1.05rem',fontWeight:700,color:'#fff',marginBottom:6,fontFamily:"'Poppins',sans-serif",lineHeight:1.25}}>{m.name}</h3>
          <p style={{fontSize:'0.8rem',fontWeight:500,color:a.solid,letterSpacing:'0.02em',lineHeight:1.35}}>{m.role}</p>
        </div>
        <a href={m.linkedin} className="li-btn" aria-label={`LinkedIn de ${m.name}`} target="_blank" rel="noopener noreferrer">
          <LinkedInIcon size={17}/>
        </a>
      </div>
    </div>
  );
};

// ═══════════════════════════════════════════════════════════════════
// LEADERSHIP SECTION
// ═══════════════════════════════════════════════════════════════════
const Leadership = () => {
  const ref = useRef(null);
  useReveal(ref);
  return (
    <section ref={ref} className="section-base" style={{background:'var(--bg)',borderTop:'1px solid var(--border)'}}>
      <div className="section-inner">
        <div style={{textAlign:'center',maxWidth:600,margin:'0 auto 56px'}}>
          <div className="reveal" style={{display:'flex',justifyContent:'center',marginBottom:12}}><div className="gold-line"/></div>
          <h2 className="reveal reveal-d1 font-anton" style={{fontSize:'clamp(1.8rem,4.5vw,3rem)',textTransform:'uppercase',color:'#fff',lineHeight:1.1,marginBottom:16}}>
            Alta <span style={{color:'var(--gold)'}}>Dirección</span>
          </h2>
          <p className="reveal reveal-d2" style={{fontSize:'0.98rem',lineHeight:1.8,color:'rgba(255,255,255,0.6)'}}>
            La mesa directiva que define el rumbo estratégico de Bolivia Joven.
          </p>
        </div>
        <div style={{display:'grid',gridTemplateColumns:'repeat(auto-fit,minmax(260px,1fr))',gap:26,maxWidth:920,margin:'0 auto'}}>
          {LEADERSHIP.map((m,i)=>(
            <LeaderCard key={m.name} m={m} delay={`reveal-d${i+1}`}/>
          ))}
        </div>
      </div>
    </section>
  );
};

// ═══════════════════════════════════════════════════════════════════
// DIRECTORS SECTION
// ═══════════════════════════════════════════════════════════════════
const Directors = () => {
  const ref = useRef(null);
  useReveal(ref);
  return (
    <section ref={ref} className="section-base" style={{background:'var(--bg2)',borderTop:'1px solid var(--border)',borderBottom:'1px solid var(--border)'}}>
      <div className="section-inner">
        <div style={{maxWidth:640,marginBottom:52}}>
          <div className="reveal gold-line"/>
          <h2 className="reveal reveal-d1 font-anton" style={{fontSize:'clamp(1.8rem,4.5vw,3rem)',textTransform:'uppercase',color:'#fff',lineHeight:1.1,marginBottom:18}}>
            Directores <span style={{color:'var(--gold)'}}>Nacionales</span>
          </h2>
          <p className="reveal reveal-d2" style={{fontSize:'0.98rem',lineHeight:1.8,color:'rgba(255,255,255,0.6)'}}>
            El equipo operativo que lidera cada área y convierte la visión en acción concreta en todo el país.
          </p>
        </div>
        <div className="team-grid" style={{display:'grid',gridTemplateColumns:'repeat(auto-fill,minmax(230px,1fr))',gap:22}}>
          {DIRECTORS.map((m,i)=>(
            <DirectorCard key={m.name} m={m} delay={`reveal-d${(i%4)+1}`}/>
          ))}
        </div>
      </div>
    </section>
  );
};

// ═══════════════════════════════════════════════════════════════════
// CTA — VOLUNTARIADO
// ═══════════════════════════════════════════════════════════════════
const VolunteerCTA = () => {
  const ref = useRef(null);
  useReveal(ref);
  return (
    <section ref={ref} style={{position:'relative',overflow:'hidden'}}>
      <div style={{position:'absolute',inset:0,background:'#0e0e0e'}}>
        <div style={{position:'absolute',inset:0,background:'linear-gradient(120deg, rgba(162,0,50,0.9) 0%, rgba(180,14,40,0.72) 38%, rgba(20,20,20,0) 72%)'}}/>
        <div style={{position:'absolute',top:'-30%',right:'-8%',width:'52vw',height:'52vw',background:'radial-gradient(circle, rgba(233,211,108,0.14) 0%, transparent 65%)'}}/>
        <div style={{position:'absolute',inset:0,backgroundImage:'repeating-linear-gradient(-55deg,transparent,transparent 40px,rgba(255,255,255,0.015) 40px,rgba(255,255,255,0.015) 41px)'}}/>
        <div style={{position:'absolute',right:-80,bottom:-80,width:380,height:380,border:'1px solid rgba(233,211,108,0.08)',transform:'rotate(45deg)'}}/>
        <div style={{position:'absolute',inset:0,background:'linear-gradient(180deg,transparent 0%,rgba(10,10,10,0.4) 100%)'}}/>
      </div>
      <div className="section-base" style={{position:'relative',zIndex:2}}>
        <div className="section-inner" style={{textAlign:'center',maxWidth:760,margin:'0 auto'}}>
          <div className="reveal" style={{display:'inline-flex',alignItems:'center',justifyContent:'center',width:64,height:64,borderRadius:16,background:'rgba(233,211,108,0.14)',border:'1px solid rgba(233,211,108,0.3)',marginBottom:28}}>
            <UsersIcon size={30} style={{color:'var(--gold)'}}/>
          </div>
          <h2 className="reveal reveal-d1 font-anton" style={{fontSize:'clamp(2rem,5.5vw,4rem)',textTransform:'uppercase',color:'#fff',lineHeight:1.02,marginBottom:24,textShadow:'0 4px 40px rgba(0,0,0,0.5)'}}>
            ¿Quieres liderar el <span style={{color:'var(--gold)'}}>cambio</span> con nosotros?
          </h2>
          <p className="reveal reveal-d2" style={{fontSize:'1.1rem',color:'rgba(255,255,255,0.78)',lineHeight:1.75,maxWidth:560,margin:'0 auto 44px'}}>
            Siempre estamos buscando mentes brillantes y corazones dispuestos a transformar Bolivia. Los miembros más destacados tendrán la oportunidad de convertirse en directores y liderar proyectos impactantes.
          </p>
          <a href="/unete" className="btn-primary reveal reveal-d3"
            style={{fontSize:'1rem',padding:'15px 38px',background:'var(--gold)',color:'#141414',fontWeight:700,letterSpacing:'0.04em',boxShadow:'0 0 40px rgba(233,211,108,0.35)'}}>
            Únete <ArrowRightIcon size={17}/>
          </a>
        </div>
      </div>
    </section>
  );
};

// ═══════════════════════════════════════════════════════════════════
// APP
// ═══════════════════════════════════════════════════════════════════
const TeamPage = () => (
  <React.Fragment>
    <Navbar page="team" />
    <main>
      <TeamHero />
      <Leadership />
      <Directors />
      <VolunteerCTA />
    </main>
    <Footer page="team" />
  </React.Fragment>
);

ReactDOM.createRoot(document.getElementById('root')).render(<TeamPage />);
