/* Buttons */
.cig--btn-mid-default {
  box-sizing: border-box;
  display: block;
  padding: 12px 30px;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 50px;
  cursor: pointer;
  text-decoration: none;
  transition: 0.3s ease;
}
.cig--btn-solid-primary {
  border: 1px solid transparent;
  background: var(--color-blue-light);
  color: var(--color-white);
}
.cig--btn-border-primary {
  border: 1px solid var(--color-blue-light);
  color: var(--color-blue-light);
  background: var(--color-white);
}
.cig--btn-solid-primary:hover,
.cig--btn-border-primary:hover {
  border: 1px solid transparent;
  color: var(--color-white);
  background: var(--color-grey-dark);
}

/* Cards */
.cig__card-wrapper {
  transition:
    border-color 0.2s,
    background 0.2s,
    transform 0.2s,
    height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
  position: relative;
  overflow: hidden;
  align-self: start; /* prevents grid from stretching card to row height */
}
.cig__card-wrapper.is-expanded {
  overflow: hidden; /* keep clipping during height animation */
  z-index: 10;
}

.cig--card-primary-wrapper {
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .cig--card-primary-wrapper {
    margin: 0 20px;
  }
}
/* .cig--card-wrapper-dark {
  } */
.cig--card-wrapper-image {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
}
.cig--card-content-wrapper {
  position: relative;
  padding: 60px 30px 30px 30px;
}
.cig--card-content-wrapper-dark {
  background: var(--color-blue-light-bg);
  border-radius: 0 0 10px 10px;
}
.cig--card-content-wrapper-light {
  background: var(--color-white);
  border-radius: 0 0 10px 10px;
  box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.03);
}
.cig--card-content-logo-wrapper {
  position: absolute;
  top: -25px;
  box-sizing: border-box;
  width: 86px;
  height: 86px;
  border-radius: 10px;
  padding: 5px;
  background: var(--color-white);
  border: 1px solid #d1dff2;
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.12);
}
.cig--card-content-logo {
  display: block;
  width: 74px;
  height: 74px;
  object-fit: contain;
}
h3.cig--card-content-heading {
  margin: 20px 0 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: var(--color-blue-dark);
}
ul.cig--card-content-list-wrapper,
ul.cig--card-content-list-icon-wrapper {
  list-style: none;
  margin: 15px 0;
  padding: 15px 0;
  border-top: 1px solid rgba(209, 223, 242, 0.7);
  border-bottom: 1px solid rgba(209, 223, 242, 0.7);
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #383c44;
  font-size: 14px;
  line-height: 1.5;
}

/* PILL */
ul.cig__pill-wrapper {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 5px;
  margin-bottom: 20px;
  /* transition: background 0.15s, border-color 0.15s, color 0.15s; */
}
ul.cig__pill-wrapper.overflow-hidden {
  visibility: hidden;
  pointer-events: none;
}
ul.cig--floating-pill-wrapper {
  margin-bottom: 0;
}
.cig--pill-default,
.cig__pill-more {
  padding: 5px 10px;
  border-radius: 50px;
  font-size: 12px;
  line-height: 1.3;
}
.cig--pill-default {
  border: 1px solid #e9e9e9;
  background: var(--color-white);
  color: var(--color-grey-dark-text);
  font-weight: 600;
}
.cig--floating-pill-wrapper .cig--pill-default {
  border: 1px solid var(--color-white);
  background: var(--color-white);
  color: var(--color-grey-dark-text);
  font-weight: 600;
  box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
  -webkit-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
}
.cig--pill-default span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.cig__pill-more {
  cursor: pointer;
  border: 1px solid rgba(40, 103, 198, 0.2);
  color: var(--color-blue-light);
  border-radius: 50px;
  font-weight: 500;
  white-space: nowrap;
}
.cig__pill-more.expanded .cig--pill-plus {
  display: none;
}

