/*
Theme Name: José A. Neira — Genesis SEO
Theme URI: https://soyjoseneira.com/
Description: Tema hijo de Genesis con portada comercial editable desde Personalizar, menú sin elementos predefinidos y cuatro áreas de widgets para el pie. Compatible con Page Builder by SiteOrigin en páginas interiores.
Author: José A. Neira
Author URI: https://soyjoseneira.com/
Template: genesis
Version: 1.1.1
Requires PHP: 7.4
Text Domain: jn-genesis
License: GPL-2.0-or-later
*/
:root{--jn-navy:#082748;--jn-blue:#136fe8;--jn-red:#ee2b2b;--jn-ink:#0e2a47;--jn-muted:#60748a;--jn-wrap:1180px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#22364b;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--jn-blue)}img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--jn-blue);outline-offset:4px}
/* Genesis accessibility: skip links stay off-canvas except when keyboard-focused. */
.genesis-skip-link{margin:0;padding:0;list-style:none}
.genesis-skip-link li{height:0;margin:0;padding:0;list-style:none}
.genesis-skip-link a{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.genesis-skip-link a:focus{left:12px;top:12px;width:auto;height:auto;padding:12px 17px;overflow:visible;z-index:99999;color:#082748;background:#fff;border:2px solid #136fe8;border-radius:6px;box-shadow:0 7px 24px #08274835}
/* Genesis global containers: preserve ordinary pages, posts and SiteOrigin content. */
.site-inner{max-width:var(--jn-wrap);width:min(calc(100% - 40px),var(--jn-wrap));margin:0 auto;padding:48px 0}
.content-sidebar-wrap{display:flow-root}
.content{max-width:100%}
.content .entry{margin-bottom:40px}
.content .entry-title{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.18;color:var(--jn-ink)}
.content-sidebar .content,.sidebar-content .content{width:calc(100% - 340px)}
.content-sidebar .sidebar-primary,.sidebar-content .sidebar-primary{width:290px}
/* Header: Genesis still renders the actual .site-header wrapper. No menu items are inserted by the theme. */
.site-header{position:relative;background:#fff;border-bottom:1px solid #e3eaf2;z-index:200}
.site-header>.wrap{max-width:var(--jn-wrap);width:min(calc(100% - 40px),var(--jn-wrap));margin:auto}
.jn-header-inner{min-height:86px;display:flex;align-items:center;gap:26px}
.jn-brand{flex:0 0 auto;display:flex;align-items:center}
.jn-brand a{display:inline-flex;align-items:center;text-decoration:none}
.jn-brand img,.jn-brand .custom-logo{display:block;max-height:60px;max-width:230px;width:auto;height:auto;object-fit:contain}
.jn-brand .custom-logo-link img{max-height:60px;max-width:230px}
.jn-nav{margin-left:auto;min-width:0}
.jn-menu{display:flex;gap:20px;align-items:center;list-style:none;margin:0;padding:0}
.jn-menu li{position:relative;list-style:none;margin:0;padding:0}
.jn-menu a{display:block;font-size:.89rem;text-decoration:none;white-space:nowrap;font-weight:650;color:var(--jn-ink);padding:8px 0}
.jn-menu a:hover,.jn-menu .current-menu-item>a{color:var(--jn-blue)}
.jn-menu .sub-menu{display:none;position:absolute;z-index:50;top:100%;left:0;background:#fff;border:1px solid #e3eaf2;box-shadow:0 16px 34px #0b2c4e18;border-radius:8px;min-width:215px;padding:9px 16px;list-style:none}
.jn-menu .sub-menu li a{padding:9px 0;white-space:normal}
.jn-menu li:hover>.sub-menu,.jn-menu li:focus-within>.sub-menu{display:block}
.jn-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:10px 23px;border:0;border-radius:999px;text-align:center;text-decoration:none!important;font-weight:800;font-size:.89rem;line-height:1.25;transition:background .2s,transform .2s}
.jn-btn-primary{color:#fff!important;background:var(--jn-red);box-shadow:0 9px 22px rgba(238,43,43,.19)}
.jn-btn-primary:hover{background:#cb2020;transform:translateY(-1px)}
.jn-header-cta{white-space:nowrap;flex:0 0 auto}
.jn-menu-toggle{display:none;width:46px;height:46px;background:#fff;border:1px solid #dae5f1;border-radius:9px;padding:10px;cursor:pointer;margin-left:auto}
.jn-menu-toggle span{display:block;width:24px;height:2px;background:var(--jn-navy);margin:5px auto;transition:transform .2s}
/* Genesis footer widgets — four explicit registered slots via genesis-footer-widgets=4. */
.footer-widgets{background:#0b223b;color:#d7e4f0;padding:56px 0}
.footer-widgets>.wrap{max-width:var(--jn-wrap);width:min(calc(100% - 40px),var(--jn-wrap));margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.footer-widgets .widget-area{float:none!important;width:auto!important;margin:0!important;min-width:0}
.footer-widgets .widget{margin:0 0 22px}
.footer-widgets .widget-title{font-size:1.12rem;color:#fff;margin:0 0 16px}
.footer-widgets a{color:#e6f2ff;text-decoration:none}
.footer-widgets a:hover{text-decoration:underline}
.footer-widgets ul{list-style:none;margin:0;padding:0}
.footer-widgets li{margin:0 0 9px;padding:0}
.site-footer{background:#071421;color:#bbcfdf;text-align:center}
.site-footer>.wrap{max-width:var(--jn-wrap);margin:auto}
.jn-credits{margin:0;padding:19px;font-size:.83rem}
@media(max-width:1080px){.jn-header-inner{gap:16px}.jn-menu{gap:12px}.jn-menu a{font-size:.81rem}.jn-header-cta{padding-inline:15px;font-size:.8rem}.jn-brand img,.jn-brand .custom-logo{max-width:180px}}
@media(max-width:920px){
 .site-header>.wrap{width:min(calc(100% - 32px),var(--jn-wrap))}
 .jn-header-inner{min-height:72px;flex-wrap:wrap;gap:10px}
 .jn-brand img,.jn-brand .custom-logo{max-height:48px;max-width:185px}
 .jn-menu-toggle{display:block;order:3}
 .jn-header-cta{margin-left:auto;order:2}
 .jn-nav{display:none;order:4;flex-basis:100%;margin-left:0;padding:0 0 14px}
 .jn-nav.jn-open{display:block}
 .jn-menu{display:block;padding:0}
 .jn-menu li{margin:0}
 .jn-menu a{font-size:1rem;white-space:normal;padding:11px 4px;border-bottom:1px solid #edf1f6}
 .jn-menu .sub-menu{position:static;display:block;box-shadow:none;border:0;background:#f7faff;padding:4px 14px;margin:0 0 5px}
 .jn-menu .sub-menu li a{font-size:.9rem;padding:8px 0}
 .footer-widgets>.wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .content-sidebar .content,.sidebar-content .content{width:100%}
 .sidebar-primary{float:none!important;width:100%!important}
}
@media(max-width:600px){.jn-header-cta{display:none}.footer-widgets>.wrap{grid-template-columns:1fr}.site-inner{width:min(calc(100% - 32px),var(--jn-wrap));padding:30px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
