/* ==========================================================================
   _cards.css - canonical Cards component styles
   Split from _components.css in phase 2 (see scripts/split-components.mjs).
   Loaded once in _document.tsx after base/layout files and before
   page-specific CSS.
   ========================================================================== */

.mql-MenuQuickLinks .ic-IconCards {
  flex-wrap: nowrap;
  gap: 10px;
}

@media (min-width: 768px) {
  .mql-MenuQuickLinks .ic-IconCards {
  gap: 20px;
  }
}

@media (min-width: 1300px) {
  .mql-MenuQuickLinks .ic-IconCards {
  gap: 30px;
  }
}

.mql-MenuQuickLinks .ic-IconCard {
  cursor: pointer;
  text-decoration: none;
  flex: 0 0 calc(33.33333333% - 6.6666666667px);
}

@media (min-width: 414px) {
  .mql-MenuQuickLinks .ic-Card {
  aspect-ratio: 190/170;
  }
}

.mql-MenuQuickLinks .ic-Card span {
  flex: 0 0 auto;
  color: #126e51;
  font-size: clamp(0.875rem, 0.6845rem + 0.9524vw, 1.25rem);
}

.mql-MenuQuickLinks .ic-Card img {
  height: 100%;
  max-height: clamp(2.5rem, 1.8651rem + 3.1746vw, 3.75rem);
}

.ApplicationJourneyCards .ic-IconCard {
  overflow: unset;
}

@media (min-width: 768px) {
  .ApplicationJourneyCards .ic-IconCard:not(:last-child):after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(100%, -50%);
  width: 30px;
  height: 24px;
  background-image: url('../Assets/Icons/UI/Chevron-Right.svg');
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: center;
  }
}

.ns-JobCard {
  position: relative;
  display: block;
  width: 100%;
  background: #f7f7f7;
  box-shadow: 0 2px 4px 0 rgba(183, 144, 144, 0.1);
  border-radius: 14px;
  padding: 20px;
  text-decoration: none;
  height: 100%;
  flex-direction: column;
  max-width: 800px;
  cursor: pointer;
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-image: none !important;
}

.ns-JobCard:hover {
  filter: brightness(1.1);
}

.ns-JobCard_Title {
  font-family: AvenirNext-DemiBold;
  font-size: 23px;
  line-height: 1.2962962963;
  color: #3f3f3f;
  margin-bottom: 20px;
  pointer-events: none;
}

.ns-JobCard_Tags {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 25px;
  pointer-events: none;
}

.ns-JobCard_Tag {
  font-family: AvenirNext-Medium;
  font-size: 14px;
  line-height: 22.77px;
  color: #3f3f3f;
}

.ns-JobCard_Intro {
  font-family: AvenirNext-Regular;
  font-size: 15px;
  color: #3f3f3f;
  line-height: 18px;
  margin-bottom: 25px;
}

.ns-JobCard_Date {
  font-family: AvenirNext-Regular;
  font-size: 14px;
  color: #3f3f3f;
  line-height: 16.26px;
  margin-top: auto;
}