/* Card CTA */
.cig--border-cta-primary {
  display: inline-block;
  text-decoration: none;
  color: var(--color-blue-light);
  border: 1px solid var(--color-blue-light);
  border-radius: 50px;
  padding: 12px 30px;
  text-transform: uppercase;
  font-weight: 600;
  transition: 0.2s ease;
}
.cig--border-cta-primary:hover {
  color: var(--color-white);
  background: var(--color-grey-dark);
  border: 1px solid var(--color-grey-dark);
}
/* Card list icon */
.cig--card-content-list-icon {
  position: relative;
  padding-left: 24px;
  color: var(--color-blue-dark);
  font-size: 14px;
}
.cig--card-content-list-icon:last-child {
  font-weight: 600;
}
.cig--card-content-list-icon::before {
  content: "";
  width: 18px;
  height: 18px;
  position: absolute;
  top: 1px;
  left: 0;
}
.cig--card-content-list-icon:nth-child(1)::before {
  background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.00003 1.80078C5.95922 1.80078 3.49414 4.23103 3.49414 7.22891C3.49414 8.23147 3.69319 9.26695 4.26439 10.0133L9.00003 16.2008L13.7357 10.0133C14.2545 9.3354 14.5059 8.13701 14.5059 7.22891C14.5059 4.23103 12.0408 1.80078 9.00003 1.80078ZM9.00003 4.94463C10.2795 4.94463 11.317 5.96752 11.317 7.2289C11.317 8.4903 10.2795 9.51318 9.00003 9.51318C7.72057 9.51318 6.68303 8.4903 6.68303 7.22891C6.68303 5.96752 7.72057 4.94463 9.00003 4.94463Z' fill='%23112D51'/%3E%3C/svg%3E%0A")
    center / contain no-repeat;
}
.cig--card-content-list-icon:nth-child(2)::before {
  background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.6 11.6667V11H2.707L2.7 13.6667C2.7 14.4067 3.323 15 4.1 15H13.9C14.677 15 15.3 14.4067 15.3 13.6667V11H10.4V11.6667H7.6ZM14.6 5.66667H11.793V4.33333L10.393 3H7.593L6.193 4.33333V5.66667H3.4C2.63 5.66667 2 6.26667 2 7V9C2 9.74 2.623 10.3333 3.4 10.3333H7.6V9H10.4V10.3333H14.6C15.37 10.3333 16 9.73334 16 9V7C16 6.26667 15.37 5.66667 14.6 5.66667ZM10.4 5.66667H7.6V4.33333H10.4V5.66667Z' fill='%23112D51'/%3E%3C/svg%3E%0A")
    center / contain no-repeat;
}
p.cig--card-content-desc {
  margin-bottom: 25px;
  font-size: 14px;
  color: var(--color-blue-light-text);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

/* ------------------------ */
/* --- Job Notification --- */
/* ------------------------ */
section.cig--notification-wrapper {
  margin-top: 10px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #e9e9e9;
}
section.cig--notification-wrapper .cig--jobsearch-result-count-wrapper {
  color: var(--color-blue-dark);
  font-size: 12px;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}
section.cig--notification-wrapper span.cig--jobsearch-result-count {
  display: inline;
  font-size: 16px;
  font-weight: bold;
}
section.cig--notification-wrapper button.cig--jobsearch-notification-btn {
  position: relative;
  background: transparent;
  border: none;
  padding: 10px 0px 10px 34px;
  border-radius: 6px;
  color: var(--color-blue-light);
  text-align: start;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.2px;
  font-weight: 500;
  cursor: pointer;
  transition: 0.2s ease;
}
button.cig--jobsearch-notification-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: 50% 0%; /* 🔑 bell pivot */
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.4247 3.75694C13.469 3.85692 13.4988 4.3114 13.5136 4.59871C13.0639 4.48896 12.5922 4.43055 12.1058 4.43055C11.6985 4.43055 11.3014 4.47152 10.919 4.54932C10.9345 4.26195 10.9634 3.85136 11.0052 3.75694C11.071 3.60817 11.1674 3.473 11.289 3.35914C11.4106 3.24528 11.555 3.15496 11.7139 3.09334C11.8727 3.03172 12.043 3 12.215 3C12.3869 3 12.5572 3.03172 12.7161 3.09334C12.8749 3.15496 13.0193 3.24528 13.1409 3.35914C13.2625 3.473 13.3589 3.60817 13.4247 3.75694Z' fill='%232867C6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.8834 6.59277C16.9497 7.4286 17.6641 8.69653 17.6641 10.3521V14.1604L19.8427 16.7699C20.0083 16.9682 20.0467 17.2478 19.941 17.4857C19.8353 17.7237 19.605 17.8762 19.3513 17.8762H4.64866C4.38854 17.8762 4.15357 17.7158 4.05176 17.4688C3.94995 17.2218 4.00099 16.9359 4.18143 16.7425L6.61077 14.1391V10.3521C6.61077 8.69653 7.32515 7.4286 8.39144 6.59277C9.43962 5.77114 10.8046 5.38102 12.1374 5.38102C13.4702 5.38102 14.8352 5.77114 15.8834 6.59277ZM9.17614 7.65886C8.41319 8.25691 7.90807 9.13981 7.90807 10.3521V14.6789L6.17378 16.5374H17.9363L16.3668 14.6575V10.3521C16.3668 9.13981 15.8616 8.25691 15.0987 7.65886C14.3176 7.04661 13.2436 6.71979 12.1374 6.71979C11.0312 6.71979 9.95721 7.04661 9.17614 7.65886Z' fill='%232867C6'/%3E%3Cpath d='M14.162 18.7687C14.2815 18.7687 14.3794 18.8689 14.3675 18.9915C14.3464 19.2081 14.2947 19.4207 14.2137 19.6226C14.105 19.8933 13.9458 20.1393 13.745 20.3465C13.5442 20.5537 13.3058 20.718 13.0435 20.8302C12.7812 20.9423 12.5 21 12.2161 21C11.9322 21 11.651 20.9423 11.3887 20.8302C11.1264 20.718 10.888 20.5537 10.6872 20.3465C10.4864 20.1393 10.3272 19.8933 10.2185 19.6226C10.1375 19.4207 10.0858 19.2081 10.0647 18.9915C10.0528 18.8689 10.1507 18.7687 10.2702 18.7687H11.0676C11.2464 18.7687 11.3858 18.9239 11.4542 19.0944C11.4956 19.1976 11.5564 19.2915 11.633 19.3705C11.7095 19.4495 11.8005 19.5122 11.9005 19.555C12.0006 19.5977 12.1078 19.6198 12.2161 19.6198C12.3244 19.6198 12.4316 19.5977 12.5317 19.555C12.6317 19.5122 12.7227 19.4495 12.7992 19.3705C12.8758 19.2915 12.9366 19.1976 12.978 19.0944C13.0464 18.9239 13.1858 18.7687 13.3646 18.7687H14.162Z' fill='%232867C6'/%3E%3C/svg%3E%0A")
    center / contain no-repeat;
}
button.cig--jobsearch-notification-btn:hover {
  transform: scale(0.98);
  background-color: rgba(255, 255, 255, 0.15);
}
button.cig--jobsearch-notification-btn:hover::before {
  animation: bell-ring 1s ease-in-out;
}
@keyframes bell-ring {
  0% {
    transform: translateY(-50%) rotate(0);
  }
  10% {
    transform: translateY(-50%) rotate(15deg);
  }
  20% {
    transform: translateY(-50%) rotate(-15deg);
  }
  30% {
    transform: translateY(-50%) rotate(12deg);
  }
  40% {
    transform: translateY(-50%) rotate(-12deg);
  }
  50% {
    transform: translateY(-50%) rotate(8deg);
  }
  60% {
    transform: translateY(-50%) rotate(-8deg);
  }
  70% {
    transform: translateY(-50%) rotate(4deg);
  }
  80% {
    transform: translateY(-50%) rotate(-4deg);
  }
  100% {
    transform: translateY(-50%) rotate(0);
  }
}
@media (max-width: 768px) {
  .cig--notification-wrapper {
    background: var(--color-blue-light);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 15px;
  }

  section.cig--notification-wrapper {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
    border-bottom: 1px solid #e9e9e9;
  }
  section.cig--notification-wrapper .cig--jobsearch-result-count-wrapper {
    color: var(--color-white);
    font-size: 16px;
  }
  section.cig--notification-wrapper button.cig--jobsearch-notification-btn {
    color: var(--color-white);
    border: 1px solid var(--color-white);
    padding: 14px 10px 14px 34px;
    font-size: 4vw;
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.3em;
  }
  button.cig--jobsearch-notification-btn::before {
    background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.4247 3.75694C13.469 3.85692 13.4988 4.3114 13.5136 4.59871C13.0639 4.48896 12.5922 4.43055 12.1058 4.43055C11.6985 4.43055 11.3014 4.47152 10.919 4.54932C10.9345 4.26195 10.9634 3.85136 11.0052 3.75694C11.071 3.60817 11.1674 3.473 11.289 3.35914C11.4106 3.24528 11.555 3.15496 11.7139 3.09334C11.8727 3.03172 12.043 3 12.215 3C12.3869 3 12.5572 3.03172 12.7161 3.09334C12.8749 3.15496 13.0193 3.24528 13.1409 3.35914C13.2625 3.473 13.3589 3.60817 13.4247 3.75694Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.8834 6.59277C16.9497 7.4286 17.6641 8.69653 17.6641 10.3521V14.1604L19.8427 16.7699C20.0083 16.9682 20.0467 17.2478 19.941 17.4857C19.8353 17.7237 19.605 17.8762 19.3513 17.8762H4.64866C4.38854 17.8762 4.15357 17.7158 4.05176 17.4688C3.94995 17.2218 4.00099 16.9359 4.18143 16.7425L6.61077 14.1391V10.3521C6.61077 8.69653 7.32515 7.4286 8.39144 6.59277C9.43962 5.77114 10.8046 5.38102 12.1374 5.38102C13.4702 5.38102 14.8352 5.77114 15.8834 6.59277ZM9.17614 7.65886C8.41319 8.25691 7.90807 9.13981 7.90807 10.3521V14.6789L6.17378 16.5374H17.9363L16.3668 14.6575V10.3521C16.3668 9.13981 15.8616 8.25691 15.0987 7.65886C14.3176 7.04661 13.2436 6.71979 12.1374 6.71979C11.0312 6.71979 9.95721 7.04661 9.17614 7.65886Z' fill='white'/%3E%3Cpath d='M14.162 18.7687C14.2815 18.7687 14.3794 18.8689 14.3675 18.9915C14.3464 19.2081 14.2947 19.4207 14.2137 19.6226C14.105 19.8933 13.9458 20.1393 13.745 20.3465C13.5442 20.5537 13.3058 20.718 13.0435 20.8302C12.7812 20.9423 12.5 21 12.2161 21C11.9322 21 11.651 20.9423 11.3887 20.8302C11.1264 20.718 10.888 20.5537 10.6872 20.3465C10.4864 20.1393 10.3272 19.8933 10.2185 19.6226C10.1375 19.4207 10.0858 19.2081 10.0647 18.9915C10.0528 18.8689 10.1507 18.7687 10.2702 18.7687H11.0676C11.2464 18.7687 11.3858 18.9239 11.4542 19.0944C11.4956 19.1976 11.5564 19.2915 11.633 19.3705C11.7095 19.4495 11.8005 19.5122 11.9005 19.555C12.0006 19.5977 12.1078 19.6198 12.2161 19.6198C12.3244 19.6198 12.4316 19.5977 12.5317 19.555C12.6317 19.5122 12.7227 19.4495 12.7992 19.3705C12.8758 19.2915 12.9366 19.1976 12.978 19.0944C13.0464 18.9239 13.1858 18.7687 13.3646 18.7687H14.162Z' fill='white'/%3E%3C/svg%3E%0A")
      center / contain no-repeat;
  }
}

