/* Teleflex Careers – isolated, no selector and no dependency on Loop Carousel. */
.tfkc-carousel,
.tfkc-carousel *{box-sizing:border-box}
.tfkc-carousel{
  --tfkc-gap:30px;
  --tfkc-card-size:calc((100% - 90px)/4);
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(1600px,calc(100vw - 80px));
  max-width:none;
  margin:0;
  padding:0 0 42px;
  color:#00205B;
  font-family:inherit;
}
.tfkc-carousel .tfkc-track{
  display:flex;
  gap:var(--tfkc-gap);
  width:100%;
  margin:0;
  padding:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  align-items:stretch;
  touch-action:pan-x pan-y;
}
.tfkc-carousel .tfkc-track::-webkit-scrollbar{display:none}
.tfkc-carousel .tfkc-track:focus-visible{outline:2px solid #00A9CE;outline-offset:3px}
.tfkc-carousel .tfkc-card{
  display:flex;
  flex:0 0 var(--tfkc-card-size);
  min-width:0;
  flex-direction:column;
  background:#fff;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.tfkc-carousel .tfkc-media{height:240px;overflow:hidden;margin:0;padding:0;background:#c3cbd2;border-radius:0;line-height:0}
.tfkc-carousel .tfkc-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  transition:transform .4s ease;
}
.tfkc-carousel .tfkc-card:hover .tfkc-media img{transform:scale(1.03)}
.tfkc-carousel .tfkc-bar{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:68px;
  margin:0;
  padding:12px 14px 12px 20px;
  background:#00205B;
  border-radius:0;
}
.tfkc-carousel .tfkc-title{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  padding:0;
  color:#fff;
  font-family:inherit;
  font-size:16px;
  font-weight:600;
  line-height:1.35;
  text-align:left;
  letter-spacing:0;
  text-transform:none;
}
.tfkc-carousel .tfkc-arrow{
  display:inline-flex;
  flex:0 0 36px;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  color:#fff;
  background:transparent;
  text-decoration:none;
  cursor:pointer;
  transition:color .25s ease,background-color .25s ease;
}
.tfkc-carousel .tfkc-arrow i,
.tfkc-carousel .tfkc-arrow i::before{
  display:block;
  font-size:18px;
  line-height:1;
  color:inherit;
}
.tfkc-carousel .tfkc-arrow i{transition:transform .25s ease}
.tfkc-carousel .tfkc-arrow:hover,
.tfkc-carousel .tfkc-arrow:focus-visible{
  background:rgba(0,169,206,.15);
  color:#00A9CE;
}
.tfkc-carousel .tfkc-arrow:hover i,
.tfkc-carousel .tfkc-arrow:focus-visible i{transform:translateX(4px)}
.tfkc-carousel .tfkc-arrow:focus-visible{outline:2px solid #5ADCA5;outline-offset:2px}
.tfkc-carousel .tfkc-arrow--empty{cursor:default}
.tfkc-carousel .tfkc-arrow--empty:hover{color:#fff;background:transparent}
.tfkc-carousel .tfkc-arrow--empty:hover i{transform:none}
.tfkc-carousel .tfkc-description{
  margin:0;
  padding:16px 12px 0;
  color:#00205B;
  font-family:inherit;
  font-size:14px;
  font-weight:400;
  line-height:1.45;
  letter-spacing:0;
  text-align:left;
  overflow-wrap:break-word;
}
/* White outer navigation follows user's existing Engitech rules. */
.tfkc-carousel .tfkc-nav{
  position:absolute;
  top:120px;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  background:#fff;
  color:#00205B;
  border:0;
  border-radius:0;
  box-shadow:0 6px 22px rgba(0,32,91,.16);
  z-index:20;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.tfkc-carousel .prev-nav{left:-8px}
.tfkc-carousel .next-nav{right:-8px}
.tfkc-carousel .tfkc-nav i,
.tfkc-carousel .tfkc-nav i::before{color:inherit;font-size:17px;line-height:1;display:block}
.tfkc-carousel .prev-nav i{transform:rotate(180deg)}
.tfkc-carousel .tfkc-nav:hover:not(:disabled){background:#5ADCA5;color:#00205B;transform:translateY(-50%) scale(1.06);box-shadow:0 8px 26px rgba(0,32,91,.22)}
.tfkc-carousel .tfkc-nav:disabled{opacity:.4;cursor:default;box-shadow:none}
.tfkc-carousel .tfkc-dots{display:flex;justify-content:center;align-items:center;gap:16px;margin:26px 0 0;padding:0}
.tfkc-carousel .tfkc-dot{position:relative;width:9px;height:9px;min-width:9px;min-height:9px;margin:0;padding:0;background:#c9c9c9;border:0;border-radius:50%;cursor:pointer}
.tfkc-carousel .tfkc-dot::before{content:"";position:absolute;inset:-8px}
.tfkc-carousel .tfkc-dot[aria-current="true"]{background:#555A55}
.tfkc-carousel .tfkc-dot:focus-visible{outline:2px solid #00A9CE;outline-offset:3px}
@media(max-width:1024px){
  .tfkc-carousel{--tfkc-card-size:calc((100% - 30px)/2);width:calc(100vw - 40px)}
  .tfkc-carousel .tfkc-media{height:210px}
  .tfkc-carousel .tfkc-title{font-size:15px}
  .tfkc-carousel .tfkc-bar{min-height:66px;padding:12px 12px 12px 16px}
  .tfkc-carousel .tfkc-nav{top:105px;width:44px;height:44px}
  .tfkc-carousel .prev-nav{left:-6px}
  .tfkc-carousel .next-nav{right:-6px}
}
@media(max-width:767px){
  .tfkc-carousel{--tfkc-card-size:100%;width:calc(100vw - 30px);padding-bottom:30px}
  .tfkc-carousel .tfkc-media{height:200px}
  .tfkc-carousel .tfkc-bar{min-height:64px;padding:12px 12px 12px 14px}
  .tfkc-carousel .tfkc-title{font-size:14px}
  .tfkc-carousel .tfkc-description{padding:14px 10px 0}
  .tfkc-carousel .tfkc-nav{top:100px;width:40px;height:40px}
  .tfkc-carousel .prev-nav{left:-4px}
  .tfkc-carousel .next-nav{right:-4px}
  .tfkc-carousel .tfkc-nav i,.tfkc-carousel .tfkc-nav i::before{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .tfkc-carousel .tfkc-track{scroll-behavior:auto}
  .tfkc-carousel .tfkc-media img,.tfkc-carousel .tfkc-arrow i{transition:none}
}
