.nudo-profile-carousel{
  --npc-primary:#12294f;
  --npc-accent:#17c1c9;
  --npc-photo-size:220px;
  --npc-ring-w:12;
  --npc-ring-angle:255deg;
  --npc-ring-gap:60deg;
  --npc-photo-mobile-h:320px;
  --npc-thumb-size:96px;
  --npc-thumb-gap:24px;
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border-radius:20px;
  box-shadow:0 10px 40px rgba(0,0,0,.08);
  padding:40px;
  box-sizing:border-box;
}
.nudo-profile-carousel *{box-sizing:border-box;}
.nudo-profile-carousel .npc-main{display:flex !important;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.nudo-profile-carousel .npc-info{flex:1;min-width:260px;}
.npc-name{font-size:28px;font-weight:800;color:var(--npc-primary);margin:0 0 6px;letter-spacing:.5px;}
.npc-role{font-style:italic;color:#8a8f98;margin:0 0 2px;font-size:15px;}
.npc-company{font-weight:700;color:var(--npc-primary);margin:0 0 14px;font-size:15px;}
.npc-company-link{color:inherit;text-decoration:none;}
.npc-company-link:hover{text-decoration:underline;}
.npc-mini-divider{width:60px;height:1px;background:#e2e2e2;margin:0 0 18px;}
.npc-social{display:flex;gap:10px;margin-bottom:20px;}
.npc-icon{width:34px;height:34px;border:1.5px solid var(--npc-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--npc-primary);background:transparent;text-decoration:none;font-size:13px;transition:.2s;}
.npc-icon:hover{background:var(--npc-primary);color:#fff;}
button.npc-icon{cursor:pointer;padding:0;font-family:inherit;}
.npc-quote{font-weight:700;font-style:italic;color:var(--npc-primary);font-size:17px;line-height:1.4;margin:0 0 16px;max-width:380px;}
.npc-link{color:var(--npc-accent);font-weight:600;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.npc-arrow{background:var(--npc-accent);color:#fff;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;}

/* ---- Orden: texto a la izquierda, foto a la derecha (desktop) ---- */
.nudo-profile-carousel .npc-info{order:1;}
.nudo-profile-carousel .npc-photo-wrap{order:2;}

/* ---- Foto con anillo (conic-gradient, vector-crisp, sin mask) ---- */
.nudo-profile-carousel .npc-photo-wrap{position:relative !important;width:var(--npc-photo-size) !important;height:var(--npc-photo-size) !important;max-width:none !important;flex-shrink:0 !important;}
.nudo-profile-carousel .npc-ring{
  position:absolute !important;
  inset:calc(var(--npc-ring-w) * -1px);
  border-radius:50% !important;
  background:conic-gradient(from var(--npc-ring-angle), var(--npc-primary) 0deg calc(360deg - var(--npc-ring-gap)), transparent calc(360deg - var(--npc-ring-gap)) 360deg);
}
.nudo-profile-carousel .npc-photo{position:relative !important;z-index:1;width:100% !important;height:100% !important;max-width:none !important;border-radius:50% !important;object-fit:cover !important;display:block !important;margin:0 !important;background-color:#e8e8e8 !important;}

.nudo-profile-carousel .npc-thumb-ring{
  position:absolute !important;
  inset:-8px;
  border-radius:50% !important;
  background:conic-gradient(from var(--npc-ring-angle), var(--npc-primary) 0deg calc(360deg - var(--npc-ring-gap)), transparent calc(360deg - var(--npc-ring-gap)) 360deg);
  opacity:.35;transition:opacity .2s;
}
.nudo-profile-carousel .npc-thumb-wrap.active .npc-thumb-ring{opacity:1;}

.npc-divider{height:1px;background:#eee;margin:36px 0 28px;}

/* ---- Slider de miniaturas: ventana fija de 4, con espacio vertical para el anillo ---- */
.nudo-profile-carousel .npc-thumbs-row{
  overflow:hidden !important;
  width:calc(var(--npc-thumb-size) * 4 + var(--npc-thumb-gap) * 3 + 16px) !important;
  height:calc(var(--npc-thumb-size) + 32px) !important;
  max-width:none !important;
  margin:0 auto;
  padding:0 8px;
  box-sizing:content-box;
}
.nudo-profile-carousel .npc-thumbs-track{display:flex !important;align-items:center !important;gap:var(--npc-thumb-gap);padding:16px 0;transition:transform .35s ease;list-style:none !important;margin:0 !important;box-sizing:content-box;}
.nudo-profile-carousel .npc-thumb-wrap{position:relative !important;width:var(--npc-thumb-size) !important;height:var(--npc-thumb-size) !important;max-width:none !important;flex-shrink:0 !important;align-self:center !important;cursor:pointer;}
.nudo-profile-carousel .npc-thumb-wrap img{position:relative !important;z-index:1;width:100% !important;height:100% !important;max-width:none !important;border-radius:50% !important;object-fit:cover !important;display:block !important;margin:0 !important;}

.nudo-profile-carousel .npc-nav{display:flex !important;justify-content:center;gap:12px;margin-top:24px;}
.nudo-profile-carousel .npc-nav-btn,
.nudo-profile-carousel button.npc-nav-btn{
  width:38px !important;height:38px !important;
  border-radius:50% !important;
  border:none !important;
  background:var(--npc-primary) !important;
  color:#fff !important;
  cursor:pointer;
  display:flex !important;align-items:center !important;justify-content:center !important;
  transition:.2s;padding:0 !important;margin:0 !important;
  box-shadow:none !important;outline:none !important;
  min-width:0 !important;line-height:1 !important;
}
.nudo-profile-carousel .npc-nav-btn:hover{opacity:.85;}
.nudo-profile-carousel .npc-nav-btn:focus{outline:none !important;box-shadow:0 0 0 3px rgba(18,41,79,.3) !important;}

/* ---- Mobile: foto rectangular arriba, sin anillo, sin miniaturas ---- */
@media(max-width:600px){
  .nudo-profile-carousel{padding:0 0 30px;border-radius:20px;overflow:hidden;}
  .nudo-profile-carousel .npc-main{flex-direction:column !important;text-align:center;gap:0;}
  .nudo-profile-carousel .npc-photo-wrap{
    order:-1 !important;
    width:100% !important;
    height:var(--npc-photo-mobile-h) !important;
    border-radius:20px 20px 0 0 !important;
    overflow:hidden !important;
  }
  .nudo-profile-carousel .npc-ring{display:none !important;}
  .nudo-profile-carousel .npc-photo{border-radius:0 !important;}
  .nudo-profile-carousel .npc-info{padding:24px 30px 0;}
  .nudo-profile-carousel .npc-social{justify-content:center;}
  .nudo-profile-carousel .npc-mini-divider{margin-left:auto;margin-right:auto;}
  .nudo-profile-carousel .npc-quote{max-width:100%;}
  .nudo-profile-carousel .npc-divider{display:none;}
  .nudo-profile-carousel .npc-thumbs-row{display:none !important;}
  .nudo-profile-carousel .npc-nav{margin-top:20px;}
}
