/**
 * Listing + homepage thumbnails — category icons and logos fill the full container.
 */

.presence-badge {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   width: max-content;
   max-width: 100%;
   padding: 5px 9px;
   border-radius: 999px;
   background: #f2f4f7;
   color: #667085;
   font-size: 12px;
   font-weight: 700;
   line-height: 1;
   white-space: nowrap;
}

.presence-badge__dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #98a2b3;
   box-shadow: 0 0 0 3px rgba(152, 162, 179, 0.16);
   flex: 0 0 auto;
}

.presence-badge.is-online {
   background: #ecfdf3;
   color: #027a48;
}

.presence-badge.is-online .presence-badge__dot {
   background: #12b76a;
   box-shadow: 0 0 0 3px rgba(18, 183, 106, 0.18);
}

.presence-badge--detail {
   margin-top: 2px;
}

.company__icon.listing-thumb-link,
.company__card .icon.listing-thumb-link,
.company__card .company__icon.listing-thumb-link,
.single__cat__icon.listing-thumb-link,
.rts__single__employer .icon.listing-thumb-link,
.about-trusted-employer-card__logo.icon.listing-thumb-link {
   position: relative !important;
   display: block !important;
   overflow: hidden;
   box-sizing: border-box;
   flex-shrink: 0;
   align-self: flex-start !important;
   padding: 0 !important;
   line-height: 0;
   vertical-align: top;
}

/* Grid cards: 60×60 */
.rts__job__card .company__icon.listing-thumb-link {
   width: 60px !important;
   height: 60px !important;
   min-width: 60px !important;
   max-width: 60px !important;
   min-height: 60px !important;
   max-height: 60px !important;
   flex: 0 0 60px !important;
   border-radius: 6px;
}

/* List cards: 120×120 */
.rts__job__card__big .company__icon.listing-thumb-link,
.rts__author__card__big .company__icon.listing-thumb-link,
.rts__author__card .company__icon.listing-thumb-link {
   width: 120px !important;
   height: 120px !important;
   min-width: 120px !important;
   max-width: 120px !important;
   min-height: 120px !important;
   max-height: 120px !important;
   flex: 0 0 120px !important;
}

.rts__job__card__big .company__icon.listing-thumb-link.rounded-2,
.rts__author__card__big .company__icon.listing-thumb-link.rounded-2,
.rts__author__card .company__icon.listing-thumb-link.rounded-2 {
   border-radius: 0.375rem !important;
}

/* Theme hides list thumbnails below 992px — keep them visible */
@media screen and (max-width: 992px) {
   .rts__job__card__big .company__icon.listing-thumb-link,
   .rts__author__card__big .company__icon.listing-thumb-link,
   .rts__author__card .company__icon.listing-thumb-link {
      display: block !important;
   }
}

@media screen and (max-width: 576px) {
   .list__style .company__icon.listing-thumb-link {
      width: 50px !important;
      height: 50px !important;
      min-width: 50px !important;
      max-width: 50px !important;
      min-height: 50px !important;
      max-height: 50px !important;
      flex: 0 0 50px !important;
   }
}

/* Homepage Browse Job Category — compact icon tile */
.single__cat.style__six .single__cat__icon.listing-thumb-link {
   width: 48px !important;
   height: 48px !important;
   min-width: 48px !important;
   max-width: 48px !important;
   min-height: 48px !important;
   max-height: 48px !important;
   flex: 0 0 48px !important;
   border-radius: 10px !important;
   overflow: hidden;
}

.single__cat.style__six .single__cat__icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
   box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
}

.single__cat.style__six:hover .single__cat__icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
}

.single__cat.style__six .single__cat__icon.listing-thumb-link .category-icon-fa {
   font-size: 1.35rem;
   color: #fff;
   line-height: 1;
}

/* Top employers on homepage */
.rts__single__employer .icon.listing-thumb-link {
   width: 60px !important;
   height: 60px !important;
   min-width: 60px !important;
   max-width: 60px !important;
   min-height: 60px !important;
   max-height: 60px !important;
   border-radius: 6px;
}

.rts__single__employer .icon.listing-thumb-link .category-icon-fa {
   font-size: 2rem;
}

.rts__single__employer:hover .icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
}

/* Category gradient fills the box — no gray theme background */
.company__icon.listing-thumb-link:has(.category-icon-wrapper),
.company__icon.listing-thumb-link:has(.listing-category-thumb),
.single__cat__icon.listing-thumb-link:has(.category-icon-wrapper),
.rts__single__employer .icon.listing-thumb-link:has(.category-icon-wrapper),
.about-trusted-employer-card__logo.icon.listing-thumb-link:has(.category-icon-wrapper),
.banner-shape-thumb.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
}

.rts__job__card:hover .company__icon.listing-thumb-link:has(.category-icon-wrapper),
.rts__job__card__big.style__gradient:hover .company__icon.listing-thumb-link:has(.category-icon-wrapper),
.rts__job__card__big.style__gradient__two:hover .company__icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
}

/* Media fills entire thumbnail area */
.listing-thumb-link > .category-icon-wrapper,
.listing-thumb-link > .logo-image,
.listing-thumb-link > .listing-category-thumb,
.listing-thumb-link .category-icon-wrapper,
.listing-thumb-link .logo-image {
   position: absolute !important;
   top: 0 !important;
   right: 0 !important;
   bottom: 0 !important;
   left: 0 !important;
   width: 100% !important;
   height: 100% !important;
   min-width: 100% !important;
   min-height: 100% !important;
   margin: 0 !important;
   padding: 0 !important;
   border-radius: inherit;
   box-sizing: border-box;
}

.listing-thumb-link .category-icon-wrapper,
.listing-thumb-link .listing-category-thumb {
   display: flex !important;
   align-items: center;
   justify-content: center;
}

.listing-thumb-link .logo-image {
   object-fit: cover;
   display: block;
}

/* Icon glyph sized to thumbnail */
.rts__job__card .company__icon.listing-thumb-link .category-icon-fa {
   font-size: 2rem;
   color: #fff;
   line-height: 1;
}

.rts__job__card__big .company__icon.listing-thumb-link .category-icon-fa,
.rts__author__card__big .company__icon.listing-thumb-link .category-icon-fa,
.rts__author__card .company__icon.listing-thumb-link .category-icon-fa {
   font-size: 3.25rem;
   color: #fff;
   line-height: 1;
}

@media screen and (max-width: 576px) {
   .list__style .company__icon.listing-thumb-link .category-icon-fa {
      font-size: 1.75rem;
   }
}

/* Homepage — keep header visible above the hero */
body.is__home .rts__header.relative__header,
body.home__six .rts__header.relative__header {
   position: sticky;
   top: 0;
   z-index: 1000;
   background: transparent;
}

body.is__home .rts__header .rts__menu__background,
body.home__six .rts__header .rts__menu__background {
   background-color: #fff;
   box-shadow: 0 4px 18px rgba(11, 13, 40, 0.06);
}