/* --------------------- */
/* --- Job card list --- */
/* --------------------- */
ul.cig--jobsearch-joblist-grid-wrapper {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  margin: 0;
  padding: 0;
}
ul.cig--jobsearch-joblist-grid-wrapper-light .cig--jobsearch-joblist-item {
  border-radius: 10px;
  background: var(--color-white);
}
ul.cig--jobsearch-joblist-grid-wrapper-dark .cig--jobsearch-joblist-item {
  border-radius: 10px;
  background: var(--color-blue-light-bg);
}
.cig--card-bg-wrapper {
  background: var(--color-blue-light-bg);
  border-radius: 10px;
  padding: 15px;
}

a.cig--jobsearch-link-wrapper {
  display: block;
  box-sizing: border-box;
  text-decoration: none;
  cursor: pointer;
}
li.cig--jobsearch-joblist-item.active {
  border: 1px solid var(--color-blue-light);
}
li.cig--jobsearch-joblist-item:hover h2.cig--jobsearch-joblist-title {
  text-decoration: underline;
}
.cig--jobsearch-head-wrapper {
  display: flex;
  flex-direction: row;
  gap: 15px;
  justify-content: space-between;
  margin-bottom: 10px;
}
h2.cig--jobsearch-joblist-title,
.cig--jobsearch-joblist-grid-wrapper h2.cig--jobsearch-joblist-title {
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  color: var(--color-blue-dark);
  line-height: 1.4;
  font-weight: bold;
  transition: color 0.2s ease;
}
h2.cig--jobsearch-joblist-title {
  font-size: 18px;
}
.cig--jobsearch-joblist-grid-wrapper h2.cig--jobsearch-joblist-title {
  font-size: 16px;
}
h2.cig--jobsearch-joblist-title a {
  color: inherit;
  text-decoration: none;
}
h2.cig--jobsearch-joblist-title a:hover {
  color: var(--color-blue-light);
}
img.cig--jobsearch-joblist-img {
  display: block;
  pointer-events: none;
  width: 54px;
  height: 54px;
  padding: 5px;
  background: var(--color-white);
  border-radius: 10px;
  object-fit: contain;
}
ul.cig--jobsearch-joblist-location-wrapper {
  pointer-events: none;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  color: var(--color-blue-light-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
strong.cig--jobsearch-joblist-price {
  pointer-events: none;
  color: var(--color-blue-dark);
  font-size: 16px;
  line-height: 1.4;
  font-weight: bold;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.cig--jobsearch-joblist-grid-wrapper strong.cig--jobsearch-joblist-price {
  font-size: 14px;
  margin-bottom: 15px;
}
ul.cig--jobsearch-joblist-metadata-wrapper {
  pointer-events: none;
  width: 100%;
  margin: 12px 0 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 5px;
}
li.cig--jobsearch-joblist-metadata-item {
  padding: 5px 10px;
  border-radius: 50px;
  background: var(--color-white);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-grey-dark-text);
  white-space: nowrap;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
  -webkit-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
  ul.cig--jobsearch-joblist-grid-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* Load more button */
.cig--loadmore-btn-wrapper {
  display: flex;
  justify-content: center;
  padding: 30px 0;
}
