html {
  scroll-behavior: smooth;
}

#ws-inperson,
#ws-online,
#ws-ondemand{
  scroll-margin-top: 180px; /* adjust to suit header height */
}

.exult-feature-card__link{
  display:block;
  text-decoration:none;
  color:inherit;
}

/* Card */
.exult-feature-card{
  border-radius:22px;
  overflow:hidden;
  background:var(--exult-feature-card-bg);
  padding:0 !important;
}

/* Media base */
.exult-feature-card__media{
  position:relative;
  width:100%;
}

/* ICON CARD */
.exult-feature-card__media--icon{
     padding: 10px 24px 0;
}

.exult-feature-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:54px;
  line-height:1;
  color:#fff;
}

.exult-feature-card--icon .exult-feature-card__content {
    padding: 0px 22px 22px;
    color: #fff;
}

/* Custom icon image and inline SVG support */
.exult-feature-card__icon--img,
.exult-feature-card__icon--svg{
  line-height:0;
}

.exult-feature-card__icon--img img{
  width:70px;
  height:70px;
  object-fit:contain;
  display:block;
}

.exult-feature-card__icon--svg svg{
  width:70px;
  height:70px;
  display:block;
}

/* IMAGE CARD */
.exult-feature-card__media--image{
  height:170px;
  overflow:hidden;
}

.exult-feature-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Optional curve overlay */
.exult-feature-card__media--image::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:90px;
  background-image: var(--exult-feature-curve, none);
  background-position: bottom center;
  background-repeat:no-repeat;
  background-size:100% auto;
  pointer-events:none;
}

/* Content */
.exult-feature-card__content{
  padding:18px 22px 22px;
  color:#fff;
}

.exult-feature-card__title{
  font-size:20px;
  line-height:1.15;
  font-weight:500;
  color:#fff;
}

.exult-feature-card__body{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#fff;
  padding-bottom:15px;
}

/* Button */
.exult-feature-card__actions{
  margin-top:18px;
}

.exult-feature-card__btn{
  display:inline-block;
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.3px;
  transition:all 0.2s ease;
  box-sizing:border-box;
}

/* Filled style */
.exult-feature-card.exult-feature-btn--filled .exult-feature-card__btn{
  background:var(--exult-feature-btn);
  color:#fff;
  border:0;
}

/* Outline style */
.exult-feature-card.exult-feature-btn--outline .exult-feature-card__btn{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,0.9);
}

.exult-feature-card__btn--static{ cursor:default; }

.exult-feature-card__link .exult-feature-card{ transition:transform 0.15s ease; }
.exult-feature-card__link:hover .exult-feature-card{ transform:translateY(-2px); }

/* 1) Make the card fill the column height */
.exult-feature-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* If the entire card is clickable, the <a> wrapper must also fill height */
a.exult-feature-card__link {
  display: block;
  height: 100%;
  text-decoration: none;
}

a.exult-feature-card__link > .exult-feature-card {
  height: 100%;
}

/* 2) Let the content area expand to fill leftover space */
.exult-feature-card__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* 3) Push the actions (button) to the bottom */
.exult-feature-card__actions {
  margin-top: auto;
}

.exult_feature_card {
	height: 100%;
	display: flex;
}
/* Workshops listing and internal shortcodes */
.exult-ws-grid{
  display:grid;
  gap:24px;
}
.exult-ws-grid--cols-1{ grid-template-columns: 1fr; }
.exult-ws-grid--cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.exult-ws-grid--cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.exult-ws-grid--cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 980px){
  .exult-ws-grid--cols-4,
  .exult-ws-grid--cols-3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 600px){
  .exult-ws-grid--cols-4,
  .exult-ws-grid--cols-3,
  .exult-ws-grid--cols-2{ grid-template-columns: 1fr; }
}

/* First row offset (you can override in Divi custom CSS if you want) */
.exult-ws-feature-row--first{ margin-top: 0 !important; }
.exult-ws-feature-row{ margin-top: 18px !important; }

/* Signup */
.exult-ws-signup{
  text-align: center;
  margin-top: 0px; /* adjust */
}