/* Homepage hero — full-width banner (no side white gutters) */
body.is__home .home__six__banner,
body.home__six .home__six__banner,
.home__six__banner {
   margin-left: 0 !important;
   margin-right: 0 !important;
   position: relative;
   isolation: isolate;
   overflow: hidden;
   background-color: #eef8f1 !important;
   background-image:
      radial-gradient(ellipse 80% 60% at 12% 18%, rgba(52, 168, 83, 0.18), transparent 58%),
      radial-gradient(ellipse 70% 55% at 88% 78%, rgba(47, 158, 74, 0.14), transparent 55%),
      linear-gradient(115deg, #ffffff 0%, #eef8f1 38%, #d8f0e0 72%, #c6e8d1 100%) !important;
   background-repeat: no-repeat !important;
   background-position: center center !important;
   background-size: cover !important;
   padding-top: 48px;
   padding-bottom: 72px;
}

body.is__home .home__six__banner::before,
body.home__six .home__six__banner::before,
.home__six__banner::before {
   content: none !important;
   display: none !important;
}

.home__six__banner > .container {
   position: relative;
   z-index: 1;
}

@media screen and (max-width: 992px) {
   .home__six__banner {
      padding-top: 36px;
      padding-bottom: 56px;
   }
}

@media screen and (max-width: 768px) {
   .home__six__banner {
      padding-top: 28px;
      padding-bottom: 48px;
   }
}

/* Homepage hero search — compact height */
body.is__home .rts__job__search.form-2,
body.home__six .rts__job__search.form-2 {
   padding: 6px 10px;
   border-radius: 12px;
   box-shadow: 0 12px 24px rgba(20, 22, 55, 0.08);
}

body.is__home .rts__job__search.form-2 form,
body.home__six .rts__job__search.form-2 form {
   gap: 10px !important;
}

body.is__home .rts__job__search.form-2 .input-group,
body.home__six .rts__job__search.form-2 .input-group {
   gap: 10px !important;
}

body.is__home .rts__job__search.form-2 .single__input,
body.home__six .rts__job__search.form-2 .single__input {
   max-width: 220px;
   min-width: 180px;
}

body.is__home .rts__job__search.form-2 .single__input input,
body.home__six .rts__job__search.form-2 .single__input input,
body.is__home .rts__job__search.form-2 .single__input .nice-select,
body.home__six .rts__job__search.form-2 .single__input .nice-select {
   height: 40px;
   min-height: 40px;
   padding-top: 0;
   padding-bottom: 0;
   padding-left: 36px;
   padding-right: 28px;
   font-size: 14px;
   line-height: 40px;
   display: flex;
   align-items: center;
}

body.is__home .rts__job__search.form-2 .single__input input,
body.home__six .rts__job__search.form-2 .single__input input {
   display: block;
   line-height: 40px;
}

body.is__home .rts__job__search.form-2 .single__input .search__icon,
body.home__six .rts__job__search.form-2 .single__input .search__icon,
body.is__home .rts__job__search.form-2 .single__input .location__icon,
body.home__six .rts__job__search.form-2 .single__input .location__icon {
   left: 12px;
   font-size: 13px;
}

body.is__home .rts__job__search.form-2 .job__search,
body.home__six .rts__job__search.form-2 .job__search {
   height: 40px;
   min-height: 40px;
   min-width: 140px;
   padding: 0 18px;
   font-size: 14px;
   line-height: 1;
   border-radius: 8px;
}

body.is__home .home__six__banner .rts__banner__title,
body.home__six .home__six__banner .rts__banner__title,
body.is__home .home__six__banner .home-hero-title,
body.home__six .home__six__banner .home-hero-title {
   display: block;
   width: fit-content;
   max-width: 100%;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 0.55rem !important;
   padding: 0.45rem 1rem;
   font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
   line-height: 1.2 !important;
   font-weight: 700 !important;
   letter-spacing: -0.02em;
   color: #111827 !important;
   background: #fff;
   border-radius: 0.5rem;
   box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}

body.is__home .home__six__banner .rts__banner__content > p,
body.home__six .home__six__banner .rts__banner__content > p,
body.is__home .home__six__banner .home-hero-lead,
body.home__six .home__six__banner .home-hero-lead {
   display: block;
   width: fit-content;
   max-width: min(34rem, 100%);
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 1rem !important;
   padding: 0.55rem 1rem;
   font-size: 0.95rem !important;
   line-height: 1.45 !important;
   color: #111827 !important;
   background: #fff;
   border-radius: 0.5rem;
   box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
}

body.is__home .home__six__banner .rts__job__search.form-2,
body.home__six .home__six__banner .rts__job__search.form-2 {
   margin-bottom: 0.85rem !important;
}

/* Hero job cards carousel under search */
.home-hero-jobs-carousel {
   display: flex;
   align-items: center;
   gap: 10px;
   max-width: 1040px;
   margin: 0.5rem auto 0;
   padding: 0 2px;
}

.home-hero-jobs-slider {
   flex: 1 1 auto;
   min-width: 0;
   padding: 6px 2px 10px;
}

.home-hero-job-slide {
   width: 232px;
   height: auto;
}

.home-hero-job-card {
   display: flex;
   flex-direction: column;
   align-items: stretch;
   gap: 8px;
   width: 100%;
   min-height: 168px;
   padding: 14px;
   border-radius: 16px;
   background: linear-gradient(180deg, #ffffff 0%, #fbfcfa 100%);
   border: 1px solid rgba(20, 22, 55, 0.07);
   box-shadow: 0 10px 24px rgba(20, 22, 55, 0.07);
   color: #141637;
   text-decoration: none !important;
   text-align: left;
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-hero-job-card:hover,
.home-hero-job-card:focus-visible {
   transform: translateY(-4px);
   border-color: rgba(52, 168, 83, 0.4);
   box-shadow: 0 16px 30px rgba(20, 22, 55, 0.12);
   color: #141637;
}

.home-hero-job-card__top {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 8px;
}

.home-hero-job-card__avatar {
   width: 52px;
   height: 52px;
   min-width: 52px;
   border-radius: 12px;
   overflow: hidden;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: #eef2f6;
   border: 1px solid rgba(20, 22, 55, 0.06);
   flex: 0 0 52px;
}

.home-hero-job-card__avatar img,
.home-hero-job-card__avatar .logo-image,
.home-hero-job-card__avatar .category-icon-wrapper {
   width: 100% !important;
   height: 100% !important;
   max-width: 100% !important;
   max-height: 100% !important;
   object-fit: cover;
   border-radius: 11px;
}

.home-hero-job-card__avatar .category-icon-wrapper {
   display: flex !important;
   align-items: center;
   justify-content: center;
}

.home-hero-job-card__avatar .category-icon-fa {
   width: auto !important;
   height: auto !important;
   max-width: none !important;
   max-height: none !important;
   font-size: 20px !important;
   line-height: 1 !important;
   color: #fff !important;
   display: inline-flex !important;
   align-items: center;
   justify-content: center;
}

.home-hero-job-card__badge {
   max-width: 58%;
   padding: 4px 8px;
   border-radius: 999px;
   background: #ecfdf3;
   color: #027a48;
   font-size: 10.5px;
   font-weight: 700;
   line-height: 1.2;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.home-hero-job-card__title {
   font-size: 15px;
   font-weight: 700;
   line-height: 1.3;
   letter-spacing: -0.01em;
   color: #0f172a;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   min-height: 2.5em;
}

.home-hero-job-card__company {
   font-size: 12.5px;
   font-weight: 600;
   color: #475467;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.home-hero-job-card__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin-top: auto;
   padding-top: 4px;
}

.home-hero-job-card__meta span {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   max-width: 100%;
   padding: 4px 8px;
   border-radius: 999px;
   background: #f2f4f7;
   color: #475467;
   font-size: 11px;
   font-weight: 600;
   line-height: 1.2;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.home-hero-job-card__meta i {
   color: #34a853;
   font-size: 11px;
}

.home-hero-jobs-prev,
.home-hero-jobs-next {
   flex: 0 0 40px;
   width: 40px;
   height: 40px;
   border: 1px solid rgba(20, 22, 55, 0.1);
   border-radius: 50%;
   background: #fff;
   color: #141637;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 8px 16px rgba(20, 22, 55, 0.08);
   cursor: pointer;
   transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.home-hero-jobs-prev:hover,
.home-hero-jobs-next:hover,
.home-hero-jobs-prev:focus-visible,
.home-hero-jobs-next:focus-visible {
   background: #198754;
   border-color: #198754;
   color: #fff;
   transform: scale(1.04);
}

@media screen and (max-width: 768px) {
   .home-hero-jobs-carousel {
      gap: 4px;
   }

   .home-hero-job-slide {
      width: 200px;
   }

   .home-hero-job-card {
      min-height: 156px;
      padding: 12px;
      gap: 7px;
      border-radius: 14px;
   }

   .home-hero-job-card__avatar {
      width: 44px;
      height: 44px;
      min-width: 44px;
      flex-basis: 44px;
   }

   .home-hero-job-card__title {
      font-size: 14px;
      min-height: 2.4em;
   }

   .home-hero-jobs-prev,
   .home-hero-jobs-next {
      flex-basis: 34px;
      width: 34px;
      height: 34px;
   }
}

@media screen and (max-width: 768px) {
   body.is__home .rts__job__search.form-2 .single__input,
   body.home__six .rts__job__search.form-2 .single__input {
      min-width: 100%;
      max-width: 100%;
   }

   body.is__home .rts__job__search.form-2 .job__search,
   body.home__six .rts__job__search.form-2 .job__search {
      width: 100%;
      min-width: 100%;
   }
}

/* Default / non-listing breadcrumb: soft brand gradient (nav green + white) */
.breadcrumb__background {
   background-image: linear-gradient(115deg, #ffffff 0%, #eef8f1 38%, #d8f0e0 72%, #c6e8d1 100%) !important;
   background-color: #eef8f1;
   background-size: cover !important;
   background-position: center center !important;
   background-repeat: no-repeat !important;
}

/* Listing pages: half-size header — title + breadcrumbs only, brand gradient */
body.listing-page .breadcrumb__background {
   min-height: 0;
   background-image: linear-gradient(115deg, #ffffff 0%, #f3faf5 34%, #e3f5e9 68%, #d4efdd 100%) !important;
   background-color: #f3faf5;
}

body.listing-page[data-listing-path="job-list"] .breadcrumb__background {
   background-image: linear-gradient(115deg, #ffffff 0%, #f0faf3 40%, #d9f0e2 100%) !important;
}

body.listing-page[data-listing-path="formacion-list"] .breadcrumb__background {
   background-image: linear-gradient(115deg, #ffffff 0%, #f2faf4 40%, #dcefe3 100%) !important;
}

body.listing-page[data-listing-path="candidate-list"] .breadcrumb__background {
   background-image: linear-gradient(115deg, #ffffff 0%, #f4faf6 40%, #e0f2e7 100%) !important;
}

body.listing-page[data-listing-path="employer-list"] .breadcrumb__background {
   background-image: linear-gradient(115deg, #ffffff 0%, #f1f8f3 40%, #d7eee0 100%) !important;
}

body.listing-page .breadcrumb__padding {
   padding: 92px 0 16px;
   min-height: 0;
   display: block;
}

body.listing-page .breadcrumb-title {
   margin-bottom: 0.25rem;
   font-size: clamp(1.25rem, 1.8vw, 1.55rem);
}

/* Map-style back-to-home control in listing breadcrumb bars */
body.listing-page .ie-listing-back-home {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   margin-top: 92px;
   margin-bottom: 16px;
   padding: 10px 16px;
   border-radius: 12px;
   background: rgba(255, 255, 255, 0.96);
   color: #111827;
   font-size: 14px;
   font-weight: 600;
   text-decoration: none;
   box-shadow: 0 4px 20px rgba(15, 23, 42, 0.12);
   white-space: nowrap;
   transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
   z-index: 2;
}

body.listing-page .ie-listing-back-home:hover,
body.listing-page .ie-listing-back-home:focus-visible {
   transform: translateY(-1px);
   box-shadow: 0 6px 24px rgba(15, 23, 42, 0.18);
   color: #0b0d28;
   background: #fff;
}

body.listing-page .ie-listing-back-home i {
   font-size: 14px;
   color: #34a853;
}

@media screen and (max-width: 992px) {
   body.listing-page .ie-listing-back-home {
      margin-top: 86px;
      margin-bottom: 14px;
   }
}

@media screen and (max-width: 768px) {
   body.listing-page .ie-listing-back-home {
      margin-top: 0;
      margin-bottom: 12px;
      padding: 9px 12px;
   }

   body.listing-page .ie-listing-back-home__label {
      display: none;
   }
}

body.listing-page .breadcrumb__background + .rts__section.section__padding {
   padding-top: 28px;
}

@media screen and (max-width: 992px) {
   body.listing-page .breadcrumb__padding {
      padding: 86px 0 14px;
   }

   body.listing-page .breadcrumb__background + .rts__section.section__padding {
      padding-top: 24px;
   }
}

@media screen and (max-width: 768px) {
   body.listing-page .breadcrumb__padding {
      padding: 80px 0 12px;
   }

   body.listing-page .breadcrumb__background + .rts__section.section__padding {
      padding-top: 20px;
   }
}

.breadcrumb__area__shape {
   display: none !important;
}

/* Homepage hero — same as job-list: full gradient box + white icon */
.home__six__banner .rts__banner__shape .shape {
   overflow: hidden;
   padding: 0;
}

.home__six__banner .rts__banner__shape .shape:has(.banner-shape-thumb .category-icon-wrapper) {
   background-color: transparent !important;
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
}

.home__six__banner .rts__banner__shape .banner-shape-thumb.listing-thumb-link {
   display: block !important;
   width: 100% !important;
   height: 100% !important;
   min-width: 0 !important;
   max-width: none !important;
   min-height: 0 !important;
   max-height: none !important;
   flex: none !important;
   border-radius: inherit;
}

.home__six__banner .rts__banner__shape .banner-shape-thumb .category-icon-fa {
   font-size: 2rem;
   color: #fff;
   line-height: 1;
}

/* Hero + listing filters — nice-select chevron alignment */
.rts__job__search.form-2 .single__input .nice-select::before,
.rts__job__search.form-2 .single__input .nice-select.open::before,
body.listing-page .search__item .nice-select::before,
body.listing-page .search__item .nice-select.open::before {
   font-family: var(--fontawesome-pro);
   font-weight: 900;
   font-size: 12px;
   line-height: 1;
   z-index: 2;
}

body.listing-page .search__item .nice-select::before,
body.listing-page .search__item .nice-select.open::before {
   top: 50%;
   right: 12px;
   transform: translateY(-50%);
   margin-top: 0;
}

/* Homepage grids — equal gap; kill Bootstrap g-30 gutters (they add uneven top margin) */
body.home__six .row.g-30 {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: 0.75rem;
   margin-inline: 0;
   --bs-gutter-x: 0;
   --bs-gutter-y: 0;
}

body.home__six .row.g-30 > [class*="col-"] {
   width: 100% !important;
   max-width: none;
   padding-inline: 0;
   margin-top: 0 !important;
}

body.home__six .home__job__listings .row.g-30 {
   gap: 0.75rem;
}

@media screen and (min-width: 768px) {
   body.home__six .row.g-30 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media screen and (min-width: 1200px) {
   body.home__six .row.g-30:has(.col-xl-4) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }
}

/* Homepage category cards + job cards — compact scale */
body.home__six .rts__section.section__padding {
   padding-top: 48px;
   padding-bottom: 48px;
}

body.home__six .home__job__listings.pb-120 {
   padding-bottom: 64px !important;
}

body.home__six .mb-50 {
   margin-bottom: 1.5rem !important;
}

.home__six .rts__section__title,
.home__six__banner + .rts__brand + .rts__section .rts__section__title,
.home__job__listings .rts__section__title {
   color: #0f172a;
   font-size: clamp(1.35rem, 1.8vw, 1.75rem);
   line-height: 1.2;
   font-weight: 800;
   margin-bottom: 8px;
}

.home__six .rts__section__desc,
.home__job__listings .rts__section__desc {
   color: #64748b;
   font-size: 14px;
   line-height: 1.5;
}

.home__six .rts__links a {
   text-decoration: none;
   font-size: 14px;
}

.home__six .listing-post-nav-form {
   display: inline-block;
   margin: 0;
}

.home__six .listing-post-nav-form button {
   border: 0;
   background: transparent;
   padding: 0;
   text-align: inherit;
}

.home__six .single__cat.style__six {
   background: #fff;
   border: 1px solid #e5e7eb;
   border-radius: 14px;
   padding: 12px 14px;
   min-height: 0;
   gap: 12px !important;
   box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home__six .single__cat.style__six:hover {
   transform: translateY(-2px);
   border-color: rgba(52, 168, 83, 0.35);
   box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.home__six .single__cat.style__six .single__cat__link {
   min-width: 0;
}

.home__six .single__cat.style__six .single__cat__link .listing-post-nav-form {
   width: 100%;
}

.home__six .single__cat.style__six .single__cat__link button {
   width: 100%;
   color: #0f172a;
   font-size: 0.95rem;
   font-weight: 700;
   line-height: 1.3;
   white-space: normal;
   text-align: left;
}

.home__six .single__cat.style__six .font-sm {
   color: #64748b;
   font-size: 12.5px;
   margin-top: 2px !important;
}

.home__job__listings .rts__job__card.style__six {
   background: #fff;
   border: 1px solid #e5e7eb;
   border-radius: 16px;
   padding: 16px;
   box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home__job__listings .rts__job__card.style__six:hover {
   transform: translateY(-3px);
   border-color: rgba(52, 168, 83, 0.3);
   box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.home__job__listings .rts__job__card.style__six > .d-flex:first-child {
   gap: 12px;
}

.home__job__listings .rts__job__card.style__six .font-sm {
   color: #64748b;
   font-size: 13px;
   line-height: 1.45;
}

.home__job__listings .rts__job__card.style__six .job__title,
.home__job__listings .rts__job__card.style__six .job__title a {
   color: #0f172a;
   font-size: 1.05rem;
   font-weight: 700;
   line-height: 1.35;
   text-decoration: none;
}

.home__job__listings .rts__job__card.style__six .job__title a:hover {
   color: #4A90D9;
}

.home__job__listings .rts__job__card.style__six .job__tags {
   flex-wrap: wrap !important;
   gap: 6px !important;
}

.home__job__listings .rts__job__card.style__six .job__tags .listing-post-nav-form button,
.home__job__listings .rts__job__card.style__six .job__tags .price-badge {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 28px;
   padding: 4px 10px;
   border-radius: 999px;
   border: 1px solid #dbe4f0;
   background: #f8fbff;
   color: #4a5565;
   font-size: 12px;
   font-weight: 600;
   line-height: 1.2;
   white-space: nowrap;
}

.home__job__listings .rts__job__card.style__six .job__tags .listing-post-nav-form button:hover {
   border-color: #4A90D9;
   color: #4A90D9;
   background: #eef6ff;
}

@media screen and (max-width: 767px) {
   .home__six .single__cat.style__six,
   .home__job__listings .rts__job__card.style__six {
      padding: 12px;
      border-radius: 12px;
   }

   .home__six .single__cat.style__six {
      min-height: 0;
   }
}

/* Homepage top employer cards */
body.home__six .rts__single__employer.style__six {
   background: #fff;
   border: 1px solid #e5e7eb;
   border-radius: 14px;
   padding: 14px 16px;
   box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.home__six .rts__single__employer.style__six:hover {
   transform: translateY(-4px);
   background-color: #fff;
   border-color: rgba(74, 144, 217, 0.28);
   color: inherit;
   box-shadow: 0 20px 48px rgba(74, 144, 217, 0.16);
}

body.home__six .rts__single__employer.style__six .content {
   min-width: 0;
}

body.home__six .rts__single__employer.style__six .content a.text-dark {
   color: #0f172a;
   text-decoration: none;
   display: block;
   line-height: 1.35;
}

body.home__six .rts__single__employer.style__six .content span {
   color: #64748b;
   font-size: 14px;
   margin-top: 4px;
}

body.home__six .rts__single__employer.style__six:hover .content a.text-dark,
body.home__six .rts__single__employer.style__six:hover .content span,
body.home__six .rts__single__employer.style__six:hover i.text-dark {
   color: inherit;
}

body.home__six .rts__single__employer.style__six:hover .content a.text-dark {
   color: #0f172a !important;
}

body.home__six .rts__single__employer.style__six:hover .content span,
body.home__six .rts__single__employer.style__six:hover i.text-dark {
   color: #64748b !important;
}

body.home__six .rts__single__employer.style__six .icon {
   height: 60px;
   width: 60px;
   min-width: 60px;
   border-radius: 6px;
   background-color: #f1f5f9;
   flex-shrink: 0;
   overflow: hidden;
}

body.home__six .rts__single__employer.style__six .apply__btn.is__home {
   display: inline-flex;
   align-items: center;
   padding: 14px 20px;
   border-radius: 6px;
   background-color: #f1f1f1;
   color: #0b0d28;
   font-weight: 600;
   font-size: 14px;
   line-height: 1.2;
   text-decoration: none;
   white-space: nowrap;
   transition: background-color 0.25s ease, color 0.25s ease;
}

body.home__six .rts__single__employer.style__six .apply__btn.is__home:hover,
body.home__six .rts__single__employer.style__six:hover .apply__btn.is__home:hover {
   background-color: #0b0d28;
   color: #fff;
}

body.home__six .rts__single__employer.style__six:hover .apply__btn.is__home {
   background-color: #f1f1f1;
   color: #0b0d28;
}

@media screen and (max-width: 767px) {
   body.home__six .rts__single__employer.style__six {
      padding: 12px 14px;
      border-radius: 12px;
   }

   body.home__six .rts__single__employer.style__six .apply__btn.is__home {
      padding: 8px 12px;
   }
}

/* Homepage about section — 1000+ Jobs block */
.home__six .about__section__bg {
   background-color: #f5f3ea;
}

body.home__six .about__section__bg > .container > .row.align-items-center {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 1.75rem;
   margin-inline: 0;
}

body.home__six .about__section__bg > .container > .row.align-items-center > .col-lg-6 {
   width: 100%;
   max-width: 100%;
   padding-inline: 0;
}

@media screen and (min-width: 992px) {
   body.home__six .about__section__bg > .container > .row.align-items-center > .col-lg-6 {
      flex: 0 0 calc(50% - 1.5rem);
      max-width: calc(50% - 1.5rem);
   }
}

.home__six .about__section__bg .rts__content__section {
   max-width: 600px;
}

.home__six .about__section__bg .rts__content__section h3 {
   color: #0b0d28;
   font-size: clamp(1.35rem, 1.9vw, 1.85rem);
   line-height: 1.2;
   font-weight: 800;
}

.home__six .about__section__bg .rts__content__section h3 a {
   color: inherit;
   text-decoration: none;
}

.home__six .about__section__bg .rts__content__section h3 a:hover {
   color: #34A853;
}

.home__six .about__section__bg .rts__content__section > p {
   color: #7d8087;
   font-size: 14px;
   line-height: 1.5;
}

.home__six .about__section__bg .l--3 {
   letter-spacing: -0.02em;
}

.home__six .about__section__bg .rts__listing.style__six {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px;
}

.home__six .about__section__bg .single__listing {
   color: #0b0d28;
   font-size: 16px;
   font-weight: 500;
}

.home__six .about__section__bg .single__listing .icon {
   height: 22px;
   width: 22px;
   border-radius: 50%;
   background-color: #0b0d28;
   display: grid;
   place-items: center;
   font-size: 12px;
   color: #fff;
   flex-shrink: 0;
}

.home__six .about__section__bg .common__btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   border-radius: 10px;
   padding: 15px 16px;
   text-decoration: none;
}

.home__six .about__section__bg .home-about-media {
   position: relative;
   width: 100%;
   max-width: 560px;
   margin-left: auto;
}

.home__six .about__section__bg .home-about-media__frame {
   margin: 0;
   overflow: hidden;
   border-radius: 22px;
   background:
      linear-gradient(145deg, rgba(52, 168, 83, 0.12), rgba(15, 23, 42, 0.04)),
      #eef6f0;
   border: 1px solid rgba(15, 23, 42, 0.08);
   box-shadow:
      0 18px 40px rgba(15, 23, 42, 0.08),
      0 2px 0 rgba(255, 255, 255, 0.7) inset;
   aspect-ratio: 4 / 3;
}

.home__six .about__section__bg .home-about-media__img,
.home__six .about__section__bg .home-about-media__frame img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 30%;
}

.home__six .about__section__bg .home-about-media__chip {
   position: absolute;
   left: 18px;
   bottom: 18px;
   display: flex;
   align-items: center;
   gap: 12px;
   max-width: calc(100% - 36px);
   padding: 12px 14px;
   border-radius: 14px;
   background: rgba(255, 255, 255, 0.94);
   border: 1px solid rgba(15, 23, 42, 0.08);
   box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
   backdrop-filter: blur(8px);
}

.home__six .about__section__bg .home-about-media__chip-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: #34A853;
   box-shadow: 0 0 0 6px rgba(52, 168, 83, 0.16);
   flex-shrink: 0;
}

.home__six .about__section__bg .home-about-media__chip strong,
.home__six .about__section__bg .home-about-media__chip span {
   display: block;
   line-height: 1.25;
}

.home__six .about__section__bg .home-about-media__chip strong {
   color: #0f172a;
   font-size: 13px;
   font-weight: 700;
}

.home__six .about__section__bg .home-about-media__chip span {
   color: #64748b;
   font-size: 12px;
   margin-top: 2px;
}

@media screen and (max-width: 991px) {
   .home__six .about__section__bg .home-about-media {
      max-width: 100%;
      margin: 8px auto 0;
   }
}

@media screen and (max-width: 576px) {
   .home__six .about__section__bg .rts__listing.style__six {
      grid-template-columns: 1fr;
   }

   .home__six .about__section__bg .home-about-media__chip {
      left: 12px;
      bottom: 12px;
      padding: 10px 12px;
   }
}

/* Homepage apply CTA — contained media + CTA, no text overlap */
.home__six .apply__area__bg {
   background-color: #f5f3ea;
   border-radius: 16px;
   padding: 56px 48px;
   overflow: hidden !important;
}

.home__six .apply__area__bg .row {
   align-items: center;
   margin: 0;
}

.home__six .apply__area__content {
   position: relative;
   z-index: 2;
   max-width: 36rem;
}

.home__six .apply__area__content h3 {
   color: #0b0d28;
   font-size: clamp(1.65rem, 2.3vw, 2.35rem);
   line-height: 1.25;
   font-weight: 800;
   letter-spacing: -0.02em;
   margin: 0;
}

.home__six .apply__area__content h3 a {
   color: inherit;
   text-decoration: none;
}

.home__six .apply__area__content h3 a:hover {
   color: #34a853;
}

.home__six .apply__area__aside {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 20px;
   min-width: 0;
   position: relative;
   z-index: 1;
}

.home__six .apply__area__bg .common__btn,
.home__six .apply__area__btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   border-radius: 10px;
   padding: 15px 18px;
   text-decoration: none;
   white-space: nowrap;
   margin-top: 0;
   flex: 0 0 auto;
}

.home__six .apply__area__media,
.home__six .home-apply-media {
   position: relative !important;
   display: block;
   margin: 0 !important;
   pointer-events: none;
   flex: 0 1 220px;
   max-width: 220px;
   width: 100%;
}

.home__six .home-apply-media__frame {
   margin: 0;
   overflow: hidden;
   border-radius: 18px;
   background:
      linear-gradient(145deg, rgba(52, 168, 83, 0.12), rgba(15, 23, 42, 0.04)),
      #eef6f0;
   border: 1px solid rgba(15, 23, 42, 0.08);
   box-shadow:
      0 14px 32px rgba(15, 23, 42, 0.1),
      0 2px 0 rgba(255, 255, 255, 0.7) inset;
   aspect-ratio: 4 / 3;
}

.home__six .home-apply-media__img,
.home__six .home-apply-media__frame img,
.home__six .apply__area__bg .apply__area__img img {
   display: block;
   width: 100%;
   height: 100%;
   max-width: none;
   max-height: none;
   object-fit: cover;
   object-position: center 25%;
   border-radius: 0;
   box-shadow: none;
   background: transparent;
}

.home__six .apply__area__bg .apply__area__img,
.home__six .apply__area__img {
   position: relative !important;
   left: auto !important;
   right: auto !important;
   top: auto !important;
   bottom: auto !important;
   line-height: 0;
}

.home__six .apply__area__bg .shape__image__six {
   display: none !important;
}

@media screen and (max-width: 991px) {
   .home__six .apply__area__bg {
      padding: 44px 36px;
      text-align: center;
   }

   .home__six .apply__area__content {
      max-width: none;
      margin: 0 auto;
   }

   .home__six .apply__area__aside {
      justify-content: center;
      flex-wrap: wrap;
   }
}

@media screen and (max-width: 576px) {
   .home__six .apply__area__bg {
      padding: 36px 24px;
   }

   .home__six .apply__area__bg .apply__area__content h3 {
      letter-spacing: 0;
   }

   .home__six .apply__area__media {
      display: none !important;
   }
}

/* Non-link tags (salary, employment type, price) — match listing card tag typography */
.rts__job__card__big .job__tags .price-badge,
.rts__job__card .job__tags .price-badge,
.rts__author__card__big .job__tags .price-badge,
.rts__author__card .job__tags .price-badge {
   padding: 5px 10px;
   border-radius: 6px;
   background-color: transparent;
   color: var(--rts-para);
   line-height: 1.2;
   font-weight: 500;
   border: 1px solid #F1F1F1;
   display: inline-block;
   white-space: nowrap;
}

.rts__job__card__big.style__gradient .job__tags .price-badge,
.style__gradient.rts__author__card__big .job__tags .price-badge {
   border-radius: 25px;
}

/* Homepage — top locations brand slider (matches original .rts__brand layout) */
.rts__brand--locations .bg-white {
   padding: 16px 16px;
}

.rts__brand--locations__track {
   display: flex;
   align-items: center;
   gap: 8px;
}

.rts__brand--locations .rts__brand__slider {
   flex: 1 1 auto;
   min-width: 0;
}

.rts__brand--locations .locations-brand-prev,
.rts__brand--locations .locations-brand-next {
   flex: 0 0 auto;
   width: 40px;
   height: 40px;
   border: 1px solid #e8e9ec;
   border-radius: 50%;
   background: #fff;
   color: #0b0d28;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
   transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rts__brand--locations .locations-brand-prev:hover,
.rts__brand--locations .locations-brand-next:hover,
.rts__brand--locations .locations-brand-prev:focus-visible,
.rts__brand--locations .locations-brand-next:focus-visible {
   background: #0b0d28;
   border-color: #0b0d28;
   color: #fff;
   outline: none;
}

.rts__brand--locations .locations-brand-prev i,
.rts__brand--locations .locations-brand-next i {
   font-size: 14px;
   line-height: 1;
}

.rts__brand--locations .rts__brand__slider .swiper-slide {
   width: auto;
}

.rts__brand--locations .brand__item {
   display: flex;
   align-items: center;
   justify-content: center;
}

.rts__brand--locations .location-brand-pill {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-height: 44px;
   min-width: 168px;
   padding: 8px 18px;
   border-radius: 6px;
   border: 1px solid #e8e9ec;
   background: #f8f9fa;
   color: var(--rts-heading);
   font-weight: 500;
   font-size: 16px;
   line-height: 1.2;
   text-decoration: none;
   transition: var(--transition);
   white-space: nowrap;
}

.rts__brand--locations .location-brand-pill:hover {
   border-color: #d1d5db;
   background: #fff;
   color: var(--rts-heading);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.rts__brand--locations .location-brand-pill i {
   color: var(--rts-button-1);
   font-size: 18px;
   flex-shrink: 0;
}

.rts__brand--locations .location-brand-pill__name {
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 200px;
}

.rts__brand--locations .location-brand-pill__count {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 28px;
   height: 28px;
   padding: 0 8px;
   border-radius: 4px;
   background: #fff;
   border: 1px solid #e8e9ec;
   color: var(--rts-para);
   font-size: 13px;
   font-weight: 600;
   flex-shrink: 0;
}

.rts__brand--locations .location-brand-pill:hover .location-brand-pill__count {
   border-color: var(--rts-button-1);
   color: var(--rts-button-1);
}

/* Listing toolbar — icon-only clear filters (next to Grid / List) */
.top__query .clear-filters-style {
   padding: 10px;
   gap: 0;
   font-size: 16px;
   min-width: 42px;
   min-height: 42px;
   border-radius: 6px;
   color: var(--rts-heading);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
   text-decoration: none;
}

.top__query .clear-filters-style:hover {
   color: var(--rts-white);
}

.top__query .clear-filters-style--icon-only span {
   display: none;
}

/* Listing sidebar: auto-submit filters keep body + footer inline */
.listing-filters-form__body {
   gap: 30px;
}

.listing-filters-form__footer {
   margin-top: 30px;
}

.listing-filters-form.is-filtering {
   position: relative;
}

.listing-filters-form.is-filtering::after {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(255, 255, 255, 0.35);
   border-radius: 10px;
   pointer-events: none;
}

.listing-filters-form[data-auto-submit="1"] .listing-filter-btn--apply {
   display: none;
}

.listing-filters-form[data-auto-submit="1"] .filter-form-actions {
   grid-template-columns: 1fr;
}

/* Listing sidebar: Apply + Clear on one row, equal size */
.filter-form-actions {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   width: 100%;
   margin-top: 4px;
}

.filter-form-actions .listing-filter-btn {
   width: 100%;
   max-width: none !important;
   min-width: 0;
   min-height: 44px;
   margin: 0;
   padding: 10px 12px;
   border-radius: 6px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   font-size: 14px;
   font-weight: 500;
   line-height: 1.2;
   text-decoration: none;
   box-sizing: border-box;
}

.filter-form-actions .listing-filter-btn--apply .listing-filter-btn__text {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.filter-form-actions .listing-filter-btn--clear {
   padding: 10px;
   font-size: 16px;
}

@media (max-width: 575.98px) {
   .filter-form-actions {
      gap: 8px;
   }

   .filter-form-actions .listing-filter-btn {
      min-height: 42px;
      font-size: 13px;
      padding: 8px 10px;
   }
}

/* Detail pages — breadcrumb hero + sidebar cards match list thumbnails */
.breadcrumb__background .company__icon.listing-thumb-link,
.breadcrumb__background .author__icon.listing-thumb-link,
.breadcrumb__background .company__icon.rounded-2.listing-thumb-link {
   width: 120px !important;
   height: 120px !important;
   min-width: 120px !important;
   max-width: 120px !important;
   min-height: 120px !important;
   max-height: 120px !important;
   flex: 0 0 120px !important;
   border-radius: 0.375rem !important;
   background-color: transparent !important;
}

.breadcrumb__background .company__icon.listing-thumb-link .category-icon-fa,
.breadcrumb__background .author__icon.listing-thumb-link .category-icon-fa {
   font-size: 3.25rem;
}

.company__card .icon.listing-thumb-link,
.company__card .company__icon.listing-thumb-link {
   width: 80px !important;
   height: 80px !important;
   min-width: 80px !important;
   max-width: 80px !important;
   min-height: 80px !important;
   max-height: 80px !important;
   flex: 0 0 80px !important;
   margin: 0 auto;
   border-radius: 0.375rem !important;
   overflow: hidden;
}

.company__card .company__icon.listing-thumb-link.bg-white:not(:has(.category-icon-wrapper)) {
   background-color: #fff !important;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.company__card .company__icon.listing-thumb-link:has(.category-icon-wrapper),
.company__card .icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.company__card .icon.listing-thumb-link .category-icon-fa,
.company__card .company__icon.listing-thumb-link .category-icon-fa {
   font-size: 2.25rem;
   color: #fff;
   line-height: 1;
}

/* Detail sidebar profile placeholders — colored by entity type (no grey/border) */
.listing-thumb-link .listing-profile-thumb.listing-image-placeholder {
   border: 0 !important;
   color: #fff !important;
}

.listing-thumb-link .listing-profile-thumb.listing-image-placeholder .category-icon-fa {
   color: #fff !important;
}

@media screen and (max-width: 576px) {
   .breadcrumb__background .company__icon.listing-thumb-link,
   .breadcrumb__background .author__icon.listing-thumb-link {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      max-width: 80px !important;
      min-height: 80px !important;
      max-height: 80px !important;
      flex: 0 0 80px !important;
   }

   .breadcrumb__background .company__icon.listing-thumb-link .category-icon-fa,
   .breadcrumb__background .author__icon.listing-thumb-link .category-icon-fa {
      font-size: 2rem;
   }
}

/* Detail related carousel — separated from main detail content */
body.detail-page .detail-related-section {
   border-top: 1px solid rgba(125, 128, 135, 0.22);
   padding-top: 60px;
   margin-top: 12px;
}

body.detail-page .detail-related-section + .detail-related-section {
   border-top: 0;
   padding-top: 48px;
   margin-top: 0;
}

/* Detail related carousel — grid cards (same compact type as listing pages) */
.detail-related-section {
   --listing-page-fs: 14px;
   --listing-page-fs-sm: 13px;
   --listing-page-fs-title: 16px;
}

.detail-related-section .rts__section__title {
   font-size: 22px !important;
   line-height: 1.3 !important;
   letter-spacing: -0.02em !important;
   margin-bottom: 0.35rem !important;
}

.detail-related-section .rts__section__desc {
   font-size: var(--listing-page-fs) !important;
   line-height: 1.45;
   color: var(--rts-para);
}

.detail-related-section .detail-related__slider .swiper-slide {
   height: auto;
}

.detail-related-section .detail-related-card {
   min-height: 100%;
   height: 100%;
}

.detail-related-section .rts__job__card,
.detail-related-section .rts__author__card {
   padding: 18px;
   font-size: var(--listing-page-fs);
}

.detail-related-section .rts__job__card > .d-flex.gap-3,
.detail-related-section .rts__job__card > .d-flex.gap-3.flex-wrap {
   font-size: var(--listing-page-fs-sm);
   gap: 0.5rem !important;
}

.detail-related-section .rts__job__card .job__title,
.detail-related-section .rts__job__card .job__title.h6,
.detail-related-section .rts__job__card .job__title a {
   font-size: var(--listing-page-fs-title) !important;
   line-height: 1.35;
   margin-top: 0.65rem !important;
   margin-bottom: 0.65rem !important;
}

.detail-related-section .rts__job__card > p {
   font-size: var(--listing-page-fs-sm);
   line-height: 1.45;
   color: var(--rts-para);
   margin-bottom: 0.75rem;
}

.detail-related-section .rts__job__card:hover .company__icon.listing-thumb-link:has(.category-icon-wrapper) {
   background-color: transparent !important;
}

.detail-related-section .rts__job__card .job__tags a,
.detail-related-section .rts__job__card .job__tags span,
.detail-related-section .rts__job__card .job__tags .category-tag,
.detail-related-section .rts__job__card .job__tags .experience-tag,
.detail-related-section .rts__job__card .job__tags .level-tag,
.detail-related-section .rts__job__card .job__tags .course-type-tag,
.detail-related-section .rts__job__card .job__tags .price-badge {
   padding: 4px 7px;
   border-radius: 6px;
   background-color: var(--rts-gray);
   color: var(--rts-para);
   line-height: 1;
   text-transform: capitalize;
   font-size: var(--listing-page-fs-sm) !important;
   font-weight: 500;
   border: none;
   display: inline-block;
}

.detail-related-section .rts__job__card .job__tags a:hover,
.detail-related-section .rts__job__card .job__tags a:focus-visible {
   color: #fff;
   background-color: var(--rts-button-1);
}

.detail-related-section .rts__job__card .job__tags.mt-4,
.detail-related-section .rts__job__card .mt-4 {
   margin-top: 0.75rem !important;
}

.detail-related-section .rts__slider__control .slider__btn.swiper-button-disabled {
   opacity: 0.45;
   pointer-events: none;
}

.detail-related-section .rts__job__card .company__icon.listing-thumb-link {
   width: 60px !important;
   height: 60px !important;
   min-width: 60px !important;
   max-width: 60px !important;
   min-height: 60px !important;
   max-height: 60px !important;
   flex: 0 0 60px !important;
}

/* Listing media gallery */
.listing-media-public {
   width: 100%;
}

.listing-media-public__head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-bottom: 20px;
}

.listing-media-public__head .rts__slider__control {
   flex: 0 0 auto;
}

.listing-media-carousel {
   border-radius: 16px;
}

.listing-media-public__image {
   position: relative;
   display: block;
   width: 100%;
   height: 250px;
   overflow: hidden;
   padding: 0;
   border: 0;
   border-radius: 16px;
   background: #f6f7f9;
   cursor: zoom-in;
   text-align: left;
}

.listing-media-public__image::after {
   content: "\f00e";
   font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
   font-weight: 900;
   position: absolute;
   right: 14px;
   bottom: 14px;
   width: 38px;
   height: 38px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.92);
   color: var(--rts-button-1, #34a853);
   box-shadow: 0 8px 20px rgba(16, 24, 40, 0.14);
}

.listing-media-public__caption {
   position: absolute;
   left: 14px;
   right: 64px;
   bottom: 14px;
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   padding: 0.45rem 0.65rem;
   border-radius: 999px;
   background: rgba(17, 24, 39, 0.72);
   color: #fff;
   font-size: 13px;
   font-weight: 650;
}

.listing-media-public__image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.25s ease;
}

.listing-media-public__image:hover img {
   transform: scale(1.035);
}

.listing-gallery-viewer-open {
   overflow: hidden;
}

.listing-gallery-viewer {
   position: fixed;
   inset: 0;
   z-index: 10000;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 28px 82px 88px;
   background: rgba(17, 24, 39, 0.9);
}

.listing-gallery-viewer[hidden] {
   display: none;
}

.listing-gallery-viewer__stage {
   display: flex;
   align-items: center;
   justify-content: center;
   width: min(100%, 1040px);
   max-height: calc(100vh - 140px);
}

.listing-gallery-viewer__image {
   max-width: 100%;
   max-height: calc(100vh - 150px);
   border-radius: 18px;
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.4);
   object-fit: contain;
}

.listing-gallery-viewer__caption {
   position: absolute;
   left: 50%;
   bottom: 24px;
   transform: translateX(-50%);
   display: inline-block;
   max-width: min(92vw, 720px);
   margin: 0;
   padding: 0.55rem 0.85rem;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   font-size: 14px;
   font-weight: 650;
   text-align: center;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.listing-gallery-viewer__close,
.listing-gallery-viewer__nav {
   border: 0;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   background: rgba(255, 255, 255, 0.14);
   transition: background 0.18s ease, transform 0.18s ease;
}

.listing-gallery-viewer__close:hover,
.listing-gallery-viewer__nav:hover {
   background: rgba(255, 255, 255, 0.26);
}

.listing-gallery-viewer__nav:disabled {
   opacity: 0.35;
   cursor: not-allowed;
   pointer-events: none;
}

.listing-gallery-viewer.has-single-image .listing-gallery-viewer__nav {
   display: none;
}

.listing-gallery-viewer__close {
   position: absolute;
   top: 20px;
   right: 22px;
   width: 42px;
   height: 42px;
   border-radius: 50%;
   font-size: 28px;
   line-height: 1;
}

.listing-gallery-viewer__nav {
   position: absolute;
   top: 50%;
   width: 52px;
   height: 52px;
   border-radius: 16px;
   transform: translateY(-50%);
}

.listing-gallery-viewer__nav--prev {
   left: 22px;
}

.listing-gallery-viewer__nav--next {
   right: 22px;
}

.listing-media-video .video__section__content {
   border-radius: 18px;
   overflow: hidden;
}

.listing-documents-public__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.listing-document-card {
   display: grid;
   grid-template-columns: 52px minmax(0, 1fr) auto;
   gap: 14px;
   align-items: center;
   padding: 16px;
   border: 1px solid rgba(125, 128, 135, 0.16);
   border-radius: 16px;
   background: #fff;
   color: var(--rts-heading);
   box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06);
   transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.listing-document-card:hover,
.listing-document-card:focus {
   color: var(--rts-heading);
   border-color: rgba(52, 168, 83, 0.3);
   box-shadow: 0 10px 24px rgba(16, 24, 40, 0.1);
   transform: translateY(-2px);
}

.listing-document-card__icon {
   width: 52px;
   height: 52px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 14px;
   background: rgba(220, 53, 69, 0.1);
   color: #dc3545;
   font-size: 24px;
}

.listing-document-card__body {
   min-width: 0;
}

.listing-document-card__body strong,
.listing-document-card__body small {
   display: block;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.listing-document-card__body strong {
   margin-bottom: 3px;
   color: var(--rts-heading);
   font-size: 15px;
}

.listing-document-card__body small {
   color: var(--rts-para);
}

.listing-document-card__action {
   color: var(--rts-button-1, #34a853);
   font-size: 14px;
}

@media (max-width: 575px) {
   .listing-media-public__head {
      align-items: flex-start;
      flex-direction: column;
   }

   .listing-media-public__image {
      height: 210px;
   }

   .listing-gallery-viewer {
      padding: 68px 18px 96px;
   }

   .listing-gallery-viewer__caption {
      bottom: 78px;
      max-width: calc(100vw - 120px);
   }

   .listing-gallery-viewer__nav {
      top: auto;
      bottom: 22px;
      transform: none;
   }

   .listing-documents-public__grid {
      grid-template-columns: 1fr;
   }
}

/* Detail + listing contact buttons */
.detail-contact-trigger,
.listing-contact-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 6px;
   font-weight: 500;
   border-radius: 6px;
   white-space: nowrap;
}

.listing-contact-btn {
   font-size: 13px;
   padding: 8px 14px;
   line-height: 1.2;
}

.listing-contact-wrap .listing-contact-btn,
.listing-contact-wrap .detail-chat-trigger {
   width: 100%;
}

.rts__job__card__big .listing-card__actions {
   min-width: 110px;
}

.detail-related-card .listing-contact-wrap {
   margin-top: 12px;
}

@media (max-width: 575px) {
   .listing-contact-btn__label {
      display: none;
   }
   .listing-contact-btn {
      padding: 8px 10px;
   }
}

.company__card .detail-contact-trigger {
   padding: 12px 16px;
}

.job__contact--modal {
   background: transparent;
   padding: 0;
   border-radius: 0;
}

.job__contact--modal .search__item input,
.job__contact--modal .search__item textarea {
   border: 1px solid #D8D9DB !important;
   background-color: #fff;
   box-sizing: border-box;
}

.job__contact--modal .search__item textarea {
   height: 120px;
   resize: vertical;
}

/* Listing cards — bookmark right, title truncate on small screens, hide price badges */
#myTabContent .job__tags .price-badge {
   display: none !important;
}

@media (max-width: 767.98px) {
   .grid__style .rts__job__card .job__title,
   .grid__style .rts__job__card .job__title a {
      min-height: 0 !important;
      display: block !important;
      -webkit-line-clamp: unset !important;
      -webkit-box-orient: initial !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
      max-width: 100% !important;
   }

   .list__style .rts__job__card__big .job__meta,
   .list__style .rts__author__card__big .job__meta {
      min-width: 0;
      flex: 1 1 auto;
   }

   .list__style .rts__job__card__big > div:first-child,
   .list__style .rts__author__card__big > div:first-child {
      min-width: 0;
      flex: 1 1 auto;
   }

   .list__style .rts__job__card__big .job__title,
   .list__style .rts__author__card__big .job__title,
   .list__style .rts__job__card__big .job__title.h6,
   .list__style .rts__author__card__big .job__title.h6,
   .list__style .rts__job__card__big .job__title a,
   .list__style .rts__author__card__big .job__title a {
      display: block !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
      max-width: 100% !important;
      min-width: 0 !important;
   }
}

.listing-apply-wrap .listing-apply-btn {
   width: 100%;
   justify-content: center;
   font-size: 14px;
   padding: 10px 16px;
}

.listing-card__actions .listing-apply-btn {
   white-space: nowrap;
   font-size: 13px;
   padding: 8px 14px;
}

.breadcrumb__apply .listing-apply-btn,
.breadcrumb__apply .detail-chat-trigger {
   min-width: 180px;
   text-align: center;
   justify-content: center;
}

.breadcrumb__apply .listing-apply-btn--applied {
   min-width: 180px;
}

.listing-apply-btn--applied {
   opacity: 0.85;
   cursor: default;
   background: #e9ecef !important;
   border-color: #dee2e6 !important;
   color: #495057 !important;
}

/* Detail pages (job + formación) — hide title/hero + description action buttons (sidebar only) */
body.detail-page .breadcrumb__area .breadcrumb__apply,
body.detail-page .breadcrumb__area .apply__btn,
body.detail-page .breadcrumb__area .listing-apply-btn,
body.detail-page .breadcrumb__area .detail-chat-trigger,
body.detail-page .rts__job__card__big .apply__btn,
body.detail-page .rts__job__card__big .listing-apply-btn,
body.detail-page .rts__job__card__big .detail-chat-trigger,
body.detail-page .breadcrumb__apply,
body.detail-page .col-lg-8 .apply__btn,
body.detail-page .col-lg-8 .listing-apply-btn,
body.detail-page .col-lg-8 .listing-apply-wrap,
body.detail-page .col-lg-8 .detail-company-actions,
body.detail-page .col-lg-8 .detail-chat-trigger,
body.detail-page .col-lg-8 button[data-job-id],
body.detail-page .rts__job__details .apply__btn,
body.detail-page .rts__job__details .listing-apply-btn,
body.detail-page .rts__job__details .detail-chat-trigger,
body.detail-page .rts__job__details + .video__section .apply__btn,
body.detail-page .rts__job__details + .video__section .listing-apply-btn {
   display: none !important;
}

/* Detail sidebar — center name, presence badge, and listing nav link */
body.detail-page .company__card {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
}

body.detail-page .company__card .company__icon.listing-thumb-link {
   align-self: center !important;
}

body.detail-page .company__card .company__name {
   width: 100%;
   text-align: center;
}

body.detail-page .company__card > .d-flex.justify-content-center {
   width: 100%;
   justify-content: center !important;
}

body.detail-page .company__card > .company__link--sidebar,
body.detail-page .company__card > .company__sidebar-notice,
body.detail-page .company__card .listing-post-nav-form {
   display: block;
   width: 100%;
   text-align: center;
   align-self: stretch;
}

body.detail-page .company__card > .company__sidebar-notice {
   margin-bottom: 0;
   color: var(--rts-para);
   font-size: 14px;
   line-height: 1.45;
}

body.detail-page .company__card > .company__link--sidebar:not(.rts__btn) {
   color: var(--rts-heading);
   font-weight: 500;
   text-decoration: none;
}

body.detail-page .company__card > .company__link--sidebar:not(.rts__btn):hover,
body.detail-page .company__card > .company__link--sidebar:not(.rts__btn):focus {
   color: var(--rts-heading);
   text-decoration: underline;
}

body.detail-page .company__card > .company__link--sidebar.rts__btn,
body.detail-page .company__card > .company__link--sidebar.detail-company-nav-btn {
   text-decoration: none;
   margin-top: 12px;
   margin-bottom: 0;
}

body.detail-page .company__card > .company__link--sidebar.rts__btn:first-of-type,
body.detail-page .company__card > .company__link--sidebar.detail-company-nav-btn:first-of-type {
   margin-top: 16px;
}

/* Even vertical rhythm between sidebar action blocks */
body.detail-page .company__card > .detail-company-actions,
body.detail-page .company__card > .detail-friend-connect,
body.detail-page .company__card > .detail-notification-alert,
body.detail-page .company__card > .detail-account-benefits,
body.detail-page .company__card > .detail-profile-social,
body.detail-page .company__card > .detail-company-share,
body.detail-page .company__card > .ie-job-source {
   margin-top: 12px;
   margin-bottom: 0;
}

/* Outline nav buttons in detail sidebar (perfil / anuncio original) */
body.detail-page .detail-company-nav-btn {
   display: inline-flex !important;
   flex-direction: row !important;
   flex-wrap: nowrap !important;
   align-items: center !important;
   justify-content: center;
   gap: 8px;
   width: 100%;
   max-width: 100%;
   padding: 12px 16px;
   min-height: 48px;
   box-sizing: border-box;
   border: 1px solid rgba(125, 128, 135, 0.28);
   border-radius: 8px;
   background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
   color: var(--rts-heading) !important;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.25;
   text-align: center;
   text-decoration: none !important;
   box-shadow: 0 1px 3px rgba(16, 24, 40, 0.05);
   transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
   overflow: hidden;
   white-space: nowrap;
}

body.detail-page .detail-company-nav-btn > span {
   display: inline !important;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   min-width: 0;
   flex: 0 1 auto;
}

body.detail-page .detail-company-nav-btn:hover,
body.detail-page .detail-company-nav-btn:focus-visible {
   background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
   border-color: rgba(52, 168, 83, 0.4);
   color: var(--rts-heading) !important;
   text-decoration: none !important;
   box-shadow: 0 3px 10px rgba(16, 24, 40, 0.08);
}

body.detail-page .detail-company-nav-btn--external {
   border-color: rgba(37, 99, 235, 0.28);
   background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
   color: #2563eb !important;
}

body.detail-page .detail-company-nav-btn--external:hover,
body.detail-page .detail-company-nav-btn--external:focus-visible {
   border-color: #2563eb;
   background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
   color: #1d4ed8 !important;
}

body.detail-page .detail-company-nav-btn i,
body.detail-page .detail-company-nav-btn .fa,
body.detail-page .detail-company-nav-btn .fas,
body.detail-page .detail-company-nav-btn .fa-light {
   font-size: 0.95rem;
   flex: 0 0 auto;
   display: inline-block !important;
   width: auto !important;
   margin: 0 !important;
   line-height: 1;
}

body.detail-page .detail-website-link {
   display: inline-flex;
   align-items: center;
   gap: 0.15rem;
   font-weight: 600;
   word-break: break-all;
}

body.detail-page .company__card .listing-post-nav-form button.company__link {
   display: inline-block !important;
   width: auto;
   max-width: 100%;
   text-align: center;
}

body.detail-page .company__card .detail-company-actions {
   display: flex !important;
   align-self: stretch;
   width: 100%;
}

body.detail-page .company__card .detail-company-actions:not(.detail-company-actions--link) .apply__btn,
body.detail-page .company__card .detail-company-actions:not(.detail-company-actions--link) .detail-chat-trigger,
body.detail-page .company__card .detail-company-actions:not(.detail-company-actions--link) .listing-apply-btn,
body.detail-page .company__card .detail-company-actions:not(.detail-company-actions--link) .listing-contact-btn {
   display: inline-flex !important;
   width: 100%;
}

body.detail-page .company__card .detail-company-actions--link {
   display: block !important;
   margin-top: 0;
   text-align: center;
}

body.detail-page .company__card .detail-company-actions--link .company__link,
body.detail-page .company__card .detail-company-actions--link .detail-chat-trigger {
   display: inline-block !important;
   width: auto !important;
   max-width: 100%;
   min-height: 0;
   padding: 0;
   background: transparent !important;
   border: 0 !important;
   color: var(--rts-heading) !important;
   font-weight: 500;
   text-align: center;
   box-shadow: none;
}

body.detail-page .company__card .detail-company-actions--link .detail-chat-trigger .fa-comments {
   display: none;
}

body.detail-page .company__card .detail-company-actions--link .company__link:hover,
body.detail-page .company__card .detail-company-actions--link .company__link:focus,
body.detail-page .company__card .detail-company-actions--link .detail-chat-trigger:hover,
body.detail-page .company__card .detail-company-actions--link .detail-chat-trigger:focus {
   background: transparent !important;
   color: var(--rts-heading) !important;
   text-decoration: underline;
}

/* Job detail — company card action buttons under "Ver otras ofertas" */
.detail-company-actions {
   display: flex;
   flex-direction: column;
   gap: 12px;
   width: 100%;
   margin-top: 12px;
}

.detail-company-actions__btn,
.company__card .detail-company-actions:not(.detail-company-actions--link) .apply__btn,
.company__card .detail-company-actions:not(.detail-company-actions--link) .listing-apply-btn,
.company__card .detail-company-actions:not(.detail-company-actions--link) .detail-chat-trigger,
.company__card .detail-company-actions:not(.detail-company-actions--link) .listing-contact-btn {
   width: 100%;
   max-width: 100%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 12px 16px;
   min-height: 48px;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.25;
   border-radius: 8px;
   background: linear-gradient(180deg, #46c066 0%, #2f9a4a 100%) !important;
   border: 1px solid #2f9a4a !important;
   color: var(--rts-white) !important;
   text-decoration: none;
   box-sizing: border-box;
   white-space: normal;
   text-align: center;
   overflow: hidden;
   box-shadow: 0 2px 8px rgba(47, 154, 74, 0.22);
   transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.detail-company-actions__btn > span,
.company__card .detail-company-actions .apply__btn > span,
.company__card .detail-company-actions .listing-apply-btn > span {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   line-clamp: 2;
   overflow: hidden;
   overflow-wrap: anywhere;
   word-break: break-word;
   min-width: 0;
}

.detail-company-actions__btn:hover,
.company__card .detail-company-actions:not(.detail-company-actions--link) .apply__btn:hover,
.company__card .detail-company-actions:not(.detail-company-actions--link) .listing-apply-btn:hover,
.company__card .detail-company-actions:not(.detail-company-actions--link) .detail-chat-trigger:hover,
.company__card .detail-company-actions:not(.detail-company-actions--link) .listing-contact-btn:hover {
   background: linear-gradient(180deg, #3bb55a 0%, #278a42 100%) !important;
   border-color: #278a42 !important;
   color: var(--rts-white) !important;
   box-shadow: 0 4px 14px rgba(47, 154, 74, 0.3);
}

.company__card .detail-company-actions .listing-apply-btn--applied {
   background: #e9ecef !important;
   border-color: #dee2e6 !important;
   color: #495057 !important;
}

.detail-listing-edit-btn,
.company__card .detail-company-actions .detail-listing-edit-btn {
   background: linear-gradient(180deg, #46c066 0%, #2f9a4a 100%) !important;
   border: 1px solid #2f9a4a !important;
   color: #fff !important;
}

.detail-listing-edit-btn:hover,
.detail-listing-edit-btn:focus-visible,
.company__card .detail-company-actions .detail-listing-edit-btn:hover,
.company__card .detail-company-actions .detail-listing-edit-btn:focus-visible {
   background: linear-gradient(180deg, #3bb55a 0%, #278a42 100%) !important;
   border-color: #278a42 !important;
   color: #fff !important;
}

.detail-listing-edit-btn i {
   color: #fff !important;
}

/* Job detail: employer profile link in company card */
.company__card .company__name a {
   color: inherit;
   text-decoration: none;
}

.company__card .company__name a:hover,
.company__card .company__name a:focus {
   color: var(--primary-color, #2563eb);
   text-decoration: underline;
}

/* Candidate connect with employer (blue CTA under Contactar) */
.detail-friend-connect {
   width: 100%;
   margin-top: 12px;
}

.detail-friend-connect__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   max-width: 100%;
   padding: 12px 16px;
   min-height: 48px;
   border: 1px solid #1d4ed8;
   border-radius: 8px;
   background: linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%);
   color: #fff !important;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.25;
   text-decoration: none;
   cursor: pointer;
   box-shadow: 0 2px 8px rgba(37, 99, 235, 0.24);
   transition: background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
   overflow: hidden;
   white-space: nowrap;
}

.detail-friend-connect__btn > span,
.detail-friend-connect__status > span {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   min-width: 0;
}

.detail-friend-connect__btn > i,
.detail-friend-connect__status > i {
   flex-shrink: 0;
}

/* Safety net: no sidebar CTA should dump unbounded company names */
body.detail-page .company__card .rts__btn,
body.detail-page .company__card .detail-company-actions__btn,
body.detail-page .company__card .detail-friend-connect__btn,
body.detail-page .company__card .detail-notification-alert__btn,
body.detail-page .company__card .detail-company-nav-btn {
   max-width: 100%;
   overflow: hidden;
}

.detail-friend-connect__btn:hover,
.detail-friend-connect__btn:focus {
   background: linear-gradient(180deg, #2563eb 0%, #1e40af 100%);
   border-color: #1e40af;
   color: #fff !important;
   box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32);
}

.detail-friend-connect__btn:disabled {
   opacity: 0.75;
   cursor: wait;
}

/* Detail sidebar — alert subscriptions */
.detail-notification-alert {
   width: 100%;
   align-self: stretch;
   text-align: center;
}

.detail-notification-alert__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   padding: 14px 20px;
   min-height: 48px;
   border: 1px solid rgba(37, 99, 235, 0.32);
   border-radius: 8px;
   background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
   color: #2563eb !important;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.3;
   cursor: pointer;
   box-shadow: 0 1px 4px rgba(37, 99, 235, 0.08);
   transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.detail-notification-alert__btn:hover,
.detail-notification-alert__btn:focus {
   background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
   border-color: #2563eb;
   color: #1d4ed8 !important;
   box-shadow: 0 3px 10px rgba(37, 99, 235, 0.14);
}

.detail-notification-alert__btn.is-active {
   background: #ecfdf3;
   border-color: rgba(18, 183, 106, 0.35);
   color: #027a48 !important;
}

.detail-notification-alert__btn.is-active:hover,
.detail-notification-alert__btn.is-active:focus {
   background: #d1fae5;
   border-color: #12b76a;
   color: #027a48 !important;
}

.detail-notification-alert__btn:disabled {
   opacity: 0.75;
   cursor: wait;
}

.detail-notification-alert__hint {
   margin-top: 8px;
   color: var(--rts-para);
   font-size: 12px;
   line-height: 1.45;
}

.detail-notification-alert__denied,
.listing-contact-denied {
   color: var(--rts-para);
   font-size: 13px;
   line-height: 1.5;
   padding: 10px 12px;
   border-radius: 8px;
   background: rgba(0, 0, 0, 0.04);
   text-align: center;
}

.detail-notification-alert__denied {
   margin-top: 0;
}

.detail-friend-connect__status {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   padding: 12px 16px;
   border-radius: 8px;
   font-size: 14px;
   font-weight: 600;
   text-align: center;
}

.detail-friend-connect__status--connected {
   background: rgba(34, 197, 94, 0.12);
   color: #15803d;
}

.detail-friend-connect__status--pending {
   background: rgba(234, 179, 8, 0.15);
   color: #a16207;
}

.detail-friend-connect__benefits-wrap {
   width: 100%;
   margin-top: 16px;
   padding-top: 16px;
   border-top: 1px solid rgba(125, 128, 135, 0.16);
   text-align: left;
}

.detail-friend-connect__benefits-title {
   display: block;
   margin-bottom: 12px;
   color: #0f172a;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.3;
}

.detail-friend-connect__benefits {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
   text-align: left;
}

.detail-friend-connect__benefits li {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   justify-content: flex-start;
   font-size: 13px;
   line-height: 1.45;
   color: #64748b;
   text-align: left;
}

.detail-friend-connect__benefits li i {
   color: #2563eb;
   margin-top: 3px;
   flex-shrink: 0;
   font-size: 11px;
}

.detail-account-benefits {
   width: 100%;
   margin-top: 16px;
   padding-top: 16px;
   border-top: 1px solid rgba(125, 128, 135, 0.16);
   text-align: left;
}

.detail-account-benefits__title {
   display: block;
   margin-bottom: 12px;
   color: #0f172a;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.3;
}

.detail-account-benefits__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
}

.detail-account-benefits__list li {
   display: flex;
   align-items: flex-start;
   justify-content: flex-start;
   gap: 10px;
   color: #64748b;
   font-size: 13px;
   line-height: 1.45;
   text-align: left;
}

.detail-account-benefits__list i {
   color: #2563eb;
   flex-shrink: 0;
   margin-top: 3px;
   font-size: 11px;
}

.detail-company-share {
   width: 100%;
   margin-top: 20px;
   padding-top: 20px;
   border-top: 1px solid rgba(125, 128, 135, 0.2);
   text-align: center;
}

.detail-company-share__label {
   display: block;
   font-size: 15px;
   font-weight: 600;
   color: var(--rts-heading);
   margin-bottom: 14px;
}

.detail-company-share .rts__social {
   justify-content: center;
   flex-wrap: wrap;
   gap: 12px;
}

.detail-company-share .rts__social a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 40px;
   height: 40px;
   border-radius: 6px;
   background: var(--rts-white);
   color: var(--rts-heading);
   font-size: 18px;
   transition: background-color 0.2s ease, color 0.2s ease;
}

.detail-company-share .rts__social a:hover {
   background: var(--rts-button-1);
   color: var(--rts-white);
}

.detail-company-share .detail-share-x-icon {
   display: block;
   width: 1em;
   height: 1em;
}

/* Detail sidebar — favorite action (full-width button, same as Contactar/Solicitar) */
.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn {
   width: 100%;
   max-width: 100%;
   height: auto;
   min-height: 48px;
   padding: 14px 20px;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.2;
   border-radius: 8px;
   background: linear-gradient(180deg, #46c066 0%, #2f9a4a 100%) !important;
   border: 1px solid #2f9a4a !important;
   color: var(--rts-white) !important;
   box-sizing: border-box;
   white-space: normal;
   text-align: center;
   transform: none;
   box-shadow: 0 2px 8px rgba(47, 154, 74, 0.22);
}

.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn i {
   font-size: inherit;
   color: inherit !important;
}

.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn:hover,
.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn:focus-visible {
   background: linear-gradient(180deg, #3bb55a 0%, #278a42 100%) !important;
   border-color: #278a42 !important;
   color: var(--rts-white) !important;
   transform: none;
   box-shadow: 0 4px 14px rgba(47, 154, 74, 0.3);
}

.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn.favorited {
   background: linear-gradient(180deg, #ecfdf3 0%, #d1fae5 100%) !important;
   border-color: rgba(18, 183, 106, 0.55) !important;
   color: #027a48 !important;
   box-shadow: none;
}

.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn.favorited i {
   color: #027a48 !important;
}

.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn.favorited:hover,
.company__card .detail-company-actions .detail-sidebar-links__btn.bookmark__btn.favorited:focus-visible {
   background: linear-gradient(180deg, #d1fae5 0%, #a7f3d0 100%) !important;
   border-color: #12b76a !important;
   color: #027a48 !important;
}

body.detail-page .company__card .detail-friend-connect__benefits-wrap {
   margin-top: 12px;
}

body.detail-page .company__card .detail-profile-social {
   margin-top: 12px;
}

.detail-profile-social {
   width: 100%;
}

body.detail-page .company__card .detail-profile-social {
   margin-top: 12px;
}

.job-details-section-title[id],
h6.job-details-scroll-title[id] {
   scroll-margin-top: 180px;
}

body.detail-page {
   scroll-padding-top: 180px;
}

body.detail-page .job-details-nav .nav-link.active {
   background-color: var(--rts-gray);
   color: var(--rts-heading);
}

body.detail-page .job-details-nav .nav-link:hover,
body.detail-page .job-details-nav .nav-link:focus-visible {
   background-color: var(--rts-primary);
   color: var(--rts-white);
}

@media (min-width: 992px) {
   body.detail-page .col-lg-4 {
      align-self: flex-start;
   }

   body.detail-page .col-lg-4 .job__overview {
      position: sticky;
      top: 110px;
      z-index: 2;
   }

   /*
    * Company sidebar: sticky only when it fits the viewport.
    * Never clip / scroll inside the card (jobs, formación, employers, candidates).
    */
   body.detail-page .col-lg-4 .company__card,
   body.job-details-page .col-lg-4 .company__card,
   body.formacion-details-page .col-lg-4 .company__card,
   body.employer-details-page .col-lg-4 .company__card,
   body.candidate-details-page .col-lg-4 .company__card {
      position: sticky;
      top: 110px;
      z-index: 2;
      max-height: none !important;
      height: auto !important;
      overflow: visible !important;
      overflow-x: visible !important;
      overflow-y: visible !important;
      overscroll-behavior: auto;
   }
}

body.detail-page .col-lg-8 .job__overview {
   position: static;
   top: auto;
}

body.job-details-page .job__location__text,
body.formacion-details-page .job__location__text {
   font-size: 14px;
   color: var(--rts-heading);
   font-weight: 500;
}

.detail-ofertas-table {
   background: #fff;
   border: 1px solid rgba(125, 128, 135, 0.18);
   border-radius: 10px;
   padding: 20px 22px;
}

.detail-ofertas-table.is-loading {
   opacity: 0.72;
   pointer-events: none;
}

.detail-ofertas-table__head {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 12px 16px;
   margin-bottom: 16px;
}

.detail-ofertas-table__search {
   position: relative;
   flex: 1 1 240px;
   max-width: 360px;
}

.detail-ofertas-table__search > i {
   position: absolute;
   left: 12px;
   top: 50%;
   z-index: 1;
   transform: translateY(-50%);
   color: rgba(33, 37, 41, 0.42);
   font-size: 13px;
   pointer-events: none;
}

.detail-ofertas-table__search .form-control,
.detail-ofertas-table__search-input {
   display: block;
   box-sizing: border-box;
   width: 100%;
   height: 40px;
   min-height: 40px;
   max-height: 40px;
   margin: 0;
   padding: 8px 14px 8px 36px;
   border: 1px solid rgba(125, 128, 135, 0.28);
   border-radius: 8px;
   background: #fff;
   box-shadow: none;
   color: var(--rts-heading);
   font-size: 13px;
   font-weight: 500;
   line-height: 1.35;
   appearance: none;
   -webkit-appearance: none;
}

.detail-ofertas-table__search .form-control::placeholder,
.detail-ofertas-table__search-input::placeholder {
   color: rgba(33, 37, 41, 0.48);
   line-height: normal;
}

.detail-ofertas-table__search .form-control:focus,
.detail-ofertas-table__search-input:focus {
   border-color: rgba(52, 168, 83, 0.55);
   box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.12);
   outline: none;
}

.detail-ofertas-table__search input[type="search"]::-webkit-search-decoration,
.detail-ofertas-table__search input[type="search"]::-webkit-search-cancel-button,
.detail-ofertas-table__search input[type="search"]::-webkit-search-results-button,
.detail-ofertas-table__search input[type="search"]::-webkit-search-results-decoration {
   -webkit-appearance: none;
   appearance: none;
}

.detail-ofertas-list__items {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.detail-ofertas-list__empty {
   margin: 0;
   text-align: center;
   color: rgba(33, 37, 41, 0.72);
   padding: 24px 12px;
   font-size: 14px;
}

.detail-ofertas-card {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   padding: 12px 14px;
   border: 1px solid rgba(125, 128, 135, 0.18);
   border-radius: 10px;
   background: #fff;
   transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.detail-ofertas-card:hover {
   border-color: rgba(52, 168, 83, 0.28);
   box-shadow: 0 4px 14px rgba(11, 13, 40, 0.05);
}

.detail-ofertas-card__thumb {
   flex: 0 0 52px;
   width: 52px;
   height: 52px;
   min-width: 52px;
   min-height: 52px;
   max-width: 52px;
   max-height: 52px;
   border-radius: 8px;
   overflow: hidden;
   display: block;
   position: relative;
   padding: 0;
   line-height: 0;
   background: #f3f4f6;
}

.detail-ofertas-card__thumb.listing-thumb-link:has(.category-icon-wrapper),
.detail-ofertas-card__thumb.listing-thumb-link:has(.listing-category-thumb) {
   background-color: transparent !important;
}

.detail-ofertas-card__thumb .category-icon-wrapper,
.detail-ofertas-card__thumb .listing-category-thumb {
   width: 100% !important;
   height: 100% !important;
   min-width: 100% !important;
   min-height: 100% !important;
   margin: 0 !important;
   border-radius: inherit;
}

.detail-ofertas-card__thumb .category-icon-fa {
   font-size: 22px !important;
   color: #fff;
   line-height: 1;
}

.detail-ofertas-card__body {
   flex: 1 1 auto;
   min-width: 0;
   display: flex;
   flex-direction: column;
   gap: 6px;
}

.detail-ofertas-card__title,
.detail-ofertas-card__title-text {
   display: block;
   color: var(--rts-heading);
   font-size: 15px;
   font-weight: 600;
   line-height: 1.35;
   text-decoration: none;
}

.detail-ofertas-card__title:hover {
   color: var(--rts-primary);
   text-decoration: none;
}

.detail-ofertas-card__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 8px 14px;
   color: rgba(33, 37, 41, 0.72);
   font-size: 12px;
   line-height: 1.35;
}

.detail-ofertas-card__meta-item {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   white-space: nowrap;
}

.detail-ofertas-card__meta-item i {
   color: rgba(33, 37, 41, 0.48);
   font-size: 12px;
}

.detail-ofertas-card__tags {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin-top: 2px;
}

.detail-ofertas-card__tags .category-tag,
.detail-ofertas-card__tags .experience-tag {
   padding: 3px 7px;
   border-radius: 6px;
   background-color: var(--rts-gray);
   color: var(--rts-para);
   font-size: 12px;
   font-weight: 500;
   line-height: 1.2;
   border: none;
}

.detail-ofertas-table__footer {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-top: 14px;
}

.detail-ofertas-table__meta {
   font-size: 13px;
   color: rgba(33, 37, 41, 0.72);
}

.detail-ofertas-table__pagination-list {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 6px;
   list-style: none;
   margin: 0;
   padding: 0;
}

.detail-ofertas-table__page-btn {
   min-width: 34px;
   height: 34px;
   padding: 0 10px;
   border: 1px solid rgba(125, 128, 135, 0.25);
   border-radius: 8px;
   background: #fff;
   color: var(--rts-heading);
   font-size: 13px;
   font-weight: 600;
   line-height: 1;
   cursor: pointer;
}

.detail-ofertas-table__page-btn.is-active {
   background: var(--rts-primary);
   border-color: var(--rts-primary);
   color: #fff;
}

.detail-ofertas-table__page-btn.is-disabled,
.detail-ofertas-table__page-btn:disabled {
   opacity: 0.45;
   cursor: not-allowed;
}

@media (max-width: 575.98px) {
   .detail-ofertas-card {
      padding: 10px 12px;
      gap: 10px;
   }

   .detail-ofertas-card__meta-item {
      white-space: normal;
   }
}

body.detail-page .job__overview {
   padding: 28px 32px;
}

body.detail-page .job__overview .job-details-section-title {
   margin-bottom: 14px;
}

.job-details-content-card {
   padding: 22px 24px;
   border: 1px solid rgba(125, 128, 135, 0.14);
   border-radius: 14px;
   background: linear-gradient(180deg, #f8faf9 0%, #ffffff 100%);
   box-shadow: 0 1px 2px rgba(16, 24, 40, 0.03);
}

.job-details-content-card + .job-details-content-card {
   margin-top: 0;
}

.job-details-section-title {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 0 0 16px;
   padding-bottom: 12px;
   border-bottom: 1px solid rgba(52, 168, 83, 0.22);
   font-size: 18px;
   font-weight: 600;
   line-height: 1.3;
   color: var(--rts-heading);
}

.job-details-section-title i {
   color: var(--rts-primary);
   font-size: 20px;
   width: 28px;
   min-width: 28px;
   text-align: center;
   line-height: 1;
   flex-shrink: 0;
}

.job-details-section-title span {
   min-width: 0;
   text-decoration: underline;
   text-decoration-color: rgba(52, 168, 83, 0.35);
   text-underline-offset: 4px;
   text-decoration-thickness: 1.5px;
}

.job-details-section-title--compact {
   margin-bottom: 0;
   padding-bottom: 0;
   border-bottom: 0;
}

.job-details-section-title--compact span {
   text-decoration: none;
}

.job-details-subsection-title {
   font-size: 15px;
   font-weight: 600;
   margin-bottom: 0.75rem;
   color: var(--rts-heading);
}

body.detail-page .job-details-content-card .job-details-block,
body.detail-page .job-details-content-card .job__description__content,
body.detail-page .job-details-content-card .listing-rich-content-wrap {
   font-size: 14px;
   line-height: 1.65;
}

body.detail-page .job-details-content-card .job-details-summary li:last-child {
   margin-bottom: 0 !important;
}

body.detail-page .job__overview__content {
   font-size: 14px;
}

body.detail-page .job__overview__content ul {
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   column-gap: 32px;
   row-gap: 0;
}

body.detail-page .job__overview__content li {
   display: flex !important;
   flex-wrap: nowrap !important;
   flex-direction: row !important;
   align-items: center !important;
   justify-content: space-between !important;
   gap: 12px;
   padding: 12px 0;
   margin-top: 0;
   border-bottom: 1px solid rgba(125, 128, 135, 0.22);
}

body.detail-page .job__overview__content .left-text {
   min-width: 0;
   flex: 1 1 auto;
   align-items: center;
   gap: 10px;
   line-height: 1.4;
   font-size: inherit;
   font-weight: 500;
}

body.detail-page .job__overview__content .left-text i {
   width: 18px;
   min-width: 18px;
   font-size: 15px;
   text-align: center;
   line-height: 1;
}

body.detail-page .job__overview__content .text {
   min-width: 0;
   padding-left: 0;
   text-align: right;
   line-height: 1.4;
   font-size: inherit;
   font-weight: 500;
   color: var(--rts-heading);
   overflow-wrap: anywhere;
   flex: 0 1 auto;
}

/* Inline links in detail page text sections (overview, descriptions, requirements, etc.) */
body.detail-page .rts__job__details .mb-30 a:not(.nav-link),
body.detail-page .job__overview__content a,
body.detail-page .job__overview__content .text a,
body.detail-page .job__description__content a,
body.detail-page .job-details-block a,
body.detail-page .job-details-extra a:not(.nav-link),
body.detail-page .listing-rich-content-wrap a,
body.detail-page .listing-rich-content a,
body.detail-page a.detail-inline-link,
body.detail-page a.job__overview__filter-link {
   color: var(--rts-primary);
   font-weight: 500;
   text-decoration: underline;
   text-underline-offset: 2px;
   transition: color 0.2s ease;
}

body.detail-page .rts__job__details .mb-30 a:not(.nav-link):hover,
body.detail-page .rts__job__details .mb-30 a:not(.nav-link):focus-visible,
body.detail-page .job__overview__content a:hover,
body.detail-page .job__overview__content a:focus-visible,
body.detail-page .job__overview__content .text a:hover,
body.detail-page .job__overview__content .text a:focus-visible,
body.detail-page .job__description__content a:hover,
body.detail-page .job__description__content a:focus-visible,
body.detail-page .job-details-block a:hover,
body.detail-page .job-details-block a:focus-visible,
body.detail-page .job-details-extra a:not(.nav-link):hover,
body.detail-page .job-details-extra a:not(.nav-link):focus-visible,
body.detail-page .listing-rich-content-wrap a:hover,
body.detail-page .listing-rich-content-wrap a:focus-visible,
body.detail-page .listing-rich-content a:hover,
body.detail-page .listing-rich-content a:focus-visible,
body.detail-page a.detail-inline-link:hover,
body.detail-page a.detail-inline-link:focus-visible,
body.detail-page a.job__overview__filter-link:hover,
body.detail-page a.job__overview__filter-link:focus-visible {
   color: #2a8a44;
   text-decoration: underline;
}

body.detail-page .breadcrumb__area .job__overview__filter-link {
   color: var(--rts-primary);
   font-weight: 500;
   text-decoration: underline;
   text-underline-offset: 2px;
}

body.detail-page .breadcrumb__area .job__overview__filter-link:hover,
body.detail-page .breadcrumb__area .job__overview__filter-link:focus-visible {
   color: #2a8a44;
   text-decoration: underline;
}

body.detail-page .breadcrumb__area .job__tags a,
body.detail-page .breadcrumb__area .job__tags a.job__overview__filter-link,
body.detail-page .breadcrumb__area .job__tags a.detail-inline-link {
   color: var(--rts-para);
   text-decoration: none;
}

body.detail-page .breadcrumb__area .job__tags a:hover,
body.detail-page .breadcrumb__area .job__tags a:focus-visible,
body.detail-page .breadcrumb__area .job__tags a.job__overview__filter-link:hover,
body.detail-page .breadcrumb__area .job__tags a.job__overview__filter-link:focus-visible,
body.detail-page .breadcrumb__area .job__tags a.detail-inline-link:hover,
body.detail-page .breadcrumb__area .job__tags a.detail-inline-link:focus-visible {
   color: #fff;
   background-color: var(--rts-button-1);
   border-color: var(--rts-button-1);
   text-decoration: none;
}
}

@media (max-width: 767.98px) {
   body.detail-page .job__overview__content ul {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 575.98px) {
   body.detail-page .job__overview {
      padding: 24px 26px;
   }
}

@media (max-width: 575.98px) {
   .detail-company-actions__btn,
   .company__card .detail-company-actions .apply__btn,
   .company__card .detail-company-actions .detail-chat-trigger {
      padding: 12px 16px;
      font-size: 14px;
      min-height: 44px;
   }
}

.job-details-extra .job-details-block {
   margin-bottom: 1.25rem;
   font-size: 14px;
   line-height: 1.6;
   color: var(--rts-para, #555);
   white-space: pre-line;
}

.job-details-skills {
   display: flex;
   flex-wrap: wrap;
   gap: 0.4rem;
}

.job-details-skills span {
   display: inline-block;
   padding: 0.25rem 0.55rem;
   border-radius: 999px;
   background: rgba(52, 168, 83, 0.1);
   color: var(--rts-heading, #222);
   font-size: 12px;
}

.job-details-summary {
   font-size: 14px;
   line-height: 1.6;
   color: var(--rts-para, #555);
}

.listing-rich-content {
   font-size: 14px;
   line-height: 1.65;
   color: var(--rts-para, #555);
}

.listing-rich-content p {
   margin: 0 0 0.75rem;
}

/* Theme resets all ul/ol to list-style:none — restore for job/formación/employer rich text */
.listing-rich-content ul,
.listing-rich-content ol,
body.detail-page .listing-rich-content ul,
body.detail-page .listing-rich-content ol,
body.detail-page .listing-rich-content-wrap .listing-rich-content ul,
body.detail-page .listing-rich-content-wrap .listing-rich-content ol {
   margin: 0 0 0.75rem;
   padding-left: 1.35rem;
   list-style-position: outside;
}

.listing-rich-content ul,
body.detail-page .listing-rich-content ul,
body.detail-page .listing-rich-content-wrap .listing-rich-content ul {
   list-style: disc outside;
   list-style-type: disc;
}

.listing-rich-content ol,
body.detail-page .listing-rich-content ol,
body.detail-page .listing-rich-content-wrap .listing-rich-content ol {
   list-style: decimal outside;
   list-style-type: decimal;
}

.listing-rich-content li,
body.detail-page .listing-rich-content li {
   display: list-item;
   margin: 0 0 0.35rem;
}

.listing-rich-content strong,
.listing-rich-content b {
   font-weight: 700;
   color: var(--rts-heading, #222);
}

.listing-rich-content em,
.listing-rich-content i {
   font-style: italic;
}

.listing-rich-content h2,
.listing-rich-content h3,
.listing-rich-content h4 {
   font-weight: 700;
   margin: 0.85rem 0 0.4rem;
   color: var(--rts-heading, #222);
   line-height: 1.35;
}

.listing-rich-content h2 {
   font-size: 1.2rem;
}

.listing-rich-content h3 {
   font-size: 1.05rem;
}

.listing-rich-content h4 {
   font-size: 15px;
}

.listing-card--friends-teaser {
   border: 1px dashed rgba(247, 151, 30, 0.45);
   background: linear-gradient(180deg, rgba(255, 248, 235, 0.95) 0%, #fff 100%);
}

.listing-card-friends-badge {
   display: inline-flex;
   align-items: center;
   margin-bottom: 0.65rem;
   padding: 0.2rem 0.55rem;
   border-radius: 999px;
   background: rgba(247, 151, 30, 0.14);
   color: #b45309;
   font-size: 12px;
   font-weight: 600;
}

.listing-friends-restricted {
   border-left: 4px solid #f7971e !important;
}

.listing-friends-restricted__icon {
   width: 40px;
   height: 40px;
   border-radius: 10px;
   background: rgba(247, 151, 30, 0.12);
   color: #b45309;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

/* Guest lock notice (login required) */
.listing-guest-restricted {
   margin: 0 0 1.25rem;
   padding: 1.15rem 1.2rem;
   border: 1px solid rgba(52, 168, 83, 0.22);
   border-radius: 14px;
   background: linear-gradient(145deg, rgba(52, 168, 83, 0.08) 0%, #fff 55%);
   box-shadow: 0 10px 28px rgba(16, 24, 40, 0.06);
}

.listing-guest-restricted--strong {
   border-color: rgba(37, 99, 235, 0.22);
   background: linear-gradient(145deg, rgba(37, 99, 235, 0.08) 0%, #fff 55%);
}

.listing-guest-restricted__inner {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
}

.listing-guest-restricted__icon {
   flex-shrink: 0;
   width: 44px;
   height: 44px;
   border-radius: 12px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(52, 168, 83, 0.14);
   color: var(--rts-button-1, #34a853);
   font-size: 1.05rem;
}

.listing-guest-restricted--strong .listing-guest-restricted__icon {
   background: rgba(37, 99, 235, 0.12);
   color: #2563eb;
}

.listing-guest-restricted__title {
   margin: 0 0 0.35rem;
   color: var(--rts-heading, #0b0d28);
   font-size: 1rem;
   font-weight: 700;
   line-height: 1.35;
}

.listing-guest-restricted__text {
   margin: 0 0 0.95rem;
   color: var(--rts-para, #7d8087);
   font-size: 0.9rem;
   line-height: 1.6;
}

.listing-guest-restricted__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 0.55rem;
}

.listing-guest-restricted__actions .rts__btn {
   min-height: 40px;
   padding: 0.55rem 1rem;
   font-size: 0.875rem;
   font-weight: 650;
}

.listing-guest-restricted--list {
   margin-top: 0.85rem;
   margin-bottom: 1rem;
}

.listing-guest-teaser-text {
   color: var(--rts-para, #7d8087);
   font-size: 0.9rem;
   line-height: 1.65;
   margin: 0 0 1rem;
}

.listing-card--guest-teaser .job__tags .salary-tag,
.listing-card--guest-teaser .candidate-cv-preview {
   display: none;
}

/* Blurred results + register modal (employer/candidate lists) */
.listing-guest-lock {
   position: relative;
}

.listing-guest-lock--page {
   min-height: min(75vh, 900px);
}

.listing-guest-lock--page .listing-guest-lock__overlay {
   align-items: flex-start;
   justify-content: center;
   padding: 1rem;
}

.listing-guest-lock--page .listing-guest-lock__panel {
   position: fixed;
   top: 240px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 40;
   margin: 0;
   width: calc(100% - 2rem);
   max-width: 420px;
}

/* Detail profiles: same fixed modal placement */
body.detail-page .listing-guest-lock--page {
   min-height: min(85vh, 1100px);
}

body.detail-page .listing-guest-lock--page .listing-guest-lock__panel {
   top: 240px;
}

.listing-guest-lock--detail {
   min-height: 420px;
}

.listing-guest-detail-blur__lines {
   display: flex;
   flex-direction: column;
   gap: 0.65rem;
}

.listing-guest-detail-blur__lines span {
   display: block;
   height: 12px;
   border-radius: 6px;
   background: rgba(125, 128, 135, 0.18);
}

.listing-guest-detail-blur__lines span:nth-child(1) { width: 92%; }
.listing-guest-detail-blur__lines span:nth-child(2) { width: 100%; }
.listing-guest-detail-blur__lines span:nth-child(3) { width: 86%; }
.listing-guest-detail-blur__lines span:nth-child(4) { width: 74%; }
.listing-guest-detail-blur__lines span:nth-child(5) { width: 58%; }

.listing-guest-detail-blur__map {
   height: 180px;
   border-radius: 10px;
   background: linear-gradient(135deg, rgba(125, 128, 135, 0.14), rgba(125, 128, 135, 0.08));
}

.listing-guest-lock__overlay--static {
   position: relative;
   inset: auto;
   background: transparent;
   padding: 0.5rem 0 1rem;
}

.listing-guest-lock__overlay--static .listing-guest-lock__panel {
   position: relative;
   top: auto;
   margin: 0 auto;
}

.listing-guest-lock__blur {
   filter: blur(4px);
   opacity: 0.78;
   pointer-events: none;
   user-select: none;
}

.listing-guest-lock__overlay {
   position: absolute;
   inset: 0;
   z-index: 6;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   padding: 1.5rem 1rem 2rem;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(248, 250, 252, 0.28) 55%, rgba(248, 250, 252, 0.42) 100%);
   box-sizing: border-box;
}

.listing-guest-lock__panel {
   position: relative;
   width: 100%;
   max-width: 420px;
   padding: 1.45rem 1.3rem 1.25rem;
   border-radius: 16px;
   background: #fff;
   box-shadow: 0 24px 64px rgba(16, 24, 40, 0.22);
   text-align: center;
   box-sizing: border-box;
}

.listing-guest-lock__icon {
   width: 52px;
   height: 52px;
   margin: 0 auto 0.9rem;
   border-radius: 14px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(37, 99, 235, 0.12);
   color: #2563eb;
   font-size: 1.2rem;
}

.listing-guest-lock__title {
   margin: 0 0 0.45rem;
   font-size: 1.15rem;
   font-weight: 700;
   color: var(--rts-heading, #0b0d28);
   line-height: 1.3;
}

.listing-guest-lock__text {
   margin: 0 0 1.1rem;
   color: var(--rts-para, #7d8087);
   font-size: 0.9rem;
   line-height: 1.55;
}

.listing-guest-lock__actions {
   display: flex;
   flex-direction: column;
   gap: 0.55rem;
}

.listing-guest-lock__home {
   margin: 0.95rem 0 0;
   text-align: center;
   font-size: 0.88rem;
}

.listing-guest-lock__home a {
   color: #2563eb;
   text-decoration: underline;
   text-underline-offset: 2px;
   font-weight: 500;
}

.listing-guest-lock__home a:hover,
.listing-guest-lock__home a:focus-visible {
   color: #1d4ed8;
}

.listing-guest-lock__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   min-height: 44px;
   padding: 0.7rem 1.1rem;
   border-radius: 8px;
   border: 1px solid transparent;
   font-family: inherit;
   font-size: 0.9rem;
   font-weight: 650;
   line-height: 1.2;
   cursor: pointer;
   box-sizing: border-box;
   transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.listing-guest-lock__btn--primary {
   background-color: var(--rts-button-1, #34a853);
   border-color: var(--rts-button-1, #34a853);
   color: #fff;
   box-shadow: 0 6px 16px rgba(52, 168, 83, 0.22);
}

.listing-guest-lock__btn--primary:hover,
.listing-guest-lock__btn--primary:focus-visible {
   background-color: var(--rts-button-3, #0b0d28);
   border-color: var(--rts-button-3, #0b0d28);
   color: #fff;
}

.listing-guest-lock__btn--secondary {
   background-color: #fff;
   border-color: rgba(15, 23, 42, 0.16);
   color: var(--rts-heading, #0b0d28);
}

.listing-guest-lock__btn--secondary:hover,
.listing-guest-lock__btn--secondary:focus-visible {
   background-color: #f8fafc;
   border-color: rgba(15, 23, 42, 0.28);
}

.listing-guest-map-lock {
   width: 100%;
   min-height: 220px;
   padding: 1.35rem 1.25rem;
   border: 1px solid rgba(37, 99, 235, 0.18);
   border-radius: 14px;
   background: linear-gradient(145deg, rgba(37, 99, 235, 0.07) 0%, #fff 55%);
   box-sizing: border-box;
}

.listing-guest-map-lock__inner {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
   max-width: 520px;
}

.listing-guest-map-lock__icon {
   flex-shrink: 0;
   width: 48px;
   height: 48px;
   border-radius: 12px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(37, 99, 235, 0.12);
   color: #2563eb;
   font-size: 1.1rem;
}

.listing-guest-map-lock__title {
   margin: 0 0 0.35rem;
   font-size: 0.98rem;
   font-weight: 700;
   color: var(--rts-heading, #0b0d28);
}

.listing-guest-map-lock__text {
   margin: 0 0 0.95rem;
   color: var(--rts-para, #7d8087);
   font-size: 0.875rem;
   line-height: 1.55;
}

.listing-guest-map-lock__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 0.55rem;
}

.listing-guest-map-lock__login {
   width: auto;
   min-width: 140px;
}

@media (max-width: 575.98px) {
   .listing-guest-restricted__inner,
   .listing-guest-map-lock__inner {
      flex-direction: column;
   }

   .listing-guest-restricted__actions .rts__btn,
   .listing-guest-map-lock__actions .ie-cookie-map-placeholder__btn,
   .listing-guest-map-lock__login {
      width: 100%;
   }

   .listing-guest-lock__panel {
      max-width: 340px;
   }

   .listing-guest-lock--page .listing-guest-lock__panel {
      top: 190px;
      max-width: 340px;
   }

   .listing-guest-lock--page .listing-guest-lock__overlay {
      padding-top: 1rem;
   }
}

.home__six__banner .rts__banner__images img.rounded-full {
   width: 255px;
   height: 332px;
   max-width: 100%;
   object-fit: cover;
}

.home__six__banner .rts__banner__images img.rounded-2 {
   width: 262px;
   height: 262px;
   max-width: 100%;
   object-fit: cover;
}
  
.listing-post-nav-form {
   display: inline;
   margin: 0;
   padding: 0;
   border: 0;
   background: transparent;
}

.listing-post-nav-form button {
   border: 0;
   background: transparent;
   padding: 0;
   margin: 0;
   color: inherit;
   font: inherit;
   text-align: inherit;
   cursor: pointer;
   text-decoration: inherit;
}

.listing-post-nav-form button:hover,
.listing-post-nav-form button:focus {
   color: inherit;
   text-decoration: underline;
}

.listing-post-nav-form.d-inline.w-100,
.listing-post-nav-form.m-0.d-inline.w-100 {
   display: inline-block;
   width: 100%;
   max-width: 100%;
}

.listing-post-nav-form.d-inline.w-100 button,
.listing-post-nav-form.m-0.d-inline.w-100 button {
   display: block;
   width: 100%;
   max-width: 100%;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

/* Listing pages — scrollable SEO sidebar (left column) */
.listing-filters-col {
   display: flex;
   flex-direction: column;
   gap: 0;
}

.listing-seo-sidebar {
   width: 100%;
   margin-top: 24px;
   border: 1px solid rgba(37, 99, 235, 0.14);
   border-radius: 12px;
   background: linear-gradient(228.42deg, #FEF2EB 0%, #F1F1F1 46.48%, #E4E0EA 100.36%);
   overflow: hidden;
   flex-shrink: 0;
   box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.listing-seo-sidebar__container-head {
   padding: 10px 18px;
   border-bottom: 1px solid rgba(37, 99, 235, 0.1);
   background: rgba(255, 255, 255, 0.42);
}

.listing-seo-sidebar__container-head span {
   display: block;
   color: var(--rts-button-1, #34a853);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 0.08em;
   line-height: 1.2;
   text-transform: uppercase;
}

.listing-seo-sidebar__header {
   padding: 14px 18px 10px;
}

.listing-seo-sidebar__title {
   margin: 0;
   padding: 0;
   color: var(--rts-heading);
   font-family: Georgia, "Times New Roman", serif;
   font-size: 1.15rem;
   font-style: italic;
   font-weight: 500;
   line-height: 1.35;
   text-align: left;
}

.listing-seo-sidebar__body-wrap {
   position: relative;
   padding: 0 18px;
}

.listing-seo-sidebar__body-wrap.is-collapsed {
   max-height: 168px;
   overflow: hidden;
}

.listing-seo-sidebar__body-wrap.is-collapsed::after {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 52px;
   pointer-events: none;
   background: linear-gradient(to bottom, rgba(241, 241, 241, 0) 0%, rgba(241, 241, 241, 0.92) 68%, rgba(228, 224, 234, 0.98) 100%);
}

.listing-seo-sidebar__body-wrap.is-expanded {
   max-height: none;
   overflow: visible;
}

.listing-seo-sidebar__body-wrap.is-expanded::after {
   display: none;
}

.listing-seo-sidebar__body {
   padding: 0 0 14px;
   color: var(--rts-para);
   font-size: 14px;
   line-height: 1.65;
   text-align: left;
}

.listing-seo-sidebar__body p {
   margin: 0 0 12px;
}

.listing-seo-sidebar__body p:last-child {
   margin-bottom: 0;
}

.listing-seo-sidebar__body strong {
   color: var(--rts-heading);
   font-weight: 700;
}

.listing-seo-sidebar__body em {
   font-style: italic;
}

.listing-seo-sidebar__body a {
   color: #2563eb;
   font-weight: 600;
   text-decoration: underline;
   text-underline-offset: 2px;
}

.listing-seo-sidebar__body a:hover,
.listing-seo-sidebar__body a:focus {
   color: #1d4ed8;
}

.listing-seo-sidebar__toggle {
   display: block;
   width: calc(100% - 36px);
   margin: 0 18px 14px;
   padding: 8px 12px;
   border: 1px solid rgba(37, 99, 235, 0.22);
   border-radius: 8px;
   background: rgba(255, 255, 255, 0.72);
   color: #2563eb;
   font-size: 13px;
   font-weight: 600;
   line-height: 1.3;
   text-align: center;
   cursor: pointer;
   transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.listing-seo-sidebar__toggle:hover,
.listing-seo-sidebar__toggle:focus {
   background: #fff;
   border-color: rgba(37, 99, 235, 0.4);
   color: #1d4ed8;
}

.listing-seo-sidebar__toggle[hidden] {
   display: none !important;
}

@media (max-width: 991.98px) {
   .listing-seo-sidebar {
      margin-top: 20px;
   }

   .listing-seo-sidebar__body-wrap.is-collapsed {
      max-height: 150px;
   }
}

/* Manager preview banner (draft / unpublished detail view) */
.listing-detail-preview-banner {
   background: linear-gradient(90deg, #fff7ed 0%, #fffbeb 100%);
   border-bottom: 1px solid rgba(234, 88, 12, 0.22);
   color: #9a3412;
}

.listing-detail-preview-banner__inner {
   display: flex;
   align-items: center;
   gap: 14px;
   padding: 12px 0;
   flex-wrap: wrap;
}

.listing-detail-preview-banner__inner > i {
   font-size: 20px;
   flex-shrink: 0;
}

.listing-detail-preview-banner__text {
   display: flex;
   flex-direction: column;
   gap: 2px;
   flex: 1 1 auto;
   min-width: 0;
   font-size: 14px;
   line-height: 1.45;
}

.listing-detail-preview-banner__text strong {
   font-size: 15px;
   color: #7c2d12;
}

.listing-detail-preview-banner__edit {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 8px 14px;
   border-radius: 999px;
   background: #fff;
   border: 1px solid rgba(234, 88, 12, 0.28);
   color: #9a3412;
   font-size: 13px;
   font-weight: 600;
   text-decoration: none;
   white-space: nowrap;
}

.listing-detail-preview-banner__edit:hover,
.listing-detail-preview-banner__edit:focus-visible {
   background: #ffedd5;
   color: #7c2d12;
   text-decoration: none;
}

body.detail-page .listing-detail-preview-banner + .rts__section.breadcrumb__background {
   margin-top: 0;
}

/* Listing sidebar filters — panel + desktop collapse fix */
.job__search__section {
   background: linear-gradient(228.26deg, #fef2eb 0%, #f1f1f1 46.25%, #e4e0ea 99.86%);
   border-radius: 10px;
   padding: 30px;
}

.listing-filters-toggle__icon {
   transition: transform 0.25s ease;
   font-size: 12px;
}

.listing-filters-toggle[aria-expanded="true"] .listing-filters-toggle__icon {
   transform: rotate(180deg);
}

@media (min-width: 992px) {
   .listing-filters-collapse {
      display: block !important;
      height: auto !important;
      visibility: visible !important;
   }
}

@media (max-width: 991.98px) {
   .listing-filters-col .listing-filters-toggle.grid-style {
      width: 100%;
      max-width: 100%;
      justify-content: center;
   }

   .listing-filters-col .job__search__section.mb-40 {
      margin-bottom: 24px !important;
   }
}

.listing-filters-toggle.grid-style,
.top__query .grid-style,
.top__query .list-style {
   padding: 10px 12px;
   border-radius: 6px;
   color: #0b0d28;
   gap: 8px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
   text-decoration: none;
   background-color: #f1f1f1;
   border: 0;
}

.listing-filters-toggle.grid-style:hover,
.top__query .grid-style:hover,
.top__query .list-style:hover,
.top__query .grid-style.active,
.top__query .list-style.active {
   background-color: #0b0d28;
   border-color: #0b0d28;
   color: #fff;
}

.search__item__list label {
   text-transform: capitalize;
   color: #0b0d28;
}

.search__item__list span {
   font-size: 16px;
   color: #7d8087;
}

.search__item__list .list {
   padding-bottom: 10px;
   border-bottom: 1px solid rgba(125, 128, 135, 0.3);
}

.search__item__list .list:not(:first-child) {
   padding-top: 10px;
}

.search__item__list .list:last-child {
   border-bottom: 0;
   padding-bottom: 0;
}

/* Listing index pages (job / formación / employer / candidate) — compact typography
   Footer reference: widget links + copyright 16px */
body.listing-page {
   --listing-page-fs: 14px;
   --listing-page-fs-sm: 13px;
   --listing-page-fs-label: 16px;
   --listing-page-fs-title: 16px;
   --listing-page-fs-title-list: 17px;
}

body.listing-page .job__search__section {
   padding: 16px;
   background: linear-gradient(228.26deg, #fef2eb 0%, #f1f1f1 46.25%, #e4e0ea 99.86%);
   border-radius: 10px;
}

body.listing-page .job__search__section.mb-40 {
   margin-bottom: 24px !important;
}

body.listing-page .listing-filters-form__body,
body.listing-page .listing-filters-form__body.row-30 {
   gap: 16px !important;
   row-gap: 16px !important;
}

body.listing-page .listing-filters-form__footer {
   margin-top: 16px;
}

body.listing-page .search__item label.mb-3,
body.listing-page .search__item h6.mb-3 {
   margin-bottom: 0.45rem !important;
}

body.listing-page .job__search__section .font-20,
body.listing-page .search__item label.font-20,
body.listing-page .search__item h6.font-20 {
   font-size: var(--listing-page-fs-label) !important;
   line-height: 1.3;
}

body.listing-page .search__item {
   position: static;
}

body.listing-page .search__item .position-relative {
   position: relative;
   display: block;
   min-height: 38px;
}

body.listing-page .search__item .position-relative:has(> .nice-select) {
   height: 38px;
}

body.listing-page .search__item input,
body.listing-page .search__item select.form-select,
body.listing-page .search__item textarea {
   font-size: var(--listing-page-fs) !important;
   padding: 8px 12px 8px 34px;
   min-height: 38px;
   line-height: 1.35;
   box-sizing: border-box;
   background-color: #fff;
   border: 0;
   border-radius: 4px;
   width: 100%;
}

body.listing-page .search__item .nice-select,
body.listing-page .search__item .nice-select .current,
body.listing-page .search__item .nice-select .list li,
body.listing-page .listing-results-tools .nice-select,
body.listing-page .listing-results-tools .nice-select .current,
body.listing-page .listing-results-tools .nice-select .list li {
   font-size: var(--listing-page-fs) !important;
   font-weight: 500 !important;
   line-height: 1.35;
}

body.listing-page .search__item .position-relative > .nice-select {
   width: 100%;
   min-height: 38px !important;
   height: 38px !important;
   padding: 0 34px 0 34px !important;
   display: flex;
   align-items: center;
   box-sizing: border-box;
}

body.listing-page .search__item .nice-select {
   min-height: 38px;
   height: 38px;
   padding: 0 34px !important;
   display: flex;
   align-items: center;
   box-sizing: border-box;
}

body.listing-page .search__item .nice-select .current {
   line-height: 1.35;
   padding: 0;
   display: block;
}

/* Override theme: .search__item i { margin-top: 26px; transform: translateY(-50%) } */
body.listing-page .search__item i {
   margin-top: 0 !important;
}

body.listing-page .search__item .position-relative > i {
   position: absolute;
   left: 0;
   top: 0;
   width: 34px;
   height: 38px;
   margin: 0 !important;
   padding: 0;
   transform: none !important;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   line-height: 1;
   pointer-events: none;
   z-index: 3;
   color: var(--rts-heading);
}

body.listing-page .search__item .position-relative > i::before {
   display: block;
   line-height: 1;
}

body.listing-page .search__item .nice-select::before {
   top: 50%;
   right: 12px;
   transform: translateY(-50%);
   margin-top: 0;
}

body.listing-page .listing-results-tools .category-select .form-select,
body.listing-page .listing-sort-select {
   font-weight: 500 !important;
   min-height: 38px;
   padding-top: 7px;
   padding-bottom: 7px;
}

body.listing-page .search__item__list label,
body.listing-page .search__item__list span,
body.listing-page .search__item .job__tags a {
   font-size: var(--listing-page-fs) !important;
}

body.listing-page .search__item .job__tags a {
   padding: 5px 8px;
}

body.listing-page .search__item__list .list {
   padding-bottom: 8px;
}

body.listing-page .search__item__list .list:not(:first-child) {
   padding-top: 8px;
}

body.listing-page .listing-filter-btn,
body.listing-page .job__search__btn {
   font-size: var(--listing-page-fs);
}

body.listing-page .listing-results-summary {
   font-size: var(--listing-page-fs-sm) !important;
   margin-top: 12px;
   margin-bottom: 16px;
   padding-top: 12px;
}

body.listing-page .listing-results-tools {
   gap: 10px;
}

body.listing-page .listing-results-tools__left,
body.listing-page .listing-results-tools__right {
   gap: 8px;
}

body.listing-page .listing-results-tools .grid-style,
body.listing-page .listing-results-tools .list-style,
body.listing-page .listing-results-tools .listing-reset-btn,
body.listing-page .listing-results-tools .category-select .form-select,
body.listing-page .listing-sort-select,
body.listing-page .listing-results-tools .nice-select {
   font-size: var(--listing-page-fs) !important;
}

body.listing-page .top__query .clear-filters-style {
   font-size: var(--listing-page-fs);
}

body.listing-page .row.g-30 {
   --bs-gutter-x: 20px;
   --bs-gutter-y: 20px;
}

body.listing-page .rts__job__card,
body.listing-page .rts__job__card__big,
body.listing-page .rts__author__card__big,
body.listing-page .rts__author__card {
   padding: 18px;
   font-size: var(--listing-page-fs);
}

body.listing-page .rts__job__card > .d-flex.gap-3,
body.listing-page .rts__job__card > .d-flex.gap-3.flex-wrap,
body.listing-page .rts__job__card__big .job__meta > .d-flex,
body.listing-page .rts__author__card__big .job__meta > .d-flex {
   font-size: var(--listing-page-fs-sm);
   gap: 0.5rem !important;
}

body.listing-page .rts__job__card .job__title,
body.listing-page .rts__job__card .job__title.h6,
body.listing-page .rts__job__card .job__title a {
   font-size: var(--listing-page-fs-title) !important;
   line-height: 1.35;
   margin-top: 0.65rem !important;
   margin-bottom: 0.65rem !important;
}

body.listing-page .rts__job__card > p {
   font-size: var(--listing-page-fs-sm);
   line-height: 1.45;
   color: var(--rts-para);
   margin-bottom: 0.75rem;
}

body.listing-page .rts__job__card .job__tags a,
body.listing-page .rts__job__card .job__tags span,
body.listing-page .rts__job__card__big .job__tags a,
body.listing-page .rts__author__card__big .job__tags a,
body.listing-page .rts__author__card .job__tags a {
   font-size: var(--listing-page-fs-sm) !important;
   padding: 4px 7px;
}

body.listing-page .rts__job__card .job__tags a:hover,
body.listing-page .rts__job__card .job__tags a:focus-visible,
body.listing-page .rts__job__card__big .job__tags a:hover,
body.listing-page .rts__job__card__big .job__tags a:focus-visible,
body.listing-page .rts__author__card__big .job__tags a:hover,
body.listing-page .rts__author__card__big .job__tags a:focus-visible,
body.listing-page .rts__author__card .job__tags a:hover,
body.listing-page .rts__author__card .job__tags a:focus-visible {
   color: #fff;
   background-color: var(--rts-button-1);
   border-color: var(--rts-button-1);
}

body.listing-page .rts__job__card__big .job__meta .job__title,
body.listing-page .rts__job__card__big .job__meta .job__title.h6,
body.listing-page .rts__author__card__big .job__meta .job__title,
body.listing-page .rts__author__card__big .job__meta .job__title.h6 {
   font-size: var(--listing-page-fs-title-list) !important;
   line-height: 1.35;
}

body.listing-page .rts__job__card__big .job__meta span.badge,
body.listing-page .rts__author__card__big .job__meta span.badge {
   font-size: var(--listing-page-fs-sm);
   padding: 5px 8px;
}

body.listing-page .rts__job__card__big .job__sallery,
body.listing-page .rts__job__card__big .job__sallery span {
   font-size: var(--listing-page-fs-sm);
}

body.listing-page .listing-seo-sidebar {
   margin-top: 16px;
}

body.listing-page .listing-seo-sidebar__container-head {
   padding: 8px 14px;
}

body.listing-page .listing-seo-sidebar__container-head span {
   font-size: 10px;
}

body.listing-page .listing-seo-sidebar__header {
   padding: 12px 14px 8px;
}

body.listing-page .listing-seo-sidebar__title {
   font-size: 1rem;
   line-height: 1.3;
}

body.listing-page .listing-seo-sidebar__body-wrap {
   padding: 0 14px;
}

body.listing-page .listing-seo-sidebar__body-wrap.is-collapsed {
   max-height: 156px;
}

body.listing-page .listing-seo-sidebar__body {
   font-size: var(--listing-page-fs-sm);
   line-height: 1.55;
   padding-bottom: 12px;
}

body.listing-page .listing-seo-sidebar__toggle {
   width: calc(100% - 28px);
   margin: 0 14px 12px;
   font-size: var(--listing-page-fs-sm);
   padding: 7px 10px;
}

/* List view — smaller thumbnails, shorter cards */
body.listing-page .list__style .rts__job__card__big .company__icon.listing-thumb-link,
body.listing-page .list__style .rts__author__card__big .company__icon.listing-thumb-link,
body.listing-page .list__style .rts__author__card .company__icon.listing-thumb-link {
   width: 76px !important;
   height: 76px !important;
   min-width: 76px !important;
   max-width: 76px !important;
   min-height: 76px !important;
   max-height: 76px !important;
   flex: 0 0 76px !important;
}

body.listing-page .list__style .rts__job__card__big .company__icon.listing-thumb-link .category-icon-fa,
body.listing-page .list__style .rts__author__card__big .company__icon.listing-thumb-link .category-icon-fa,
body.listing-page .list__style .rts__author__card .company__icon.listing-thumb-link .category-icon-fa {
   font-size: 2rem;
}

body.listing-page .list__style .rts__job__card__big,
body.listing-page .list__style .rts__author__card__big {
   padding-top: 14px !important;
   padding-bottom: 14px !important;
}

body.listing-page .list__style .rts__job__card__big .job__meta,
body.listing-page .list__style .rts__author__card__big .job__meta {
   gap: 0.35rem !important;
}

body.listing-page .list__style .rts__job__card__big .d-flex.gap-3.gap-md-4,
body.listing-page .list__style .rts__author__card__big .d-flex.gap-3.gap-md-4 {
   gap: 0.5rem 0.85rem !important;
   margin-bottom: 0.35rem !important;
}

body.listing-page .list__style .rts__job__card__big .job__tags,
body.listing-page .list__style .rts__author__card__big .job__tags {
   gap: 0.45rem !important;
}

@media (max-width: 576px) {
   body.listing-page .list__style .company__icon.listing-thumb-link {
      width: 52px !important;
      height: 52px !important;
      min-width: 52px !important;
      max-width: 52px !important;
      min-height: 52px !important;
      max-height: 52px !important;
      flex: 0 0 52px !important;
   }

   body.listing-page .list__style .company__icon.listing-thumb-link .category-icon-fa {
      font-size: 1.5rem;
   }
}

body.listing-page .page-link-btn {
   font-size: var(--listing-page-fs-sm);
}

body.listing-page .grid__style .rts__job__card .job__title {
   min-height: 40px;
}

body.listing-page .grid__style .rts__job__card > p {
   min-height: 50px;
   max-height: 50px;
}

body.listing-page .grid__style .rts__job__card {
   min-height: 340px !important;
}

body.listing-page .rts__job__card .mt-4 {
   margin-top: 0.75rem !important;
}

body.listing-page .rts__job__card .job__tags.mt-4 {
   margin-top: 0.75rem !important;
}

body.listing-page .rts__job__card__big.gap-4,
body.listing-page .rts__author__card__big.gap-4 {
   gap: 1rem !important;
}

@media (max-width: 576px) {
   body.listing-page .font-20,
   body.listing-page .search__item label.font-20,
   body.listing-page .search__item h6.font-20 {
      font-size: 15px !important;
   }

   body.listing-page .rts__job__card__big,
   body.listing-page .rts__author__card__big,
   body.listing-page .rts__author__card {
      font-size: var(--listing-page-fs) !important;
   }
}

/* About page trusted employers — base card styles live in style.css */
.about-trusted-employer-card__logo.icon.listing-thumb-link {
   width: 72px !important;
   height: 72px !important;
   min-width: 72px !important;
   max-width: 72px !important;
   min-height: 72px !important;
   max-height: 72px !important;
   flex: 0 0 72px !important;
   border-radius: 10px !important;
}

.about-trusted-employer-card__logo.icon.listing-thumb-link .category-icon-fa {
   font-size: 1.75rem;
   color: #fff;
   line-height: 1;
}

.about-trusted-employer-card__logo.icon.listing-thumb-link .logo-image {
   object-fit: contain;
   padding: 6px;
   box-sizing: border-box;
}

@media (max-width: 575.98px) {
   .about-trusted-employer-card__logo.icon.listing-thumb-link {
      width: 64px !important;
      height: 64px !important;
      min-width: 64px !important;
      max-width: 64px !important;
      min-height: 64px !important;
      max-height: 64px !important;
      flex: 0 0 64px !important;
   }
}

/* Empty filtered results on listing pages */
body.listing-page .listing-empty-results {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   gap: 0.45rem;
   padding: 2rem 1.25rem;
   border: 1px dashed rgba(15, 23, 42, 0.12);
   border-radius: 12px;
   background: rgba(248, 250, 252, 0.9);
}

body.listing-page .listing-empty-results__icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 42px;
   height: 42px;
   margin-bottom: 0.25rem;
   border-radius: 50%;
   background: rgba(52, 168, 83, 0.1);
   color: #34a853;
}

body.listing-page .listing-empty-results__icon i {
   font-size: 1.1rem;
   line-height: 1;
}

body.listing-page .listing-empty-results__title {
   margin: 0;
   font-size: var(--listing-page-fs-title-list, 17px) !important;
   font-weight: 600;
   line-height: 1.35;
   color: #1e293b;
}

body.listing-page .listing-empty-results__message {
   margin: 0;
   max-width: 28rem;
   font-size: var(--listing-page-fs, 14px) !important;
   line-height: 1.45;
   color: #64748b;
}

body.listing-page .listing-empty-results__actions {
   margin-top: 0.55rem;
}

body.listing-page .listing-empty-results__reset.rts__btn {
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
   padding: 0.4rem 0.85rem;
   font-size: var(--listing-page-fs-sm, 13px);
   font-weight: 600;
   line-height: 1.2;
   border-color: rgba(15, 23, 42, 0.12);
   color: #475569;
   background: #fff;
}

body.listing-page .listing-empty-results__reset.rts__btn:hover {
   border-color: rgba(52, 168, 83, 0.35);
   color: #34a853;
   background: #fff;
}

body.listing-page .listing-empty-results__reset i {
   font-size: 0.9rem;
}

body.detail-page .ie-job-source {
   width: 100%;
   align-self: stretch;
}

body.detail-page .ie-job-source__label {
   margin: 0 0 8px;
   font-size: 0.82rem;
   font-weight: 600;
   color: #6b7280;
}

body.detail-page .ie-job-source__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   padding: 14px 20px;
   min-height: 48px;
   box-sizing: border-box;
   border: 1px solid rgba(37, 99, 235, 0.28);
   border-radius: 8px;
   background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
   color: #2563eb !important;
   font-size: 15px;
   font-weight: 600;
   line-height: 1.3;
   text-align: center;
   text-decoration: none !important;
   box-shadow: 0 1px 3px rgba(37, 99, 235, 0.08);
   transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.detail-page .ie-job-source__btn:hover,
body.detail-page .ie-job-source__btn:focus {
   background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
   border-color: #2563eb;
   color: #1d4ed8 !important;
   text-decoration: none !important;
   box-shadow: 0 3px 10px rgba(37, 99, 235, 0.14);
}

body.detail-page .ie-job-source__btn i {
   font-size: 0.95rem;
}