.ns-JobCard_Locations {
  display: flex;
  align-items: center;
  gap: 10px 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.ns-JobCard_Location {
  background: #f7f7f7;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  font-family: AvenirNext-Regular;
  font-size: clamp(0.6875rem, 0.5923rem + 0.4762vw, 0.875rem);
  letter-spacing: 0.0875rem;
  color: #000000;
  text-align: center;
  text-transform: uppercase;
  display: flex;
  padding: 8px 15px;
  margin-left:10px;
  text-decoration: none;
  justify-content: center;
  align-items: center;
}

.ns-JobCard_Location:hover {
  border-color: #d8d8d8;
}

.ns-JobCard_Team {
  background: #f7f7f7;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  font-family: AvenirNext-Regular;
  font-size: clamp(0.6875rem, 0.5923rem + 0.4762vw, 0.875rem);
  letter-spacing: 0.0875rem;
  color: #000000;
  text-align: center;
  text-transform: uppercase;
  padding: 8px 15px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
}

.ns-JobCard_Team:hover {
  border-color: #d8d8d8;
}

.ns-LocationCard {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f7f7f7;
  border-radius: 8px;
  text-decoration: none;
  overflow: hidden;
  padding: 0 20px;
  height: 100%;
  width: 218px;
  aspect-ratio: 218/303;
}

[data-page='Locations'] .ns-LocationCard {
  transition: transform 0.83s cubic-bezier(0.17, 0.17, 0.05, 1);
}

.clc-CarouselLocationCard:hover .ns-LocationCard {
  background-color: rgba(255, 255, 255, 0);
  background-image: linear-gradient(white, transparent);
}

.ns-LocationName {
  display: block;
  font-family: AvenirNext-DemiBold;
  color: #282828;
  text-align: center;
  font-size: clamp(1.25rem, 0.869rem + 1.9048vw, 2rem);
  line-height: 1.6;
  white-space: nowrap;
}

.ns-LocationCountry {
  font-family: AvenirNext-Regular;
  color: #282828;
  font-size: clamp(0.875rem, 0.8115rem + 0.3175vw, 1rem);
  line-height: 1.4285714286;
  text-align: center;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .ns-LocationCountry {
  margin-bottom: 15px;
  }
}

.ns-LocationTime {
  font-family: AvenirNext-DemiBold;
  color: #282828;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-align: center;
  background: #e6e6e6;
  border-radius: 17px;
  padding: 0 15px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .ns-LocationTime {
  margin-bottom: 25px;
  }
}

.ns-LocationImage {
  position: relative;
  width: 100%;
  height: 200px;
  margin-top: auto;
  background-color: #d8d8d8;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 218/183;
}

.ns-LocationImage img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.83s cubic-bezier(0.17, 0.17, 0.05, 1);
  transform-origin: center;
}

.ic-ShriyaLocationCards a.ic-IconCard, .ic-ShriyaLocationCards div.ic-IconCard {
  flex: 0 0 auto;
  aspect-ratio: 237/324;
  max-width: 237px;
  scroll-snap-align: center;
  transform: none;
  min-height: 345px;
  border: 1px solid #CFCFCF;
}

.ic-ShriyaLocationCards a.ic-IconCard:hover .ic-Card {
  background-color: #f7f7f7;
  background-image: none;
}

@media (max-width: 1023px) {
  .ic-ShriyaLocationCards .ic-IconCard:empty {
  display: none;
  }
}

.ic-Card.ic-ShriyaLocationCard {
  justify-content: space-between;
  text-align: center;
  aspect-ratio: inherit;
}

.ic-ShriyaLocationCard .ns-LocationCountry {
  margin-bottom: 25px;
}

.ic-IconCard:hover .ic-ShriyaLocationCard_Stat_Label {
  text-decoration: underline;
}

[data-dev-mode] .ic-Card > *, [data-dev-mode] .mjc-JobCard > * {
  outline: 1px solid rgba(105, 90, 205, 0.25);
}

.ns-LocationTeams {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, auto);
  gap: 10px;
  flex-wrap: wrap;
}

@media (min-width: 414px) {
  .ns-LocationTeams {
  grid-template-columns: repeat(2, auto);
  gap: 10px 25px;
  }
}

@media (min-width: 768px) {
  .ns-LocationTeams {
  grid-template-columns: repeat(3, auto);
  gap: 25px 45px;
  }
}

.ns-LocationTeam {
  text-decoration: none;
}