.exult-ws-signup__btn{
  background: var(--exult-btn, #3FA548);
    color: #fff;
    display: inline-block;
    border: 2px solid var(--exult-btn, #3FA548);
    border-radius: 100px;
    font-family: Montserrat, Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 6px 18px;
    line-height: 26px;
    text-transform: uppercase;
    margin-top: 20px;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease;
}




.exult-ws-signup__btn:hover{
  background: transparent;
    color: var(--exult-btn, #3FA548);
}

.exult-ws-signup__btn:active{
  transform: translateY(0);
}

.exult-ws-signup__desc{
  margin-top: 14px;
}

.exult-ws-signup__desc p{
  max-width: 860px; /* adjust */
  margin: 0 auto;
}

/* Delivery options use Exult Card styles (scoped to workshops) */
.exult-ws-delivery .exult-card__link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.exult-ws-delivery .exult-card{
  padding:0 !important;
}

.exult-ws-delivery .exult-card__media{
  position:relative;
  height: clamp(180px, var(--media-h, 260px), 260px);
  overflow:visible;
  background:transparent;
  margin:0;
  line-height:0;
}

.exult-ws-delivery .exult-card__media::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height: var(--media-before-height, 120px);
  background: var(--exult-media-bg);
  border-radius: 28px 28px 0 0;
  z-index:1;
}

.exult-ws-delivery .exult-card__img{
  position:absolute;
  left:0;
  bottom:0;
  width:112%;
  height:auto;
  max-height:150%;
  z-index:2;
  display:block;
}

.exult-ws-delivery .exult-card__content{
  padding:20px;
  background:#fff;
  text-align:center;
  border-bottom-left-radius:22px;
  border-bottom-right-radius:22px;
  position: relative;
}

.exult-ws-features-internal .exult-feature-card__body {
    padding-bottom:0px;
}

.exult-ws-delivery .exult-card__title{
  margin:0;
  font-size:20px;
  line-height:1.05;
  color: var(--exult-title, #2F9E44);
  font-weight:400;
  text-align:left;
}

.exult-ws-delivery .exult-card__body{
  color:#2b2b2b;
  font-size:14px;
  line-height:1.35;
  text-align:left;
}

.exult-ws-delivery .exult-card__body ul{
    line-height:1.35;
    padding: 0 0 1em 1em;
}

.exult-ws-delivery .exult-card__actions{
  margin-top:8px;
}

.exult-ws-delivery .exult-card__btn{
  display:inline-block;
  background:transparent;
  color: var(--exult-btn, #3FA548);
  border:2px solid var(--exult-btn, #3FA548);
  border-radius:100px;
  font-family:Montserrat, Helvetica, Arial, sans-serif;
  font-size:15px;
  font-weight:500;
  padding:6px 18px;
  line-height:26px;
  text-transform:uppercase;
  margin-top:20px;
  text-decoration:none;
  box-sizing:border-box;
  transition:all 0.2s ease;
}

.exult-ws-delivery .exult-card__btn:hover{
  background: var(--exult-btn, #3FA548);
  color:#fff;
}

.exult-ws-delivery .exult-card__btn--static{
  cursor:default;
}

/* Equal height delivery option Exult cards */
.exult-ws-delivery .et_pb_row{
  display: flex;
  align-items: stretch;
  gap: 24px;
}

.exult-ws-delivery .et_pb_row > .et_pb_column{
  display: flex;
}

.exult-ws-delivery .exult-card{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.exult-ws-delivery .exult-card__content{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.exult-ws-delivery .exult-card__actions{
  margin-top: auto;
}


.ws-button-header{
    display: inline-block;
    background: transparent;
    color: #1E4FA3;
    border: 2px solid #1E4FA3;
    border-radius: 100px;
    font-family: Montserrat, Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 6px 18px;
    line-height: 26px;
    text-transform: uppercase;
    margin-top: 20px;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease;
    margin-right:5px;
}


.ws-button-header:hover{
    background: #1E4FA3;
    color: #fff;
}

.ws-button-header.ws-book-btn {
    background: #3FA548;
    color: #FFF;
    border: 2px solid #3FA548;
}

.ws-button-header.ws-book-btn:hover {
    background: transparent;
    color: #3FA548;
}

.exult-ws-overview-grid .exult-feature-card__media--image::after {
    background-image: url(https://exultnew.kaitaianettl.co.nz/wp-content/uploads/2026/02/topcurve-green.svg);
}

/* Workshop listing cards, normalise images to 3.1:2 */
.exult-ws-overview-grid .exult-feature-card__media--image{
  position: relative;
  overflow: hidden;
  height: auto; /* override the global 170px */
}

@supports (aspect-ratio: 1 / 1){
  .exult-ws-overview-grid .exult-feature-card__media--image{
    aspect-ratio: 3.1 / 2;
  }
}

@supports not (aspect-ratio: 1 / 1){
  .exult-ws-overview-grid .exult-feature-card__media--image::before{
    content: "";
    display: block;
    padding-top: 64.516%; /* 2 / 3.1 * 100 */
  }
  .exult-ws-overview-grid .exult-feature-card__img{
    position: absolute;
    inset: 0;
  }
}

.exult-ws-overview-grid .exult-feature-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}