/*
Theme Name: CaterWize Careers
Template: hello-elementor
Description: Child theme for the CaterWize careers site. Elementor owns baseline typography, colors, spacing, and component layout; this file only keeps site-specific exceptions Elementor cannot express cleanly.
Version: 1.1.0
*/

:root{
  --cw-blue:#1C57A5;
  --cw-blue-dark:#174785;
  --cw-navy:#071B43;
  --cw-ink:#24364F;
  --cw-muted:#5E6D82;
  --cw-line:#D8E3EE;
  --cw-soft:#EEF6FF;
  --cw-shadow:0 18px 42px rgba(20,43,84,.10);
  --cw-shadow-hover:0 24px 54px rgba(20,43,84,.14);
}

body{ color:var(--cw-ink); }

html,
body{
  overflow-x:hidden;
}

/* Header: Elementor controls the menu typography/spacing; CSS only turns the final menu item into the requested CTA. */
.elementor-location-header .elementor-element-640df2f5{
  padding-left:0!important;
  padding-right:0!important;
}

.elementor-location-header .elementor-element-640df2f5 > .e-con-inner{
  justify-content:space-between!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:1440px!important;
  width:calc(100% - 96px)!important;
}

.elementor-location-header .elementor-nav-menu--main .menu-item a[href*="/available-jobs/"]{
  align-items:center;
  background:var(--cw-blue);
  border-radius:10px;
  color:#fff!important;
  display:inline-flex;
  min-height:48px;
  padding:0 22px!important;
}

.elementor-location-header .elementor-nav-menu--main .menu-item a[href*="/available-jobs/"]:hover,
.elementor-location-header .elementor-nav-menu--main .menu-item.current-menu-item a[href*="/available-jobs/"]{
  background:var(--cw-blue-dark);
  color:#fff!important;
}

.elementor-location-header .elementor-nav-menu--main .menu-item a[href*="/available-jobs/"]::after{
  display:none!important;
}

/* Hello theme defaults that Elementor templates should suppress. */
.home .page-header,
.home .entry-title,
.single-post .page-header,
.single-post .entry-title{
  display:none!important;
}

.home main#content,
.home .page-content,
.single-post main#content,
.single-post .page-content{
  margin:0!important;
  padding:0!important;
}

/* Hero: image side is clipped to echo the slanted reference layout. */
.home .elementor-21 .elementor-element-3f6cf64a{
  margin-top:0!important;
  min-height:450px!important;
  overflow:hidden!important;
  --min-height:450px!important;
}

.home .elementor-21 .elementor-element-6fd92adb{
  margin-top:0!important;
  padding:64px 64px 64px max(48px, calc((100vw - 1440px) / 2))!important;
  position:relative;
  z-index:2;
}

.home .elementor-21 .elementor-element-48b3611b{
  clip-path:polygon(9% 0, 100% 0, 100% 100%, 0 100%);
  display:flex!important;
  margin-left:-54px!important;
  width:calc(50% + 54px)!important;
}

