/* ===========================================================
   Full Partituras — tema unificado (nav + tipografía)
   Reutilizable en TODO el sitio. Enlazado desde los layouts.
   Cada página puede ajustar --fp-cw (ancho) y --fp-pad (padding).
   =========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

/* ===== ANCHO ÚNICO REUTILIZABLE =====================================
   Usa class="fp-cont" en CUALQUIER contenedor de contenido para que
   alinee igual que el nav y el hero. NO crear .pd-wrap/.plns-wrap nuevos.
   Para full-bleed (hero/footer) usar .fp-bleed (100vw, seguro en móvil). */
.fp-cont{max-width:1500px;margin:0 auto;padding:0 clamp(16px,3vw,32px);}
.fp-bleed{width:100vw;position:relative;left:50%;margin-left:-50vw;}
@media(max-width:1100px){.fp-bleed{width:100%;left:auto;margin-left:0;}}

/* NAV blanco, compacto y consistente */
.navbar-inverse{background:#fff !important;border:none !important;box-shadow:0 1px 6px rgba(20,40,80,.06) !important;min-height:auto;}
.navbar-inverse.navbar-fixed-top{z-index:1100;}
.navbar-inverse .container{max-width:1500px !important;width:auto !important;margin:0 auto !important;padding:0 clamp(16px,3vw,32px) !important;}
.navbar-inverse .navbar-brand{font-family:'Manrope',sans-serif !important;font-weight:800 !important;color:#191c1d !important;font-size:21px;line-height:1;height:auto;padding-top:18px;padding-bottom:18px;display:inline-flex;align-items:center;gap:8px;}
.navbar-inverse .navbar-brand .title{color:#0058be;}
.navbar-inverse .navbar-brand .fa-stack{font-size:0.62em;width:1.9em;height:1.9em;line-height:1.9em;}
.navbar-inverse .navbar-brand .fa-circle{color:#0058be;}
.navbar-inverse .navbar-nav>li>a{color:#4a5663 !important;font-family:'Inter',sans-serif !important;font-weight:500 !important;font-size:15.5px !important;letter-spacing:.1px;padding-top:26px;padding-bottom:26px;}
.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li.open>a,.navbar-inverse .navbar-nav>li.active>a{color:#0058be !important;background:transparent !important;}
.navbar-inverse .dropdown-menu{border-radius:12px;border:1px solid #eaeef3;box-shadow:0 14px 34px -12px rgba(20,40,80,.25);padding:6px;}
.navbar-inverse .dropdown-menu>li>a{border-radius:8px;color:#3a4a5a;font-size:14px;padding:8px 14px;}
.navbar-inverse .dropdown-menu>li>a:hover{background:#eef4fd;color:#0058be;}
.navbar-inverse .navbar-toggle .icon-bar{background:#0058be;}
.navbar-inverse .navbar-nav>li>a img{vertical-align:middle;}

/* Menú de usuario (avatar + dropdown) */
.fp-av-nav{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700;font-size:15px;font-family:'Manrope',sans-serif;line-height:1;}
.navbar-inverse .fp-userdd>a.dropdown-toggle{padding-top:14px !important;padding-bottom:14px !important;}
.navbar-inverse .fp-userdd>a.dropdown-toggle:hover,.navbar-inverse .fp-userdd>a.dropdown-toggle:focus{background:transparent !important;}
.fp-userdd-menu{min-width:236px;padding:8px;}
.fp-udd-head{display:flex;align-items:center;gap:11px;padding:8px 12px 12px;}
.fp-udd-head .fp-av-nav{width:42px;height:42px;font-size:17px;}
.fp-udd-name{display:flex;flex-direction:column;line-height:1.25;}
.fp-udd-name b{color:#15233a;font-size:14px;}
.fp-udd-name small{color:#8794a2;font-size:12px;}
.fp-userdd-menu>li>a{display:flex !important;align-items:center;gap:10px;}
.fp-userdd-menu>li>a i{width:16px;text-align:center;color:#8794a2;}

/* Layout del menú: logo izquierda · menú centro · acciones derecha (desktop) */
@media(min-width:1101px){
  .navbar-inverse .container{display:flex !important;align-items:center;}
  .navbar-inverse .navbar-header{float:none;flex:0 0 auto;}
  .navbar-inverse .navbar-collapse{flex:1 1 auto;display:flex !important;align-items:center;padding:0;border:none;box-shadow:none;}
  .navbar-inverse .navbar-collapse>.fp-nav-main{flex:1 1 auto;display:flex;justify-content:flex-end;padding-right:38px;margin:0;float:none;}
  .navbar-inverse .navbar-collapse>.fp-nav-right{flex:0 0 auto;margin:0;float:none;display:flex;align-items:center;}
  .navbar-inverse .fp-nav-main>li,.navbar-inverse .fp-nav-right>li{float:none;}
}
/* botón Registrarse (CTA azul) */
.navbar-inverse .navbar-nav.fp-nav-right>li.fp-register>a{background:#0058be !important;color:#fff !important;border-radius:9999px !important;padding:9px 22px !important;font-weight:600 !important;margin:0 2px;}
.navbar-inverse .navbar-nav.fp-nav-right>li.fp-register>a:hover{background:#0049a0 !important;color:#fff !important;}

/* === Menú móvil overlay (pantalla completa) === */
@media(max-width:1100px){
  .navbar-inverse .navbar-collapse{display:none !important;}
  .navbar-inverse .navbar-header{float:none;display:flex;align-items:center;justify-content:space-between;width:100%;}
  .navbar-inverse .navbar-header .navbar-brand{float:none;order:0;}
  .navbar-inverse .navbar-toggle{display:block !important;float:none;margin:0;border:none;background:transparent;order:1;}
  .navbar-inverse .container{padding:0 18px !important;}
}
.fp-mm{position:fixed;inset:0;z-index:3000;background:linear-gradient(165deg,#0a63d6 0%,#003a7d 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:scale(1.05);transition:opacity .35s ease,visibility .35s,transform .4s ease;}
.fp-mm.open{opacity:1;visibility:visible;transform:scale(1);}
.fp-mm-close{position:absolute;top:18px;right:22px;background:none;border:none;color:#fff;font-size:40px;line-height:1;cursor:pointer;opacity:.85;}
.fp-mm-close:hover{opacity:1;}
.fp-mm-brand{position:absolute;top:24px;left:24px;color:#fff;font-family:'Manrope',sans-serif;font-weight:700;font-size:18px;display:flex;align-items:center;gap:8px;}
.fp-mm-brand .fa-stack{font-size:.58em;}.fp-mm-brand .fa-circle{color:rgba(255,255,255,.22);}
.fp-mm-links{display:flex;flex-direction:column;align-items:center;gap:0;}
.fp-mm-links a{color:#fff;font-family:'Inter',sans-serif;font-size:22px;font-weight:300;letter-spacing:.4px;padding:6px 24px;opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease,color .15s;}
.fp-mm.open .fp-mm-links a{opacity:1;transform:translateY(0);}
.fp-mm-links a:hover{color:#bcd6ff;}
.fp-mm-links a.fp-mm-out{color:rgba(255,255,255,.6);font-size:17px;margin-top:2px;}
.fp-mm-links a.cta{margin-top:14px;background:#fff;color:#0058be;border-radius:30px;padding:12px 40px;font-weight:600;font-size:17px;}
.fp-mm-links a.cta:hover{background:#eaf2fd;color:#0058be;}
.fp-mm-lang{display:flex;gap:12px;margin-top:22px;}
.fp-mm-lang a{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.75);font-family:'Inter',sans-serif;font-size:14px;font-weight:500;padding:6px 15px;border-radius:22px;border:1px solid rgba(255,255,255,.28);opacity:1;transform:none;}
.fp-mm-lang a.on{background:#fff;color:#0058be;border-color:#fff;}
.fp-mm-lang a img{height:13px;width:auto;border-radius:2px;}
.fp-mm-social{position:absolute;bottom:40px;display:flex;gap:15px;}
.fp-mm-social a{width:46px;height:46px;border:1.5px solid rgba(255,255,255,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;transition:background .15s;}
.fp-mm-social a:hover{background:rgba(255,255,255,.15);}
body.fp-mm-open{overflow:hidden;}
.fp-mm.open .fp-mm-links a:nth-child(1){transition-delay:.06s}
.fp-mm.open .fp-mm-links a:nth-child(2){transition-delay:.11s}
.fp-mm.open .fp-mm-links a:nth-child(3){transition-delay:.16s}
.fp-mm.open .fp-mm-links a:nth-child(4){transition-delay:.21s}
.fp-mm.open .fp-mm-links a:nth-child(5){transition-delay:.26s}
.fp-mm.open .fp-mm-links a:nth-child(6){transition-delay:.31s}
.fp-mm.open .fp-mm-links a:nth-child(7){transition-delay:.36s}
.fp-mm.open .fp-mm-links a:nth-child(8){transition-delay:.41s}
@media(min-width:1101px){.fp-mm{display:none !important;}}
/* full-bleed footer: evitar 100vw en móvil/emulador (rompe el ancho) */
@media(max-width:1100px){.fp-foot{width:100% !important;left:auto !important;margin-left:0 !important;}}
