/*────────────────────────────────────────────────────────────────────────────
  VARIABLES & BOARD WRAPPER
────────────────────────────────────────────────────────────────────────────*/
.sw-board{
  /* palette */
  --clr-card:#fafbff;
  --clr-primary:#00994d;
  --clr-primary-dark:#008040;
  --clr-gray:#707070;
  --clr-gray-light:#EAEAFF;
  --clr-border:#dde0f2;

  --font-base:'Poppins',sans-serif;

  font-family:var(--font-base);
  color:#070707;

  /* centred up to 3 cards (380 px + 16 px gap) */
  max-width:calc(3*380px + 2*16px);
  margin:0 auto;
  padding:24px 16px;
}

/* one-line truncation (+ “tap to expand” on touch) */
/* one-line truncation (now fixed to ~20 characters) */
.sw-1line{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* NEW — limit the inline box to 20 “character” units */
  max-width: 17ch;
}

/* keep the tap-to-expand behaviour on phones */
@media (max-width: 600px){
  .sw-1line.expand{
    white-space: normal;   /* unwrap */
    max-width: none;       /* show the full text */
  }
}
}
@media(max-width:600px){
  .sw-1line.expand{white-space:normal;}
}

/* count line */
.sw-count{font:600 16px var(--font-base);margin:0 0 16px;}

/*────────────────────────────────────────────────────────────────────────────
  GRID
────────────────────────────────────────────────────────────────────────────*/
.sw-grid{
  display:grid;
  gap:14px;
  justify-content:center;
  grid-template-columns:repeat(3,380px);           /* ≥1200 px – desktop */
  margin-bottom:24px;
}

/* 600 px – 1199 px  → always TWO centred columns */
@media (min-width:600px) and (max-width:1199.98px){

  /* grid: two fixed tracks, centred */
  .sw-grid{
    grid-template-columns:repeat(2, 360px);
    gap:16px;
    justify-content:center;
    max-width:100%;          /* let Elementor decide the wrapper width */
  }

  /* cards take the track width, no more */
  .sw-card{
    width:360px;
    max-width:360px;
  }
}

/* small optional touch: trim board side-padding on tablets */
@media (min-width:600px) and (max-width:1199.98px){
  .sw-board{ padding-left:12px; padding-right:12px; }
}

/* ≤599 px → single column */
@media (max-width:599.98px){
  .sw-grid{grid-template-columns:1fr;padding:0 12px;}
}

/* pointer cursor on “Multiple cities” label */
.sw-city-tip{cursor:pointer;}

/*────────────────────────────────────────────────────────────────────────────
  CARD
────────────────────────────────────────────────────────────────────────────*/
.sw-card{
  position:relative;
  width:380px;
  padding:20px 14px 20px 22px;

  background:var(--clr-card);
  border:1px solid var(--clr-gray-light);
  border-radius:14px;
  overflow:hidden;

  /* subtle shadows */
  box-shadow:
    1px 1px 6px rgba(233,233,255,.45),
    inset 5px 0 0 rgb(222 222 255 / 73%);

  display:flex;
  flex-direction:column;
}

/* plan tag */
.sw-tag{
  position:absolute;top:18px;right:14px;
  font:600 11px var(--font-base);
  padding:3px 10px;
  border-radius:14px;
  background:#fbf0ff;
  color:#d66df5;
  border:1px solid #e5c0f7;
  white-space:nowrap;
}

/* header */
.sw-head{
  display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.sw-logo{
  flex:0 0 44px;width:44px;height:44px;
  border-radius:50%;
  background:var(--clr-gray-light) center/cover no-repeat;
}
.sw-titles{flex:1 1 auto;min-width:0;}
.sw-title  {font:600 15px var(--font-base);margin-bottom:1px;}
.sw-company{font:400 12px var(--font-base);color:var(--clr-gray);}

/* info row */
.sw-info{
  display:flex;flex-wrap:wrap;gap:10px 14px;margin:12px 0;
  font:400 11px var(--font-base);color:var(--clr-gray);
}
.sw-info .sw-i{display:inline-flex;align-items:center;gap:3px;}
.sw-info .sw-i i{font-size:13px;color:var(--clr-gray);}

/* divider */
.sw-card hr{border:none;border-top:1px solid var(--clr-border);margin:0 -14px 12px;}

/* footer */
.sw-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;}
.sw-manager{display:flex;align-items:center;gap:6px;}
.sw-avatar{
  flex:0 0 32px;width:32px;height:32px;
  border-radius:50%;
  background:var(--clr-gray-light) center/cover no-repeat;
}
.sw-m-name{font:600 12px var(--font-base);}
.sw-m-role{font:italic 10px var(--font-base);color:var(--clr-gray);}

/* apply button */
.sw-apply-btn{
  font:600 12px var(--font-base);
  padding:6px 14px;
  border-radius:5px;
  background:var(--clr-primary);
  color:#fff;
  border:none;
  cursor:pointer;
  transition:.2s;
}
.sw-apply-btn:hover{background:var(--clr-primary-dark);transform:translateY(-1px);}
.elementor-kit-1734 a.sw-apply-btn{color:#fff!important;}

/*────────────────────────────────────────────────────────────────────────────
  “More Jobs” CTA
────────────────────────────────────────────────────────────────────────────*/
#sw-more{
  display:block;
  margin:0 auto 24px;
  font:600 13px var(--font-base);
  padding:9px 20px;
  border-radius:6px;

  background:var(--clr-primary);
  color:#fff;
  text-decoration:none;
  transition:.2s;
  width:fit-content;
}
#sw-more:hover{background:var(--clr-primary-dark);transform:translateY(-1px);}

