/*
Theme Name: Jordy Portfolio
Theme URI: https://jordyretana.blog
Author: Jordy Retana
Description: Tema oscuro profesional inspirado en el portafolio JR, compatible con Elementor y con plantillas visuales seleccionables.
Version: 1.2.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: jordy-portfolio
*/

:root{--jr-bg:#060816;--jr-text:#f8fafc;--jr-muted:#aeb8cc;--jr-violet:#a855f7;--jr-pink:#ec4899;--jr-border:rgba(255,255,255,.1);--jr-max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--jr-text);background:var(--jr-bg);overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
.jr-container{width:min(calc(100% - 32px),var(--jr-max));margin:auto}.jr-header{position:sticky;top:0;z-index:100;background:rgba(11,16,32,.82);border-bottom:1px solid var(--jr-border);backdrop-filter:blur(18px)}.jr-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.jr-brand{font-weight:900;letter-spacing:.12em}.jr-brand:before{content:"";display:inline-block;width:11px;height:11px;margin-right:10px;border-radius:50%;background:linear-gradient(135deg,var(--jr-violet),var(--jr-pink))}.jr-menu ul{display:flex;gap:8px;align-items:center;margin:0;padding:6px;list-style:none}.jr-menu a{display:block;padding:10px 16px;color:var(--jr-muted)}
.jr-main{position:relative;min-height:calc(100vh - 150px);padding:64px 0}.jr-content{position:relative;z-index:2}.jr-footer{position:relative;z-index:3;border-top:1px solid var(--jr-border);padding:28px 0;color:var(--jr-muted);text-align:center}
.jr-visual-template{position:relative;min-height:100vh;padding:0;isolation:isolate;overflow:hidden}.jr-visual-template>.jr-content{position:relative;z-index:2;width:100%;max-width:none;min-height:inherit}.jr-visual-template .elementor{background:transparent!important}.jr-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.jr-scene:before,.jr-scene:after{content:"";position:absolute;inset:0}

/* Fondo base literal de globals.css del portafolio React. */
.jr-visual-template{background:radial-gradient(circle at top left,rgba(168,85,247,.16),transparent 28%),radial-gradient(circle at top right,rgba(236,72,153,.12),transparent 24%),radial-gradient(circle at bottom center,rgba(139,92,246,.08),transparent 28%),linear-gradient(180deg,#060816 0%,#070b18 50%,#060816 100%)}

/* Home: hero-grid-lines + hero-particles-layer originales. */
.jr-scene-home:before{background-image:radial-gradient(circle at 18% 24%,rgba(168,85,247,.18) 0 2px,transparent 3px),radial-gradient(circle at 82% 16%,rgba(236,72,153,.16) 0 2px,transparent 3px),radial-gradient(circle at 72% 74%,rgba(96,165,250,.14) 0 2px,transparent 3px),radial-gradient(circle at 26% 72%,rgba(255,255,255,.08) 0 1px,transparent 2px),radial-gradient(circle at 64% 34%,rgba(255,255,255,.08) 0 1px,transparent 2px);background-size:240px 240px,260px 260px,220px 220px,160px 160px,180px 180px;animation:jrHeroAura 12s ease-in-out infinite alternate}.jr-scene-home:after{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:42px 42px;animation:jrGridShift 18s linear infinite;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 85%);opacity:.35}

/* Skills: ::before y ::after originales. */
.jr-scene-skills:before{background:radial-gradient(circle at 15% 12%,rgba(168,85,247,.12),transparent 18%),radial-gradient(circle at 85% 28%,rgba(236,72,153,.10),transparent 18%),linear-gradient(to bottom,rgba(255,255,255,.02),transparent 20%)}.jr-scene-skills:after{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.22),transparent 80%);opacity:.25}

/* Projects: ::before y ::after originales. */
.jr-scene-projects:before{background:radial-gradient(circle at 14% 18%,rgba(168,85,247,.12),transparent 18%),radial-gradient(circle at 86% 28%,rgba(236,72,153,.10),transparent 18%),radial-gradient(circle at 80% 82%,rgba(59,130,246,.07),transparent 16%)}.jr-scene-projects:after{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 80%);opacity:.24}

/* Experience: ::before y ::after originales. */
.jr-scene-experience:before{background:radial-gradient(circle at 12% 18%,rgba(168,85,247,.12),transparent 18%),radial-gradient(circle at 86% 26%,rgba(236,72,153,.10),transparent 18%),radial-gradient(circle at 76% 80%,rgba(59,130,246,.07),transparent 16%)}.jr-scene-experience:after{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 80%);opacity:.24}

/* Contact: ::before y ::after originales. */
.jr-scene-contact:before{background:radial-gradient(circle at 12% 14%,rgba(168,85,247,.12),transparent 18%),radial-gradient(circle at 86% 24%,rgba(236,72,153,.10),transparent 18%),radial-gradient(circle at 78% 82%,rgba(59,130,246,.07),transparent 16%)}.jr-scene-contact:after{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 80%);opacity:.24}

@keyframes jrHeroAura{from{transform:translateY(0) scale(1)}to{transform:translateY(-14px) scale(1.03)}}@keyframes jrGridShift{from{background-position:0 0,0 0}to{background-position:42px 42px,-42px 42px}}@media(max-width:760px){.jr-nav{flex-direction:column;padding:14px 0}.jr-menu ul{flex-wrap:wrap}.jr-main{padding:40px 0}}@media(prefers-reduced-motion:reduce){.jr-scene-home:before,.jr-scene-home:after{animation:none}}
