/* ========================================
   Product Common CSS
   Shared section styles used across 2+ pages
   Includes: Global Layout, Cards, Buttons,
   Banner, CTA, Nav Tabs, Bento Grid,
   Dark Sections, Testimonial, FAQ
   ======================================== */


/* ========================================
   0. Global Layout & Shared Patterns
   Content wrap, cards, buttons, section layouts
   (Merged from common.css)
   ======================================== */

/* Content width container */

/* .content-wrap {
  max-width: 1280px;
  margin: 0 auto;
} */

/* Action button base */
.act-btn {
  padding: 15px 30px;
  border-radius: 5px;
}

/* Base card */
.zwc-section-card {
  background-color: #f5f5f4;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Card text area */
.zwc-section-card-txt {
  padding: 56px 56px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Card title */
.zwc-section-card-txt h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 32px;
  letter-spacing: -1.28px;
  color: #000;
  margin-bottom: 0;
}

/* Card paragraph */
.zwc-section-card-txt p {
  font-family: var(--primaryfont-regular);
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: -0.36px;
  color: #000;
}

/* Card image container */
.zwc-section-card-img {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.zwc-section-card-img.flx-cent{
  justify-content: center;
}

/* Section inner wrap - base */
.zwc-section-inner-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Two column variant */
.zwc-section-inner-wrap.twocol {
  flex-direction: row;
  gap: 50px;
  align-items: flex-start;
}

/* Large variant with tighter gap */
.zwc-section-inner-wrap.twocol.lg {
  gap: 20px;
}

/* Three column layout */
.zwc-section-inner.threecol {
  display: flex;
  flex-direction: row;
  gap: 12px;
}

/* Button wrapper */
.zwc-btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.featpages .zwc-btn-wrap {
  justify-content: flex-start;
}

/* CTA section subtext */
.zwc-cta-subtext {
  font-family: var(--primaryfont-regular);
  font-size: 18px;
  color: #fff;
  text-align: center;
}


/* ========================================
   1. Banner Layout
   .featpages .zwc-banner-wrap
   (Gradient backgrounds are page-specific)
   ======================================== */

.featpages .zwc-banner-wrap {
  padding: 55px 0 120px;
}

.featpages .zwc-banner-wrap .content-wrap {
  
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.featpages .zwc-banner-cont {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 532px;
}

.featpages .zwc-banner-cont .title {
  background: linear-gradient(99deg, #FFE1F3 -7.72%, #FFE8B2 88.64%);
  padding: 4px 20px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  font-family: var(--primaryfont-semibold);
  font-size: 18px;
  color: #680000;
  letter-spacing: -0.36px;
  margin-bottom: 0;
}

.featpages .zwc-banner-cont h1 {
  font-family: var(--primaryfont-semibold);
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -4px;
}

.featpages .zwc-banner-cont .zwc-inner-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.featpages .zwc-banner-cont .zwc-inner-wrap > p {
  font-family: var(--zf-primary-medium);
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: -0.4px;
  max-width: 451px;
  color: #000;
}

.featpages .zwc-banner-wrap .zwc-banner-img {
  flex-shrink: 0;
}


/* ========================================
   2. CTA Button Styles
   .zwc-primary-cta, .zwc-cta-arrow,
   .request-btn
   ======================================== */

.zwc-primary-cta,
.cta-btn.zwc-cta-arrow {
  color: #fff;
  background: linear-gradient(90deg, #ea3438 50%, #E42527 0);
  background-size: 200% 100%;
  background-position: 100% 100%;
  transition: all 0.3s ease-out;
}

.zwc-primary-cta,
.request-btn.zwc-cta-arrow {
  padding: 14px 62px 14px 24px;
  border-radius: 4px;
  text-transform: initial;
  letter-spacing: -0.4px;
  line-height: 24px;
  font-size: 16px;
  border: 0;
  z-index: 0;
}

.request-btn.zwc-cta-arrow {
  color: #000;
  background: linear-gradient(90deg, #000 50%, #fff 0);
  background-size: 200% 100%;
  background-position: 100% 100%;
  transition: all 0.3s ease-out;
  z-index: 0;
}

.request-btn.zwc-cta-arrow::before {
  content: "";
  border: 2px solid #000;
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 4px;
  left: 0;
  top: 0;
}

.zwc-cta-arrow::after {
  content: "";
  position: absolute;
  z-index: 1;
  background: url(/sites/zweb/images/people/zpl-home-sprite.svg) no-repeat;
  background-size: 262px auto;
  display: block;
  transition: all ease 0.3s;
  transform: translateX(0);
  width: 18px;
  height: 18px;
  right: 29px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-position: -17px 0;
}

.zwc-bottom-cta-wrap .zwc-cta-arrow::after {
  background-position: 3px 0;
} 

/* Banner primary CTA - white arrow, hover slides to darker red */
 .zwc-banner-cont .zwc-primary-cta {
  background: linear-gradient(90deg, #d7262a 50%, #ea3438 0);
  background-size: 200% 100%;
  background-position: 100% 100%;
}

 .zwc-banner-cont .zwc-primary-cta.zwc-cta-arrow::after {
  background-position: 0 0;
}

 .zwc-banner-cont .zwc-primary-cta:hover {
  background-position: 0 100%;
}

.zwc-cta-arrow:hover::after,
.zwc-cta-arrow:focus-visible::after {
  transform: translateX(5px);
}

.zwc-cta-arrow:hover,
.zwc-cta-arrow:focus-visible {
  background-position: 0 100%
}

.request-btn.zwc-cta-arrow:hover,
.request-btn.zwc-cta-arrow:focus-visible {
  background-position: 0 100%;
  color: #fff
}

.request-btn.zwc-cta-arrow:hover::after,
.request-btn.zwc-cta-arrow:focus-visible::after {
  filter: invert(1);
}

 .zwc-bottom-cta-wrap .request-btn.zwc-cta-arrow:focus-visible::after,
 .zwc-bottom-cta-wrap .request-btn.zwc-cta-arrow:hover::after {
  filter: invert(0);
}


/* ========================================
   3. Feature Section - Nav Tabs (Light)
   .featpages .zwc-feature-section
   ======================================== */

.featpages .zwc-feature-section {
  padding: 120px 0 0;
}

.featpages .zwc-feature-section {
  max-width: 1600px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
background: radial-gradient(76.43% 55.32% at 98.56% 83.75%, #FEE 0%, rgba(245, 244, 244, 0.00) 100%), radial-gradient(37.08% 25.95% at 73.72% 93.99%, #FFE1B6 0%, rgba(245, 244, 244, 0.00) 100%), #F5F5F4;
  margin: 80px auto;
}

.featpages .zwc-feature-section .zwc-decor-grid {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.15;
  z-index: 0;
}

.featpages .zwc-feature-section .zwc-decor-blob {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
}

.featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.featpages .tabstyle2 .content-wrap {
  max-width: 1440px;
}

.featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
  font-family: var(--primaryfont-semibold);
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -2.56px;
  color: #000;
  text-align: center;
  max-width: 870px;
}

.featpages .zwc-feature-section .zwc-feature-tab-wrap {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: stretch;
}

.featpages .zwc-feature-section .zwc-tab-nav-area {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  /* flex-shrink: 0; */
  margin-bottom: 100px;
  position: relative;
}


.featpages .zwc-feature-section .zwc-tab-nav-arrows {
  display: flex;
  flex-direction: column;
  border: 1px solid #d4d4d4;
  border-radius: 40px;
  padding-top: 8px;
  position: absolute;
  left: -90px;
  top: 50px;
}

.featpages .zwc-feature-section .zwc-tab-arrow-up,
.featpages .zwc-feature-section .zwc-tab-arrow-down {
  background: none;
  border: none;
  padding: 18px 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
}

.featpages .zwc-feature-section .zwc-tab-arrow-up {
  border-bottom: 1px solid #d4d4d4;
}

.featpages .zwc-feature-section .zwc-tab-arrow-up.disabled,
.featpages .zwc-feature-section .zwc-tab-arrow-down.disabled {
  cursor: default;
  pointer-events: none;
}

.featpages .zwc-feature-section .zwc-tab-container {
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap {
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.5s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 36px;
  position: relative;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap .zwc-tab-title {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 36px;
  padding: 16px 28px;
  width: fit-content;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap p {
  overflow: hidden;
  opacity: 0;
  min-height: 0;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.15s;
  margin: 0;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 18px;
  color: #000;
  margin-bottom: 0;
  transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: -0.36px;
}

/* Active state - card appearance on wrapper */
.featpages .zwc-feature-section .zwc-tab-title-wrap.active {
  grid-template-rows: auto 1fr;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: 0 0 28px;
  border-top: none;
  overflow: hidden;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #E71A1A 0%, #FA0 100%);
  border-radius: 16px 16px 0 0;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap.active .zwc-tab-title {
  background: none;
  border: none;
  border-radius: 0;
  padding: 28px 28px 0;
  width: 100%;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap.active h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 20px;
  color: #d71d1b;
  letter-spacing: -0.4px;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap.active p {
  opacity: 1;
  margin: 16px 28px 0;
  font-family: var(--primaryfont-regular);
  font-size: 18px;
  line-height: 1.6;
  color: #282828;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap h3::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 30px;
  background-image: url("/sites/zweb/images/peopleplus/peopleplus-features-icon-sprite2.svg");
  background-size: 1284px auto;
  background-repeat: no-repeat;
  background-position-y: -2px;
  vertical-align: middle;
  margin-right: 8px;
  flex-shrink: 0;
  transition: filter 0.15s ease;
}

.featpages .zwc-feature-section .zwc-tab-title-wrap.active h3::before {
  filter: invert(18%) sepia(82%) saturate(5500%) hue-rotate(355deg) brightness(92%) contrast(95%);
}

/* Feature tab image - show/hide with fade */
.featpages .zwc-feature-section .zwc-feature-tab-img {
  display: flex;
  align-items: flex-end;
  flex: 1;
  margin-right: -100px;
  justify-content: center;
}

.featpages .zwc-feature-section .zwc-feature-tab-img img {
  display: none;
  max-width: 100%;
}

.featpages .zwc-feature-section .zwc-feature-tab-img img.active {
  display: block;
}


/* Inline tab images - hidden on desktop, shown on mobile */
.featpages .zwc-feature-section .zwc-tab-img {
  display: none;
}


/* ========================================
   4. Bento Grid
   .featpages .zwc-otherfeatures-wrap
   ======================================== */

.featpages .zwc-otherfeatures-wrap {
  padding: 80px 0;
}

.featpages .zwc-otherfeatures-inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.featpages .zwc-otherfeatures-inner > h2 {
  font-family: var(--primaryfont-semibold);
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -2.56px;
  text-align: center;
  color: #000;
  margin-bottom: 40px;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-wrap {
  background-color: #f5f5f4;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-row {
  padding: 56px 56px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-card h3,
.featpages .zwc-otherfeatures-wrap .zwc-bento-row h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 32px;
  letter-spacing: -0.56px;
  color: #000;  
  margin-bottom: 0;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-card p,
.featpages .zwc-otherfeatures-wrap .zwc-bento-row p {
  font-family: var(--primaryfont-regular);
  font-size: 18px;
  line-height: 1.6;
  color: #000;
  letter-spacing: -0.36px;
  max-width: 480px;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-row p{
  max-width: 540px;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-img-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  overflow: hidden;
  margin-top: auto;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-img-wrap img {
  display: block;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.twocol-row {
  flex-direction: row;
  gap: 24px;
  background: none;
  border: none;
  border-radius: 0;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-col {
  flex: 1;
  background-color: #f5f5f4;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-card {
  padding: 56px 56px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Bento horizontal layout (e.g. project dashboard) */
.featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.zwc-bento-horizontal {
  flex-direction: row;
  align-items: center;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.zwc-bento-horizontal .zwc-bento-card {
  flex-shrink: 0;
  max-width: 440px;
}

.featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.zwc-bento-horizontal .zwc-bento-img-wrap {
  flex: 1;
  justify-content: flex-end;
  align-items: flex-start;
}


/* ========================================
   5. Dark Section Inner - Base Layout
   .zwc-dark-section-inner
   ======================================== */

.zwc-dark-section-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}


/* ========================================
   6. Testimonial
   .zwc-testimonial-wrap
   (Background images are page-specific)
   ======================================== */

.zwc-testimonial-wrap {
  padding: 80px 0;
}

.zwc-testimonial-wrap .content-wrap {
  background-color: #f5f5f4;
  border-radius: 16px;
  padding: 140px 80px;
  position: relative;
  overflow: hidden;
  /* max-width: 1600px; */
}

.zwc-testimonial-wrap .content-wrap::before {
  content: '';
  position: absolute;
  left: 10px;
  bottom: -15px;
  background-image: url('/sites/zweb/images/peopleplus/testiquote.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 150px;
  height: 130px;
   transform: scaleX(-1);
  /* filter: blur(7.85px); */
}

.zwc-testimonial-wrap .content-wrap::after {
  content: '';
  position: absolute;
  right: 40px;
  top: -10px;
  background-image: url('/sites/zweb/images/peopleplus/testiquote.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 120px;
  height: 105px;
  /* filter: blur(6.6px); */
}

.zwc-testimonial-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.zwc-testimonial-inner blockquote {
  max-width: 900px;
}

.zwc-testimonial-inner blockquote p {
  /* font-family: var(--primaryfont-semibold); */
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: -0.56px;
  color: #000;
  max-width: 800px;
}

.zwc-testimonial-author {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.zwc-author-name {
  font-family: var(--primaryfont-bold);
  font-size: 20px;
  color: #000;
}

.zwc-author-company {
  font-family: var(--primaryfont-semibold);
  font-size: 16px;
  color: #525252;
}


/* ========================================
   7. Slick Carousel Navigation
   .zwc-slide-nav, .zwc-shift-nav
   Pill-shaped prev/next arrows
   ======================================== */

.zwc-slide-nav,
.zwc-shift-nav {
  display: flex;
  border: 1px solid #d4d4d4;
  border-radius: 40px;
  flex-shrink: 0;
}

.zwc-slide-prev,
.zwc-slide-next,
.zwc-shift-prev,
.zwc-shift-next {
  background: none;
  border: none;
  padding: 16px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zwc-slide-prev,
.zwc-shift-prev {
  border-left: 1px solid #d4d4d4;
  transform: rotate(180deg);
}

button.slick-arrow.slick-disabled img {
  opacity: .25;
}

button.slick-arrow img {
  width: 12px;
}

.zwc-slide-prev svg path,
.zwc-shift-prev svg path {
  stroke: #A4A4A4;
}

.zwc-slide-next svg path,
.zwc-shift-next svg path {
  stroke: #000;
}

.zwc-slide-prev.disabled,
.zwc-slide-next.disabled,
.zwc-shift-prev.disabled,
.zwc-shift-next.disabled {
  cursor: default;
  pointer-events: none;
}

.zwc-slide-prev.disabled svg path,
.zwc-shift-prev.disabled svg path,
.zwc-slide-next.disabled svg path,
.zwc-shift-next.disabled svg path {
  stroke: #A4A4A4;
}


/* ========================================
   8. Bottom CTA
   .zwc-bottom-cta-wrap
   (Decorative images are page-specific)
   ======================================== */

.zwc-bottom-cta-wrap{
  /* max-width: 1600px;
  border-radius: 16px; */
  overflow: hidden;
  background:
radial-gradient(82.24% 74.05% at -40.92% 4.55%, #FF9D00 0%, rgba(193, 0, 7, 0.00) 100%), radial-gradient(152.28% 538.3% at 198.47% 165.02%, #F50093 0%, rgba(193, 0, 7, 0.00) 100%), #C10007;
  padding: 160px 40px;
  position: relative;
}

.featpages  .zwc-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.featpages  .zwc-cta-inner h2 {
  font-family: var(--primaryfont-semibold);
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -2.56px;
  color: #fff;
  max-width: 800px;
}

/* CTA request button override for dark bg */
.zwc-bottom-cta-wrap .act-btn.request-btn {
  /* border: 1px solid #fff; */
  color: #fff;
}

.zwc-bottom-cta-wrap .request-btn.zwc-cta-arrow::before {
  border-color: #fff;
}

.zwc-bottom-cta-wrap .request-btn.zwc-cta-arrow {
  color: #fff;
  background: linear-gradient(90deg, #fff 50%, transparent 0);
  background-size: 200% 100%;
  background-position: 100% 100%;
}

/* Primary CTA black background on dark CTA section */
.zwc-bottom-cta-wrap.darkbg .zwc-primary-cta,
.zwc-bottom-cta-wrap.darkbg .cta-btn.zwc-cta-arrow {
  background: #000;
}


/* ========================================
   8. Dark Cards - Workplace
   .zwc-workplace-cards
   (Background gradients are page-specific)
   ======================================== */

.zwc-section-wrap.zwc-workplace-cards {
  padding: 120px 0;
}

.zwc-workplace-cards {
  max-width: 1600px;
  margin: auto;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(ellipse at 20% 80%, rgba(100,0,0,0.6) 0%, rgba(0,0,0,0) 50%),
    radial-gradient(ellipse at 80% 20%, rgba(100,0,0,0.4) 0%, rgba(0,0,0,0) 50%),
    #000;
}


.zwc-workplace-cards .zwc-grid-decor {
  position: absolute;
  z-index: 0;
}

.zwc-workplace-cards .zwc-inner-wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.zwc-workplace-cards .zwc-inner-wrap h2 {
  font-family: var(--primaryfont-semibold);
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -1.92px;
  color: #fff;
  text-align: center;
  max-width: 800px;
}

.zwc-workplace-cards .zwc-section-card-wrap {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: stretch;
}

.zwc-workplace-cards .zwc-card {
  background-color: #171717;
  border-radius: 8px;
  padding: 52px 56px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
}

.zwc-workplace-cards .zwc-card-text {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.zwc-workplace-cards .zwc-card-text h3::before {
  content: "";
  display: block;
  width: 120px;
  height: 120px;
  background-image: url("/sites/zweb/images/peopleplus/peopleplus-features-icon-sprite.png");
  background-size: 2980px auto;
  background-repeat: no-repeat;
  margin-bottom: 30px;
}

.zwc-workplace-cards .zwc-card-text h3 {
  font-family: var(--primaryfont-bold);
  font-size: 20px;
  letter-spacing: -0.4px;
  color: #fff;
  margin-bottom: 8px;
}

.zwc-workplace-cards .zwc-card-text p {
  font-family: var(--primaryfont-regular);
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: -0.36px;
  color: #aeaeae;
}


/* ========================================
   Responsive - Small Desktop (1440px)
   ======================================== */

@media screen and (max-width: 1440px) {

  /* --- Global Layout (from common.css) --- */
  .content-wrap {
    max-width: 1170px;
  }

  .zwc-section-card-txt {
    padding: 40px;
  }

  .zwc-section-card-txt h3 {
    font-size: 28px;
    letter-spacing: -1.12px;
  }

  .zwc-section-card-txt p {
    font-size: 16px;
  }

  /* .featpages .zwc-banner-wrap .content-wrap {
    padding: 80px 0 60px;
  } */




   .featpages .zwc-banner-wrap {
    padding: 30px 0 70px;

   }

  /* Banner */
  .featpages .zwc-banner-cont h1 {
    font-size: 60px;
    letter-spacing: -3.2px;
  }

  /* Dark Cards */
  .zwc-workplace-cards {
    max-width: 95%;
  }

  .zwc-workplace-cards .zwc-inner-wrap h2 {
    font-size: 56px;
  }

  /* Feature Section */
  .featpages .zwc-feature-section {
    max-width: 95%;
  }

  .featpages .zwc-feature-section .zwc-tab-nav-arrows {
    left: -80px;
    transform: scale(0.8);
  }

  .featpages .zwc-feature-section .zwc-feature-tab-wrap {
    gap: 40px;
  }

  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab {
    max-width: 1070px;
  }

  .featpages .tabstyle2 .content-wrap {
    max-width: 1140px;
  }

  .zwc-expense-tracking .zwc-feature-tab-img img {
    max-width: 90%;
  }

  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
    font-size: 56px;
  }

    .zwc-section-wrap.zwc-workplace-cards, .zwc-offer-letters {
    padding: 100px 0;
  }

   .featpages .zwc-feature-section {
    padding: 100px 0 0;
   }

  .featpages .zwc-feature-section {
    margin: 60px auto;
  }

  /* Bento */
  .featpages .zwc-otherfeatures-inner > h2 {
    font-size: 56px;
  }

  /* CTA */
  .featpages  .zwc-cta-inner h2 {
    font-size: 56px;
  }

  .zwc-bottom-cta-wrap {
    padding: 140px 0;
  }


}




/* ========================================
   Responsive - Large Tablet (1280px)
   ======================================== */

@media screen and (max-width: 1280px) {

  /* --- Global Layout (from common.css) --- */
  .zwc-section-card-txt {
    padding: 36px;
  }

  .zwc-section-card-txt h3 {
    font-size: 26px;
    letter-spacing: -1.04px;
  }

  .featpages .zwc-feature-section .zwc-tab-nav-arrows {
    display: none;
  }

  /* Banner */
  .featpages .zwc-banner-cont h1 {
    font-size: 56px;
    letter-spacing: -2.8px;
  }

  /* Dark Cards */
  .zwc-workplace-cards .zwc-inner-wrap h2 {
    font-size: 48px;
    letter-spacing: -1.92px;
  }

  /* Feature Section */
  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
    font-size: 48px;
    letter-spacing: -1.92px;
  }

  /* Bento */
  .featpages .zwc-otherfeatures-inner > h2 {
    font-size: 48px;
    letter-spacing: -1.92px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-card {
    padding: 36px;
  }

  /* Testimonial */
  .zwc-testimonial-inner blockquote p {
    font-size: 32px;
  }

  /* CTA */
  .featpages  .zwc-cta-inner h2 {
    font-size: 48px;
    letter-spacing: -1.92px;
  }


}


/* ========================================
   Responsive - Tablet (1024px)
   ======================================== */

@media screen and (max-width: 1024px) {

  /* --- Global Layout (from common.css) --- */
  .zwc-section-inner-wrap.twocol {
    flex-direction: column;
  }

  .zwc-section-inner.threecol {
    flex-direction: column;
  }

  .zwc-section-card-txt {
    padding: 32px;
  }

  .zwc-section-card-txt h3 {
    font-size: 24px;
    letter-spacing: -0.96px;
  }

  .zwc-section-card-txt p {
    font-size: 16px;
  }

  .featpages .zwc-btn-wrap {
    justify-content: center;
  }

  .featpages .zwc-banner-cont {
    max-width: 680px;
  }

  .featpages .zwc-banner-cont h1 {
    max-width: 500px;
  }

  .featpages .zwc-banner-cont .zwc-inner-wrap > p {
    max-width: 680px;
  }

  /* Dark Cards */
  .zwc-workplace-cards .zwc-inner-wrap h2 {
    font-size: 40px;
    letter-spacing: -1.6px;
  }

  .zwc-workplace-cards .zwc-section-card-wrap {
    flex-wrap: wrap;
  }

  .zwc-workplace-cards .zwc-card {
    flex: 0 0 calc(50% - 12px);
  }

  /* Banner stacks */
  .featpages .zwc-banner-wrap .content-wrap {
    flex-direction: column;
    gap: 40px;
    padding: 0 20px;
  }

  .featpages .zwc-banner-cont {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .featpages .zwc-banner-cont .title {
    align-self: center;
  }

  .featpages .zwc-banner-cont h1 {
    font-size: 48px;
    letter-spacing: -2.4px;
  }

  /* Feature Section */

  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab {
    gap: 20px;
  }

  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
    font-size: 40px;
    letter-spacing: -1.6px;
  }


  .featpages .zwc-feature-section .zwc-tab-title-wrap h3::before {
      content: none;
  }

  /* Feature Section - hide shared image, show inline images, remove gap */
  .featpages .zwc-feature-section .zwc-feature-tab-img {
    display: none;
  }

  .featpages .zwc-feature-section .zwc-feature-tab-wrap {
    gap: 0;
  }

  .featpages .zwc-feature-section .zwc-tab-nav-area {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 0;
  }

  .featpages .zwc-feature-section .zwc-tab-nav-arrows {
    /* flex-direction: row;
    justify-content: center;
    gap: 8px;
    padding-top: 0;
    padding-bottom: 8px; */
    display: none;
  }

  .featpages .zwc-feature-section .zwc-tab-container {
    max-width: 750px;
  }

  .featpages .zwc-feature-section .zwc-tab-container {
    gap: 80px;
  }

  .featpages .zwc-feature-section {
    padding: 100px 0;
  }


/* .featpages .zwc-feature-section .zwc-tab-title-wrap.active {
  border: none;;
} */


  /* Show all tabs expanded with inline images */
  .featpages .zwc-feature-section .zwc-tab-title-wrap {
    border-radius: 16px;
    padding: 50px 20px 0;
    cursor: default;
    width: 100%;
    border-top: none;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    transition: none;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    overflow: hidden;
  }

  .featpages .zwc-feature-section .zwc-tab-title-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #E71A1A 0%, #FA0 100%);
    border-radius: 16px 16px 0 0;
  }

  .featpages .zwc-feature-section .zwc-tab-title-wrap .zwc-tab-title {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    width: 100%;
    justify-content: center;
  }

  .featpages .zwc-feature-section .zwc-tab-title-wrap h3 {
    font-size: 20px;
    color: #d71d1b;
  }

  .featpages .zwc-feature-section .zwc-tab-title-wrap p {
    opacity: 1;
    overflow: visible;
    min-height: auto;
    margin-top: 16px;
    font-family: var(--primaryfont-regular);
    font-size: 18px;
    line-height: 1.6;
    color: #282828;
    text-align: center;
    max-width: 490px;
    margin: 10px auto 20px;
  }


  .featpages .zwc-feature-section .zwc-tab-img {
    display: flex;
    margin-top: 0;
    border-radius: 12px;
    overflow: hidden;
  }

  /* Bento */
  .featpages .zwc-otherfeatures-inner > h2 {
    font-size: 40px;
    letter-spacing: -1.6px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.twocol-row {
    flex-direction: column;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-wrap.zwc-bento-horizontal {
    flex-direction: column;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-card {
    padding: 32px;
  }

  /* CTA */
  .featpages  .zwc-cta-inner h2 {
    font-size: 40px;
    letter-spacing: -1.6px;
  }

  /* CTA decorative elements hidden */
  .featpages .zwc-bottom-cta-wrap .content-wrap::before,
  .featpages .zwc-bottom-cta-wrap::before,
  .featpages .zwc-bottom-cta-wrap::after,
  .featpages .zwc-bottom-cta-wrap .content-wrap::after,
  .featpages .zwc-bottom-cta-wrap .zwc-cta-inner::before,
  .featpages .zwc-bottom-cta-wrap .zwc-cta-inner::after {
    display: none;
  }

  .featpages .zwc-bottom-cta-wrap {
    padding: 100px 0;
  }


}


/* ========================================
   Responsive - Mobile (767px)
   ======================================== */

@media screen and (max-width: 767px) {

  /* --- Global Layout (from common.css) --- */
  .zwc-section-inner-wrap {
    gap: 16px;
  }

  .zwc-section-card-txt {
    padding: 24px;
    gap: 12px;
  }

  .zwc-section-card-txt h3 {
    font-size: 22px;
    letter-spacing: -0.88px;
  }

  .zwc-section-card-txt p {
    font-size: 15px;
    line-height: 1.5;
  }

  .zwc-btn-wrap {
    flex-direction: column;
    /* align-items: center; */
    display: inline-flex;
  }

  .featpages .zwc-banner-cont .zwc-inner-wrap {
    display: initial;
  }

  .zwc-cta-subtext {
    font-size: 16px;
  }

  .zwc-section-inner-wrap.twocol {
    gap: 20px;
  }

  /* Banner */
  .featpages .zwc-banner-cont h1 {
    font-size: 36px;
    letter-spacing: -1.8px;
  }

  .featpages .zwc-banner-cont .title {
    background: linear-gradient(97deg, #E50000 12.18%, #FF8243 93.49%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .featpages .zwc-banner-wrap{
    padding: 60px 0;
  }

  .zwc-section-wrap.zwc-workplace-cards, .zwc-payroll-twocol {
    padding: 80px 0;
  }

  .zwc-workplace-cards .zwc-section-card-wrap {
    flex-direction: column;
    flex-wrap: nowrap;
    max-width: 480px;
  }

  .zwc-workplace-cards .zwc-card {
    flex: 1;
  }

  .featpages .zwc-feature-section {
    padding: 55px 0;
  }


  .zwc-workplace-cards .zwc-inner-wrap {
    gap: 40px;
  }

  .featpages .zwc-feature-section .zwc-tab-container {
    gap: 40px;
  }

  .zwc-workplace-cards {
    max-width: 100%;
    border-radius: 0;
  }

  .zwc-workplace-cards .zwc-card-text h3::before {
    margin-bottom: 5px;
    transform: scale(0.75);
    left: -20px;
    position: relative;
  }

  /* Dark Cards */
  .zwc-workplace-cards .zwc-inner-wrap h2 {
    font-size: 32px;
    letter-spacing: -1.28px;
  }

  .zwc-dark-section-inner {
    gap: 20px;
  }

  /* Feature Section */
  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
    font-size: 32px;
    letter-spacing: -1.28px;
  }

  .featpages .zwc-feature-section .zwc-decor-grid,
  .featpages .zwc-feature-section .zwc-decor-blob {
    display: none;
  }

  .featpages .zwc-feature-section .content-wrap {
    padding: 0;
  }

  .featpages .zwc-feature-section .zwc-tab-nav-arrows {
    display: none;
  }

  .featpages .zwc-feature-section .zwc-tab-title-wrap p {
    font-size: 15px;
    line-height: 1.5;
  }


  /* Bento */
  .featpages .zwc-otherfeatures-inner > h2 {
    font-size: 32px;
    letter-spacing: -1.28px;
    margin-bottom: 12px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-card {
    padding: 24px;
    gap: 12px;
  }

  /* Testimonial */
  .zwc-testimonial-inner blockquote p {
    font-size: 20px;
  }

  .zwc-testimonial-wrap .content-wrap {
    padding: 140px 30px;
  }

  .zwc-testimonial-inner img {
    max-width: 120px;
  }

  /* .zwc-testimonial-wrap .content-wrap {
    background-image: none;
  } */

  .zwc-testimonial-wrap .content-wrap::before, .zwc-testimonial-wrap .content-wrap::after {
    transform: scale(0.7);
  }

  /* CTA */
  .featpages  .zwc-cta-inner h2 {
    font-size: 34px;
  }

  .featpages .zwc-cta-inner {
    gap: 20px;
  }

    .featpages .zwc-otherfeatures-wrap .zwc-bento-card p, .featpages .zwc-otherfeatures-wrap .zwc-bento-row p {
    font-size: 15px;
  }

  

}


/* ========================================
   Responsive - Small Mobile (480px)
   ======================================== */

@media screen and (max-width: 480px) {

  /* --- Global Layout (from common.css) --- */
  .zwc-section-card-txt {
    padding: 20px;
  }

  .zwc-section-card-txt h3 {
    font-size: 24px;
    letter-spacing: -0.8px;
  }

  .zwc-section-card-txt p {
    font-size: 15px;
  }

  .zwc-cta-subtext {
    font-size: 15px;
  }

  .featpages .zwc-cta-inner h2 {
    font-size: 34px;
    max-width: 370px;
  }

  /* Banner */
  .featpages .zwc-banner-cont h1 {
    font-size: 34px;
    letter-spacing: -1.4px;
  }

  /* Dark Cards */
  .zwc-workplace-cards .zwc-inner-wrap h2 {
    font-size: 28px;
    letter-spacing: -1.12px;
  }

  /* Feature Section */
  .featpages .zwc-feature-section.tabstyle2 .zwc-feature-tab h2 {
    font-size: 28px;
    letter-spacing: -1.12px;
  }


  .featpages .zwc-otherfeatures-wrap .zwc-bento-row {
    text-align: left;
    padding: 40px 40px 30px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-card h3, .featpages .zwc-otherfeatures-wrap .zwc-bento-row h3 {
    font-size: 24px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-row {
    align-items: flex-start;
  }

  /* Bento */
  .featpages .zwc-otherfeatures-inner > h2 {
    font-size: 28px;
    letter-spacing: -1.12px;
  }

  .featpages .zwc-otherfeatures-wrap .zwc-bento-card {
    padding: 40px;
  }

  /* CTA */
  .featpages  .zwc-cta-inner h2 {
    font-size: 28px;
    letter-spacing: -1.12px;
  }

  /* .featpages .zwc-otherfeatures-wrap .zwc-bento-card p, .featpages .zwc-otherfeatures-wrap .zwc-bento-row p {
    font-size: 14px;
  } */

  .zwc-compensation-cards .zwc-section-card-txt p {
    font-size: 14px;
  }

}



/* End of features page common css */