/*────────────────────────────────────────────────────────────────────────────
  LOADER
────────────────────────────────────────────────────────────────────────────*/
.loading{position:relative;opacity:.6;}
.loading::after{
  content:'';
  position:absolute;top:50%;left:50%;
  width:28px;height:28px;margin:-14px 0 0 -14px;
  border:3px solid var(--clr-primary);
  border-top-color:transparent;
  border-radius:50%;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ensure inner <p> spacing doesn’t break cards */
.sw-card p{margin-bottom:0!important;}

@media (min-width: 600px) and (max-width: 1199.98px) {
  #sw-count {
    text-align: center;
  }
}

/*──────────────────────────────────────────────────────────────
  LOCKED ROW  ·  CORPORATE BANNER  ·  v2.7
──────────────────────────────────────────────────────────────*/

/* ❶ make grid a positioning context for banner */
.sw-grid{position:relative;}

/* ❷ blurred cards — keep them inert & unselectable */
.sw-card.locked{
  filter:blur(4px);
  opacity:.6;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;-ms-user-select:none;
}

/* ❸ previous per-card overlay was removed in v2.5 – still referenced
   here for safety but not rendered
   .sw-card.locked::before{…}
*/

/* ❹ SINGLE banner that spans entire locked row */
.sw-teaser-banner{
  position:absolute;left:50%;transform:translateX(-50%);
  width:90%;max-width:480px;            /* desktop */
  background:#fff;border-radius:12px;
  padding:1.25rem 1.5rem;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  text-align:center;z-index:5;
  user-select:none;
}
@media(max-width:900px){.sw-teaser-banner{max-width:360px;}}
@media(max-width:600px){.sw-teaser-banner{padding:1rem;width:92%;}}

.sw-teaser-banner h3{
  margin:0 0 .9rem;
  font:700 1rem/1.35 "Poppins",sans-serif;
  color:#2B3186;
}

/* Button matches the green “More Jobs” but with hover darken */
.sw-teaser-banner button{
  display:inline-block;
  font:700 .875rem "Poppins",sans-serif;
  background:var(--clr-primary);      /* same green */
  color:#fff;border:0;border-radius:5px;
  padding:.65rem 1.6rem;cursor:pointer;
  transition:background .2s;
}
.sw-teaser-banner button:hover{background:var(--clr-primary-dark);}
@media(max-width:600px){.sw-teaser-banner button{width:100%;}}

/*───────── SheWork lock banner  ·  v3.1 ─────────*/
.sw-teaser-banner{
  position:absolute;                     /* stays in grid */
  left:50%; transform:translateX(-50%);  /* always centred */
  z-index:6;
  width:clamp(260px, 80%, 560px);        /* desktop clamp */
  background:#fff;
  border:1px solid #E3E6F0;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  padding:18px 24px;
  display:flex; flex-direction:column; align-items:center;
  gap:12px;
  text-align:center;
}

.sw-teaser-banner h3{
  margin:0;
  font:700 clamp(15px,1.3vw,19px)/1.35 "Poppins",sans-serif;
  color:#2B3186;
}

.sw-teaser-banner button{
  font:700 14px/1 "Poppins",sans-serif;
  min-width:180px; height:42px;
  background:#2BA84A; color:#fff;
  border:0; border-radius:4px;
  cursor:pointer;
  transition:background .2s;
  text-shadow:none !important;
}
.sw-teaser-banner button:hover{background:#228F3F;}
@media(max-width:600px){
  .sw-teaser-banner{width:92%;padding:16px 14px;}
  .sw-teaser-banner button{width:100%;}
}

.sw-teaser-banner img{
        display:none !important;
}


/* clickable title / company */
.sw-title a,
.sw-company a{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.sw-title a:hover,
.sw-company a:hover{
  text-decoration:underline;
}


/*────────────────────────────────────────────
  Avatar / Logo fallback  ·  v1.0
────────────────────────────────────────────*/
.sw-logo.fallback,
.sw-avatar.fallback{
  background-image:none !important;          /* kill broken URL */
  display:flex;align-items:center;justify-content:center;
  color:#fff;font:600 15px/1 'Poppins',sans-serif;
  text-transform:uppercase;
}

.sw-avatar.fallback span{font-size:12px;}    /* avatar slightly smaller */

/*────────────────────────────────────────────
  Avatar / Logo fallback
────────────────────────────────────────────*/
.sw-logo.fallback,
.sw-avatar.fallback{
  background-image:none !important;                 /* hide broken img */
  display:flex;align-items:center;justify-content:center;
  color:#fff;font:600 15px/1 'Poppins',sans-serif;
  text-transform:uppercase;
}
.sw-avatar.fallback span{font-size:12px;}           /* a bit smaller */

/* New tooltip theme */
.tippy-box[data-theme~='shework']{
  background:#333;
  color:#fff;
  font-size:13px;
  padding:0.4rem 0.6rem;
  border-radius:4px;
}
.tippy-box[data-theme~='shework'][data-placement^='top'   ]>.tippy-arrow::before{border-top-color:#333;}
.tippy-box[data-theme~='shework'][data-placement^='bottom']>.tippy-arrow::before{border-bottom-color:#333;}