.home .elementor-21 .elementor-element-9dbc5e0 .elementor-heading-title{
  color:#fff!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

.home .elementor-21 .elementor-element-a7a67b4 .elementor-heading-title{
  color:#fff!important;
  font-family:"Poppins",sans-serif!important;
  font-size:52px!important;
  font-weight:800!important;
  line-height:1.12!important;
}

.home .elementor-21 .elementor-element-5c0cc5bb,
.home .elementor-21 .elementor-element-5c0cc5bb p{
  color:#fff!important;
  font-family:"Poppins",sans-serif!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:1.65!important;
}

.home .elementor-21 .elementor-element-780bedaa .elementor-button{
  align-items:center!important;
  background:#fff!important;
  color:var(--cw-blue)!important;
  display:inline-flex!important;
  justify-content:center!important;
  min-height:48px!important;
}

.home .elementor-21 .elementor-element-7c8b0bb4{
  min-height:auto!important;
  --min-height:0!important;
}

.home .elementor-21 .elementor-element-22b8df1c .elementor-heading-title{
  color:var(--cw-blue)!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

.home .elementor-21 .elementor-element-4475ed97 .elementor-heading-title{
  color:var(--cw-navy)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:32px!important;
  font-weight:800!important;
  line-height:1.16!important;
}

/* CTA cards: Elementor owns card border, shadow, typography, and button styling; CSS only places the supplied icon art. */
.home .elementor-21 .elementor-element-4ed9795,
.home .elementor-21 .elementor-element-8239565{
  background:#fff!important;
  border-color:var(--cw-line)!important;
  box-shadow:var(--cw-shadow)!important;
  overflow:hidden!important;
  transition:box-shadow .22s ease, transform .22s ease;
}

.home .elementor-21 .elementor-element-4ed9795:hover,
.home .elementor-21 .elementor-element-8239565:hover{
  box-shadow:var(--cw-shadow-hover)!important;
  transform:translateY(-2px);
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta,
.home .elementor-21 .elementor-element-8239565 .elementor-cta{
  align-items:center!important;
  gap:28px!important;
  min-height:260px!important;
  padding:0!important;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-wrapper,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-wrapper{
  align-items:center!important;
  align-self:stretch!important;
  background:#f8fbff!important;
  display:flex!important;
  flex:0 0 190px!important;
  justify-content:center!important;
  min-height:100%!important;
  overflow:visible!important;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-wrapper::before,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-wrapper::before{
  background:#eaf4ff;
  border-radius:999px;
  content:"";
  height:116px;
  left:50%;
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  width:116px;
  z-index:0;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__bg{
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:72px!important;
  flex:0 0 100%!important;
  height:100%!important;
  opacity:1!important;
  position:relative;
  width:100%!important;
  z-index:1;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-overlay,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-overlay{
  display:none!important;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__content,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__content{
  min-height:260px!important;
  padding:42px 34px!important;
}

.home .elementor-21 .elementor-element-4ed9795 .elementor-cta__button,
.home .elementor-21 .elementor-element-8239565 .elementor-cta__button{
  background:var(--cw-blue)!important;
  border-color:var(--cw-blue)!important;
  color:#fff!important;
}

.home .elementor-21 .elementor-element-e1e50b5 .elementor-button{
  align-items:center!important;
  background:var(--cw-blue)!important;
  border-color:var(--cw-blue)!important;
  color:#fff!important;
  display:inline-flex!important;
  min-height:46px!important;
}

/* Home job loop and benefit icons still need structural polish across plugin-generated markup. */
.home .elementor-21 .elementor-element-634e665 .e-loop-item > a{
  border:1px solid var(--cw-line);
  border-radius:12px;
  box-shadow:var(--cw-shadow);
  overflow:hidden;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.home .elementor-21 .elementor-element-634e665 .e-loop-item > a:hover{
  border-color:rgba(28,87,165,.28);
  box-shadow:var(--cw-shadow-hover);
  transform:translateY(-2px);
}

.home .elementor-21 .elementor-element-3948f00 .elementor-heading-title,
.home .elementor-21 .elementor-element-612e43b .elementor-heading-title{
  color:var(--cw-blue)!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
}

.home .elementor-21 .elementor-element-c658db0 .elementor-heading-title,
.home .elementor-21 .elementor-element-4e44ae6 .elementor-heading-title{
  color:var(--cw-navy)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:32px!important;
  font-weight:800!important;
  line-height:1.16!important;
}

.home .elementor-21 .elementor-widget-icon .elementor-icon{
  color:var(--cw-blue)!important;
}

/* Generated CaterWize icon set for the process and benefit rows. */
.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-icon,
.home .elementor-21 .elementor-element-3701d6f .elementor-widget-icon .elementor-icon{
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  display:inline-flex!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-icon{
  background-size:46px!important;
  height:64px!important;
  overflow:visible!important;
  position:relative!important;
  width:64px!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-label{
  border-radius:999px!important;
  box-shadow:none!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  left:50%!important;
  padding:6px 12px!important;
  top:-16px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  line-height:1!important;
  z-index:2!important;
  white-space:nowrap!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow.happy-addon .ha-steps-icon .ha-steps-label{
  display:inline-block!important;
  min-width:56px!important;
  width:max-content!important;
  text-overflow:clip!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow{
  min-height:156px;
  text-align:center;
  width:25%!important;
}

.home .elementor-21 .elementor-element-5e75113{
  width:100%!important;
}

.home .elementor-21 .elementor-element-5e75113 > .e-con-inner{
  max-width:none!important;
  width:100%!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-step-arrow{
  border-top:2px dotted rgba(28,87,165,.42)!important;
  height:1px!important;
  left:95px!important;
  top:32px!important;
  width:clamp(150px, 16vw, 260px)!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-step-arrow::after{
  border-color:rgba(28,87,165,.42)!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-title{
  color:var(--cw-navy)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:16px!important;
  font-weight:500!important;
  margin-top:28px!important;
}

.home .elementor-21 .elementor-element-3701d6f .elementor-widget-icon .elementor-icon{
  height:58px!important;
  width:58px!important;
}

.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-icon i,
.home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-icon svg,
.home .elementor-21 .elementor-element-3701d6f .elementor-widget-icon .elementor-icon i,
.home .elementor-21 .elementor-element-3701d6f .elementor-widget-icon .elementor-icon svg{
  opacity:0!important;
}

.home .elementor-21 .elementor-element-443d146 .ha-steps-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-apply.png")!important;
}

.home .elementor-21 .elementor-element-8ba1aac .ha-steps-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-review.png")!important;
}

.home .elementor-21 .elementor-element-31e54dd .ha-steps-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-interview.png")!important;
}

.home .elementor-21 .elementor-element-5396d01 .ha-steps-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-decision.png")!important;
}

.home .elementor-21 .elementor-element-26a46fd .elementor-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-great-people.png")!important;
}

.home .elementor-21 .elementor-element-910a0cf .elementor-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-growth.png")!important;
}

.home .elementor-21 .elementor-element-e57aaae .elementor-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-purpose.png")!important;
}

.home .elementor-21 .elementor-element-616c488 .elementor-icon{
  background-image:url("https://careers.caterwize.co.za/wp-content/uploads/2026/05/cw-careers-generated-culture.png")!important;
}

.home .elementor-21 .elementor-element-3701d6f{
  border-radius:10px!important;
  box-shadow:0 12px 34px rgba(28,87,165,.06);
  margin-left:auto!important;
  margin-right:auto!important;
  width:calc(100% - 96px)!important;
}

/* Available jobs archive: reuse the compact job-card language from the home page. */
.elementor-37 .elementor-widget-loop-grid .e-loop-item > a{
  background:#fff;
  border:1px solid var(--cw-line);
  border-radius:14px;
  box-shadow:0 16px 38px rgba(7,27,67,.08);
  display:block;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.elementor-37 .elementor-widget-loop-grid .e-loop-item > a:hover{
  border-color:rgba(28,87,165,.34);
  box-shadow:0 22px 52px rgba(7,27,67,.12);
  transform:translateY(-2px);
}

.elementor-37 .elementor-widget-loop-grid .elementor-button,
.elementor-37 .elementor-widget-button .elementor-button{
  align-items:center;
  display:inline-flex;
  justify-content:center;
}

.elementor-37 .elementor-element-jobscta1{
  margin-left:auto!important;
  margin-right:auto!important;
  width:calc(100% - 96px)!important;
}

/* Footer bottom bar alignment. */
.elementor-location-footer .elementor-element-4cbd08ca{
  padding-left:0!important;
  padding-right:0!important;
}

.elementor-location-footer .elementor-element-4cbd08ca > .e-con-inner,
.elementor-location-footer .elementor-element-bf293ca > .e-con-inner{
  max-width:1440px!important;
  width:calc(100% - 96px)!important;
}

.elementor-location-footer .elementor-element-bf293ca{
  padding-left:0!important;
  padding-right:0!important;
}

.elementor-location-footer .elementor-element-bf293ca .e-con-inner{
  align-items:center;
  display:flex;
  justify-content:space-between;
  padding-left:0!important;
  padding-right:0!important;
}

.elementor-location-footer .elementor-element-e132a60{
  align-items:flex-start!important;
}

.elementor-location-footer .elementor-element-459f0c3{
  align-items:flex-end!important;
}

.elementor-location-footer .elementor-element-5afed73{
  text-align:right!important;
}

/* Single-job page: Elementor owns the layout; CSS keeps rich post content readable and share buttons on-brand. */
.single-post .elementor-97 .elementor-element-1ca48e93{
  background:#fff;
  border:1px solid var(--cw-line);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(7,27,67,.08);
  color:#071b43;
  margin-top:18px!important;
  padding:48px 54px!important;
}

.single-post .elementor-97 .elementor-element-1ca48e93,
.single-post .elementor-97 .elementor-element-1ca48e93 p,
.single-post .elementor-97 .elementor-element-1ca48e93 li{
  font-family:"Poppins",sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.62;
}

.single-post .elementor-97 .elementor-element-1ca48e93 h2,
.single-post .elementor-97 .elementor-element-1ca48e93 h3{
  color:var(--cw-navy);
  font-family:"Poppins",sans-serif;
  font-weight:800;
  line-height:1.2;
  margin:26px 0 12px;
}

.single-post .elementor-97 .elementor-element-1ca48e93 h2:first-child,
.single-post .elementor-97 .elementor-element-1ca48e93 h3:first-child{
  margin-top:0;
}

.single-post .elementor-97 .elementor-element-1ca48e93 ul{
  margin:8px 0 0 22px;
  padding:0;
}

.single-post .elementor-97 .elementor-element-856930e{
  margin-top:4px;
}

.single-post .elementor-97 .elementor-element-37510b1f .elementor-heading-title{
  color:#fff!important;
  font-family:"Poppins",sans-serif!important;
  font-size:42px!important;
  font-weight:800!important;
  line-height:1.16!important;
}

.single-post .elementor-97 .elementor-element-5ab90d0 .elementor-heading-title{
  color:#fff!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.4!important;
}

.single-post .elementor-97 .elementor-element-63f8b21 .elementor-share-btn{
  align-items:center;
  background:#eef6ff!important;
  border:1px solid #d8e3ee!important;
  border-radius:999px!important;
  color:var(--cw-blue)!important;
  display:inline-flex!important;
  font-family:"Montserrat",sans-serif;
  font-size:0!important;
  font-weight:700;
  height:38px!important;
  justify-content:center;
  min-height:38px!important;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
  width:38px!important;
}

.single-post .elementor-97 .elementor-element-63f8b21 .elementor-share-btn:hover{
  background:#1c57a5!important;
  border-color:#1c57a5!important;
  color:#fff!important;
  transform:translateY(-1px);
}

.single-post .elementor-97 .elementor-element-63f8b21 .elementor-share-btn__icon{
  font-size:15px!important;
  margin:0!important;
}

.single-post .elementor-97 .elementor-element-63f8b21::before{
  color:#5e6d82;
  content:"Share this role";
  display:block;
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  margin:8px 0 12px;
  text-transform:uppercase;
}

@media (max-width:1024px){
  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta{
    gap:18px!important;
  }

  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-wrapper,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-wrapper{
    flex-basis:160px!important;
  }

  .home .elementor-21 .elementor-widget-ha-step-flow .ha-step-arrow{
    width:90px!important;
  }
}

@media (max-width:767px){
  .elementor-location-header .elementor-element-640df2f5 > .e-con-inner{
    width:calc(100% - 40px)!important;
  }

  .elementor-location-header .elementor-nav-menu--main .menu-item a[href*="/available-jobs/"]{
    display:flex;
    margin-top:8px;
    width:100%;
  }

  .home .elementor-21 .elementor-element-3701d6f{
    width:calc(100% - 36px)!important;
  }

  .home .elementor-21 .elementor-widget-ha-step-flow{
    flex:0 0 calc(50% - 12px)!important;
    min-height:142px;
    width:calc(50% - 12px)!important;
  }

  .home .elementor-21 .elementor-widget-ha-step-flow .ha-step-arrow{
    display:none!important;
  }

  .home .elementor-21 .elementor-widget-ha-step-flow .ha-steps-title{
    font-size:15px!important;
    margin-top:18px!important;
    white-space:normal!important;
  }

  .home .elementor-21 .elementor-element-6fd92adb{
    padding:44px 22px!important;
  }

  .home .elementor-21 .elementor-element-3f6cf64a{
    min-height:auto!important;
    --min-height:0!important;
  }

  .home .elementor-21 .elementor-element-48b3611b{
    clip-path:none;
    margin-left:0!important;
    width:100%!important;
  }

  .home .elementor-21 .elementor-element-a7a67b4 .elementor-heading-title{
    font-size:31px!important;
  }

  .home .elementor-21 .elementor-element-5c0cc5bb,
  .home .elementor-21 .elementor-element-5c0cc5bb p{
    font-size:15px!important;
    line-height:1.55!important;
  }

  .home .elementor-21 .elementor-element-4475ed97 .elementor-heading-title,
  .home .elementor-21 .elementor-element-c658db0 .elementor-heading-title,
  .home .elementor-21 .elementor-element-4e44ae6 .elementor-heading-title{
    font-size:24px!important;
    line-height:1.12!important;
  }

  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-wrapper,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-wrapper{
    align-self:flex-start!important;
    flex:0 0 96px!important;
    height:96px!important;
    margin:26px 0 0 24px!important;
    min-height:96px!important;
    width:96px!important;
  }

  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta__bg-wrapper::before,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta__bg-wrapper::before{
    height:96px;
    width:96px;
  }

  .home .elementor-21 .elementor-element-4ed9795 .elementor-cta__content,
  .home .elementor-21 .elementor-element-8239565 .elementor-cta__content{
    min-height:auto!important;
    padding:20px 24px 30px!important;
  }

  .single-post .elementor-97 .elementor-element-1ca48e93{
    padding:30px 22px!important;
  }

  .single-post .elementor-97 .elementor-element-37510b1f .elementor-heading-title{
    font-size:30px!important;
  }

  .elementor-location-footer .elementor-element-bf293ca .e-con-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .elementor-location-footer .elementor-element-4cbd08ca > .e-con-inner,
  .elementor-location-footer .elementor-element-bf293ca > .e-con-inner{
    width:calc(100% - 40px)!important;
  }

  .elementor-37 .elementor-element-jobscta1{
    width:calc(100% - 36px)!important;
  }

  .elementor-location-footer .elementor-element-459f0c3{
    align-items:flex-start!important;
  }

  .elementor-location-footer .elementor-element-5afed73{
    text-align:left!important;
  }
}
