/*
Theme Name: JuegoRPG Retro
Theme URI: https://juegorpg.com/
Author: JuegoRPG.com
Description: Tema editorial pixel-art ligero para el calendario, noticias, reportajes y reviews de JuegoRPG.com.
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: juegorpg-retro
*/
:root{--void:#0b0d21;--night:#151937;--panel:#222650;--paper:#f6efd9;--cyan:#3ce1d8;--pink:#fa65ac;--gold:#ffd166;--green:#7be495;--ink:#11142d;--white:#fffaf0;--muted:#a7acd1;--pixel:4px;--wrap:1240px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--white);font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Consolas,monospace;line-height:1.6;background-image:linear-gradient(rgba(60,225,216,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(60,225,216,.025) 1px,transparent 1px);background-size:24px 24px}
a{color:inherit}
img{max-width:100%;height:auto;image-rendering:auto}
.screen-reader-text{position:absolute;left:-9999px}
.site-wrap{width:min(calc(100% - 32px),var(--wrap));margin:auto}
.pixel-border{border:var(--pixel) solid var(--ink);box-shadow:8px 8px 0 rgba(0,0,0,.45)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(11,13,33,.96);border-bottom:4px solid var(--cyan);backdrop-filter:blur(8px)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-logo{display:flex;align-items:center;height:72px;min-width:0;flex-shrink:1}
.site-logo .custom-logo-link{display:flex;align-items:center;height:100%;max-width:min(320px,48vw);text-decoration:none}
.site-logo .custom-logo{display:block;width:auto;height:auto;max-width:100%;max-height:52px;object-fit:contain}
.site-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand-gem{width:36px;height:36px;background:var(--gold);clip-path:polygon(50% 0,100% 35%,82% 100%,18% 100%,0 35%);box-shadow:inset 0 -9px 0 #f59e3d;position:relative}
.brand-gem:after{content:"";position:absolute;inset:8px;background:#fff3a7;clip-path:inherit}
.brand-text{font-size:clamp(1rem,2vw,1.35rem);font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.brand-text em{font-style:normal;color:var(--cyan)}
.site-nav{align-self:stretch;display:flex;align-items:center}
.site-nav>.primary-menu{display:flex;align-items:center;gap:.3rem;list-style:none;padding:0;margin:0}
.site-nav li{position:relative;list-style:none}
.site-nav a{display:block;text-decoration:none;padding:.55rem .7rem;border:2px solid transparent;font-size:.74rem;text-transform:uppercase;font-weight:900}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{border-color:var(--pink);color:var(--pink)}
.site-nav .menu-item-has-children>a:after{content:" ▾";color:var(--gold)}
.site-nav .sub-menu{position:absolute;z-index:60;top:100%;left:0;display:none;min-width:230px;margin:0;padding:.45rem;background:var(--void);border:3px solid var(--cyan);box-shadow:6px 6px 0 rgba(0,0,0,.45)}
.site-nav .sub-menu .sub-menu{top:-3px;left:calc(100% + 3px)}
.site-nav .sub-menu a{padding:.65rem .75rem;white-space:nowrap}
.site-nav .sub-menu .menu-item-has-children>a:after{content:" ▸"}
.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}
.menu-toggle{display:none;background:var(--gold);border:3px solid var(--ink);padding:.5rem;font-weight:900}

.hero{position:relative;overflow:hidden;padding:clamp(4rem,8vw,7.5rem) 0 5rem;border-bottom:4px solid var(--pink);background:linear-gradient(#151938 0 64%,#252658 64% 70%,#10132d 70%)}
.stars,.stars:before,.stars:after{position:absolute;inset:0;content:"";background-image:radial-gradient(circle,#fff 1px,transparent 2px);background-size:87px 91px;opacity:.45}
.stars:before{transform:translate(35px,25px);background-size:131px 119px}
.stars:after{transform:translate(12px,42px);background-image:radial-gradient(circle,var(--cyan) 1px,transparent 2px);background-size:173px 149px}
.pixel-moon{position:absolute;right:8%;top:16%;width:122px;height:122px;background:var(--gold);border:8px solid #f1a94b;box-shadow:12px 12px 0 rgba(0,0,0,.2);clip-path:polygon(20% 0,80% 0,80% 7%,93% 7%,93% 20%,100% 20%,100% 80%,93% 80%,93% 93%,80% 93%,80% 100%,20% 100%,20% 93%,7% 93%,7% 80%,0 80%,0 20%,7% 20%,7% 7%,20% 7%)}
.castle{position:absolute;right:0;bottom:0;width:42%;height:42%;background:#090b1b;clip-path:polygon(0 100%,0 78%,7% 78%,7% 61%,13% 61%,13% 81%,20% 81%,20% 45%,24% 45%,24% 29%,29% 29%,29% 45%,34% 45%,34% 81%,42% 81%,42% 68%,48% 68%,48% 81%,57% 81%,57% 51%,61% 51%,61% 34%,66% 34%,66% 51%,70% 51%,70% 81%,78% 81%,78% 66%,85% 66%,85% 80%,92% 80%,92% 72%,100% 72%,100% 100%)}
.hero-inner{position:relative;z-index:2;max-width:760px}
.eyebrow{display:inline-block;background:var(--pink);color:var(--ink);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:.35rem .65rem;font-size:.72rem;font-weight:1000;text-transform:uppercase;transform:rotate(-1deg)}
.hero h1{font-size:clamp(2.5rem,8vw,6.5rem);line-height:.88;text-transform:uppercase;letter-spacing:-.06em;margin:1.6rem 0 1rem;text-shadow:5px 5px 0 #433380}
.hero h1 span{display:block;color:var(--cyan)}
.hero p{max-width:650px;color:#d7d9ef;font-family:system-ui,sans-serif;font-size:clamp(1rem,2vw,1.2rem)}
.hero-welcome{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;max-width:720px;margin-top:1.7rem;padding:.7rem .9rem;background:rgba(34,38,80,.94);border:3px solid var(--cyan);box-shadow:6px 6px 0 var(--pink);color:var(--white);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.hero-welcome span{background:var(--pink);color:var(--ink);padding:.2rem .45rem;font-size:.62rem;font-weight:1000;text-transform:uppercase;white-space:nowrap}
.hero-welcome strong{font-size:.88rem;text-transform:uppercase}
.hero-welcome b{color:var(--gold);font-size:.7rem;text-transform:uppercase;white-space:nowrap}
.hero-welcome:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--pink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.pixel-button{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--ink);border:4px solid var(--ink);box-shadow:6px 6px 0 var(--pink);padding:.75rem 1rem;text-decoration:none;text-transform:uppercase;font-weight:1000;font-size:.78rem}
.pixel-button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--pink)}
.pixel-button.alt{background:var(--panel);color:var(--white);box-shadow:6px 6px 0 var(--cyan)}

.ticker{background:var(--gold);color:var(--ink);border-bottom:4px solid var(--ink);overflow:hidden}
.ticker-inner{display:flex;align-items:center;min-height:46px;gap:1rem}
.ticker-label{background:var(--ink);color:var(--gold);font-weight:1000;text-transform:uppercase;padding:.25rem .5rem;white-space:nowrap}
.ticker p{margin:0;font-weight:800;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.calendar-section{padding:4rem 0;background:var(--paper);color:var(--ink)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.section-heading small{color:#6b6382;text-transform:uppercase;font-weight:900}
.section-heading h1,.section-heading h2{margin:.2rem 0 0;text-transform:uppercase;font-size:clamp(1.8rem,4vw,3rem);line-height:1}
.section-heading h1:before,.section-heading h2:before{content:"// ";color:var(--pink)}
.section-heading p{max-width:440px;margin:0;font-family:system-ui,sans-serif;color:#5a5970}
.calendar-shell .jprpg-calendar-app{margin:0}

.dashboard-strip{background:var(--night);padding:4rem 0;border-top:4px solid var(--cyan);border-bottom:4px solid var(--cyan)}
.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem}
.quest-panel{background:var(--panel);border:4px solid #080a19;box-shadow:8px 8px 0 var(--pink);padding:1.5rem}
.quest-panel h2{margin-top:0;text-transform:uppercase}
.quest-panel h2:before{content:"> ";color:var(--green)}
.quest-panel .jprpg-upcoming article{border-color:#4d527e}
.quest-panel .jprpg-upcoming time{color:var(--gold)}
.quest-panel .jprpg-upcoming a{text-decoration:none}
.quest-panel .jprpg-upcoming a:hover{color:var(--cyan)}
.newsletter{background:var(--cyan);color:var(--ink);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--gold);padding:1.5rem;display:flex;flex-direction:column;justify-content:center}
.newsletter .pixel-icon{font-size:3rem}
.newsletter h2{font-size:1.6rem;text-transform:uppercase;margin:.5rem 0}
.newsletter p{font-family:system-ui,sans-serif}
.newsletter form{display:flex}
.newsletter input{min-width:0;flex:1;border:3px solid var(--ink);padding:.7rem;font:inherit}
.newsletter button{border:3px solid var(--ink);background:var(--pink);font-weight:1000;padding:.7rem;cursor:pointer}

.content-section{padding:4rem 0}
.content-section .section-heading small{color:var(--cyan)}
.content-section .section-heading p{color:var(--muted)}
.news-archive{min-height:60vh}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post-card{background:var(--paper);color:var(--ink);border:4px solid #080a19;box-shadow:7px 7px 0 #3a2c74;position:relative}
.post-card-media{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#31346a,#13162f);overflow:hidden}
.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease,filter .2s ease}
.post-card-media:hover img{transform:scale(1.025);filter:saturate(1.08)}
.post-card-body{padding:1.1rem}
.post-card .category{display:inline-block;background:var(--pink);padding:.2rem .4rem;font-size:.65rem;font-weight:900;text-transform:uppercase}
.post-card h3{line-height:1.25;margin:.7rem 0}
.post-card h3 a{text-decoration:none}
.post-card p{font-family:system-ui,sans-serif;font-size:.9rem;color:#55566a}
.post-card time{font-size:.68rem;color:#757185}
.coming-soon{border:3px dashed #62688c;padding:2rem;text-align:center;color:var(--muted);grid-column:1/-1}
.coming-soon strong{display:block;color:var(--cyan);font-size:1.2rem;text-transform:uppercase}
.posts-pagination{margin-top:2.5rem}
.posts-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.posts-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:.5rem .75rem;background:var(--panel);border:3px solid var(--ink);box-shadow:4px 4px 0 #3a2c74;color:var(--white);font-size:.72rem;font-weight:900;text-decoration:none;text-transform:uppercase}
.posts-pagination .page-numbers:hover,.posts-pagination .page-numbers.current{background:var(--gold);color:var(--ink);box-shadow:4px 4px 0 var(--pink)}

.site-main{min-height:60vh}
.content-wrap{max-width:900px;margin:0 auto;padding:4rem 1rem}
.entry-card{background:var(--paper);color:var(--ink);border:4px solid #080a19;box-shadow:10px 10px 0 #392b72;padding:clamp(1.2rem,4vw,3rem)}
.entry-card h1{text-transform:uppercase;line-height:1.1}
.entry-content{font-family:system-ui,sans-serif}
.entry-content a{color:#6e318e}
.entry-content img{border:4px solid var(--ink)}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.archive-title{text-transform:uppercase;color:var(--cyan);font-size:clamp(2rem,5vw,4rem)}

.event-detail-grid{display:grid;grid-template-columns:1fr 280px;gap:2rem}
.event-facts{background:var(--night);color:#fff;padding:1rem;border:4px solid var(--ink)}
.event-facts dt{color:var(--cyan);font-weight:900;text-transform:uppercase;font-size:.7rem}
.event-facts dd{margin:0 0 1rem}
.event-source{display:block;background:var(--gold);color:var(--ink);border:3px solid var(--ink);padding:.6rem;text-align:center;text-decoration:none;font-weight:900}

.site-footer{border-top:4px solid var(--pink);background:#070918;padding:3rem 0 1rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.footer-logo{display:flex;align-items:center;min-height:52px}
.footer-logo .custom-logo-link{display:flex;align-items:center;max-width:min(300px,70vw);text-decoration:none}
.footer-logo .custom-logo{display:block;width:auto;height:auto;max-width:100%;max-height:52px;object-fit:contain}
.footer-note{color:var(--muted);font-family:system-ui,sans-serif;max-width:560px}
.footer-bottom{border-top:1px solid #383b5e;margin-top:2rem;padding-top:1rem;color:#8589ac;font-size:.72rem;display:flex;justify-content:space-between}
.footer-pixels{display:flex;gap:5px}
.footer-pixels i{display:block;width:10px;height:10px;background:var(--cyan)}
.footer-pixels i:nth-child(2){background:var(--pink)}
.footer-pixels i:nth-child(3){background:var(--gold)}

@media(max-width:900px){.site-nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--void);border-bottom:4px solid var(--cyan);padding:1rem}
.site-nav.open{display:block}
.site-nav>.primary-menu{display:block}
.site-nav li{width:100%}
.site-nav .sub-menu,.site-nav .sub-menu .sub-menu{position:static;display:block;min-width:0;margin:.2rem 0 .55rem .75rem;padding:.2rem 0 .2rem .6rem;background:transparent;border:0;border-left:3px solid var(--cyan);box-shadow:none}
.site-nav .sub-menu a{padding:.5rem .7rem;white-space:normal}
.site-nav .sub-menu .menu-item-has-children>a:after{content:" ▾"}
.menu-toggle{display:block}
.pixel-moon{right:-25px;top:12%;width:90px;height:90px}
.castle{width:65%}
.dashboard-grid,.event-detail-grid{grid-template-columns:1fr}
.post-grid,.archive-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:600px){.site-wrap{width:min(calc(100% - 20px),var(--wrap))}
.hero{padding:3.5rem 0 4rem}
.hero h1{font-size:3.2rem}
.hero-welcome{grid-template-columns:1fr;gap:.45rem;max-width:100%}
.hero-welcome span{width:max-content}
.hero-welcome b{white-space:normal}
.castle{opacity:.6;width:90%}
.section-heading{display:block}
.section-heading p{margin-top:1rem}
.dashboard-grid,.post-grid,.archive-grid,.footer-grid{grid-template-columns:1fr}
.newsletter form{display:block}
.newsletter input,.newsletter button{width:100%}
.footer-bottom{display:block}
.footer-pixels{margin-top:1rem}
}