.ns-LocationTeams_Image {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ns-LocationTeams_Image img {
  aspect-ratio: 1/1;
}

.ns-LocationTeam span {
  font-family: AvenirNext-Medium;
  color: #2d2d2d;
  text-transform: uppercase;
}

.ns-LocationTeam:hover span {
  color: rgb(24, 153, 112);
}

[data-page='Job Search'] .ns-JobCard_Intro {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[data-page='Job Search'] .ns-JobCard_Tags + div {
  margin-top: auto;
}

@media (min-width: 768px) {
  .ns-LocationCard {
  aspect-ratio: 288/393;
  width: 288px;
  padding: 0 35px;
  }
}

.ns-LocationCard:hover .ns-LocationImage img {
  transform: scale(1.05);
}

/* ---- IconCard (ic-*) — moved from styles.css / NewHomepage.css ---- */

@keyframes popIcon {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes rotateGradient2 {
  0%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

.mql-MenuQuickLinks .ic-IconCard:hover {
  box-shadow: 0 1px 2px 0 #48dbac;
}

.ic-IconCards {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  width: 100%;
  gap: 20px;
}

.ic-IconCard {
  position: relative;
  padding: 2px;
  border-radius: 10px;
  background-color: #f7f7f7;
  flex: 0 1 33.33333333%;
  width: 100vw;
  max-width: 190px;
  text-decoration: none;
  transform-origin: center;
  transition: transform 0.6s ease, opacity 0.6s ease;
  overflow: hidden;
  flex: 0 0 calc(50% - 10px);
}

.staggered-animate .ic-IconCard {
  transition: transform 0.6s ease, opacity 0.8s ease;
}

.ic-IconCard.ic-IconCard-transparent {
  box-shadow: none;
}

@media (min-width: 768px) {
    .ic-IconCard {
      border-radius: 12px;
    }
}

@media (min-width: 768px) {
    [grid-large-cards] .ic-IconCard {
      border-radius: 20px;
    }
}

[grid-large-cards] .ic-IconCard:before {
  content: "";
  position: absolute;
  border-radius: 10px;
  inset: 0;
  background-color: #f7f7f7;
  background-image: linear-gradient(to bottom right, #c13fa7, #2fa796, #32b88c);
  background-size: 100% 200%;
  opacity: 0;
}

@media (min-width: 768px) {
    [grid-large-cards] .ic-IconCard:before {
      border-radius: 20px;
    }
}

[grid-large-cards] .ic-IconCard.loadin:before {
  animation-play-state: paused;
}

.ic-Card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
  color: #282828;
  border-radius: 10px;
  text-decoration: none;
  aspect-ratio: 190/190;
}

@media (min-width: 768px) {
    .ic-Card {
      border-radius: 12px;
    }
}

[grid-large-cards] .ic-Card {
  aspect-ratio: unset;
  padding: 25px;
  border-radius: 10px;
}

@media (min-width: 768px) {
    [grid-large-cards] .ic-Card {
      border-radius: 20px;
    }
}

@media (min-width: 1300px) {
    [grid-large-cards] .ic-Card {
      padding-top: 45px;
      justify-content: start;
    }
}

a.ic-IconCard:hover .ic-Card {
  background-color: rgb(255, 255, 255);
}

.ic-IconCard-transparent,
.ic-IconCard-transparent .ic-Card {
  background-color: transparent !important;
}

.ic-Card img {
  height: 60px;
  margin-top: 10px;
  margin-bottom: 10px;
  animation: popIcon 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  animation-play-state: running;
}

.loadin .ic-Card img {
  animation-play-state: paused;
}

.ApplicationJourneyCards .ic-Card {
  gap: 0;
}

.ic-Card span {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: AvenirNext-DemiBold;
  font-size: clamp(1.125rem, 1.0615rem + 0.3175vw, 1.25rem);
  line-height: 1.3888888889;
  text-align: center;
  max-height: 3.4722222222rem;
  padding: 0 5px;
}

[grid-large-cards] .ic-Card span {
  font-size: clamp(1.125rem, 0.9663rem + 0.7937vw, 1.4375rem);
  max-height: 3.9930555556rem;
}

.ic-IconCard-transparent .ic-Card span {
  font-family: AvenirNext-Medium;
  font-size: 1rem;
  align-items: start;
}

a.ic-IconCard:hover .ic-Card span {
  color: #158561;
}

.ic-Card_2 {
  font-family: AvenirNext-DemiBold;
  color: #126e51;
}

.ic-Card p {
  font-family: AvenirNext-Regular;
  font-size: clamp(1.125rem, 1.0298rem + 0.4762vw, 1.3125rem);
  text-align: center;
  margin-bottom: 0;
}

span.ic-HeadingSmall {
  font-size: clamp(1rem, 0.9365rem + 0.3175vw, 1.125rem);
}

span.ic-TextSmall {
  display: block;
  font-size: clamp(0.6875rem, 0.624rem + 0.3175vw, 0.8125rem);
  flex: 0 0 auto;
  font-family: AvenirNext-Medium;
}

.ic-ShriyaLocationCardsScroller {
  position: relative;
  max-width: 80% !important;
  overflow: hidden;
  overflow-x: scroll;
  display: flex;
  flex-wrap: nowrap;
  justify-content: start;
  margin-top: 45px;
  margin-bottom: 45px;
  scroll-snap-type: x mandatory;
}

.ic-ShriyaLocationCardsScroller::-webkit-scrollbar {
  display: none;
}

.ic-ShriyaLocationCards {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: start;
  gap: 20px;
  padding: 0 15px;
}

@media (min-width: 768px) {
  .ic-ShriyaLocationCards {
    gap: 20px;
  }
}

.ic-ShriyaLocationCard_Content {
  flex: 0 0 auto;
  padding: 30px 0 0;
}

.ic-ShriyaLocationCard h3 {
  margin-bottom: 5px;
  font-family: AvenirNext-Bold;
  font-size: 15px;
  line-height: 28px;
  color: #282828;
  letter-spacing: 0.13px;
  text-align: center;
  text-transform: uppercase;
}

.ic-ShriyaLocationCard_Stats {
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 30px;
}

.ic-ShriyaLocationCard_Image {
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  flex: 1 1 auto;
  justify-content: center;
  margin: 0 -3px -3px -3px;
  border-radius: 0 0 10px 10px;
}

.ic-ShriyaLocationCard_Image img {
  display: block !important;
  object-fit: cover;
  height: 85%;
  max-height: 200px;
  object-position: 50% bottom;
  margin: 0;
}

.ic-ShriyaLocationCard_Image img[src*="REMOTE.svg"] {
  height: 60%;
}

.ic-ShriyaLocationCard_Stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 5px;
}

.ic-ShriyaLocationCard_Stat_Stat {
  font-family: AvenirNext-Regular;
  font-size: 48px;
  line-height: 1;
  color: #126e51;
}

.ic-ShriyaLocationCard_Stat_Label {
  font-family: AvenirNext-DemiBold;
  font-size: 14px;
  line-height: 26px;
  color: #126e51;
  text-align: center;
  line-height: 26.04px;
}

.ic-ShriyaLocationCard_Stat_Label:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 9px;
  background-image: url(../Assets/Icons/UI/Chevron-Right-green.svg);
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: 5px;
}

.ic-ShriyaLocationCard_Content a {
  font-family: 'AvenirNext-DemiBold';
  font-size: 13px;
  line-height: 45px;
  color: #126e51;
  font-weight: 600;
  opacity: 1;
  text-align: center;
  vertical-align: top;
  margin-right: 10px;
  display: flex;
  gap: 10px;
  border-radius: 8px;
  background-color: #ffffff;
  border: 1px solid #cfcfcf;
  opacity: 1;
  width: 156px;
  height: 45px;
  justify-content: center;
  text-decoration: none;
  align-items: center;
}

.ic-ShriyaLocationCard_Content a:hover {
  background-color: #ffffff;
  outline: 1px solid #cfcfcf;
}

.ic-ShriyaLocationCard_Content a span {
  flex: 0;
  font-size: 13px;
  line-height: 46px;
  color: #158561;
  margin-left: 5px;
}

@media (min-width: 768px) {
    .mql-MenuQuickLinks .ic-IconCard {
      flex: 0 0 calc(33.33333333% - 13.3333333333px);
    }
}

@media (min-width: 1300px) {
    .mql-MenuQuickLinks .ic-IconCard {
      flex: 0 0 calc(33.33333333% - 20px);
    }
}
