/*
Theme Name:     We Purpose
Theme URI:      https://themeisle.com/themes/neve/
Template:       neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Custom version of Neve for use with We Purpose.tech
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
*/


button.slick-prev.slick-arrow::before {
    color: var(--nv-primary-accent) !important ;
}

button.slick-next.slick-arrow::before {
    color: var(--nv-primary-accent) !important;
}
/* ===============------ MH Styles ------=================================================================================== */
/* Primary Navigation */
.neve-mega-menu > ul {
 	top: 65%!important ; 
	font-size: 1rem ;
}
/* Arrow Image Overlay */
.arrow-element {
    width: 85%;
    aspect-ratio: 1 / 1;
    background-size: cover;
    background-position: center;
    -webkit-mask-image: url(/wp-content/uploads/2026/02/Pink-cursor.svg);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url(/wp-content/uploads/2026/02/Pink-cursor.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    margin: 0 auto;
    position: relative;
    top: 0rem;
    z-index: 10;
    transform: rotate(9deg);
}
.call-to-action-bg {
    position: relative;
    border-top-left-radius: 1.2rem!important;
    border-top-right-radius: 20rem!important;
    border-bottom-right-radius: 0.2rem!important;
	padding: 1rem!important ;
}
.call-to-action-bg > div {
	position: relative ;
}
.call-to-action-bg > div:nth-child(1) {
	z-index: 10 ;
}
.white-arrow-bg {
    background-image: url(/wp-content/uploads/2026/02/white-arrows-bg.png);
    background-repeat: no-repeat;
    background-position: 90% 0%;
    background-attachment: scroll;
    background-size: contain;
	border-top-left-radius: 1.2rem !important;
    border-top-right-radius: 20rem !important;
    border-bottom-right-radius: 0.2rem !important;
}
.simple-banner-bg {
    background-image: url(/wp-content/uploads/2026/02/white-arrows-bg.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-attachment: scroll;
    background-size: contain;
}
.simple-banner-bg > div > div {
	
}
.simple-banner-heading {
	margin-bottom: 0px ;
}
.pagebanner-image {
    max-width: 75%;
}
.smart-slider-container {
    margin-bottom: 2rem;
}
/* .homepage-banner-spacing > div {
    margin-top: 4rem !important;
	display: grid ;
	align-items: end!important;
} */
.homepage-banner-spacing > div > div:nth-child(2) > img {
	margin-bottom: -1rem;
}
.homepage-banner-spacing > div {
	display: flex ;
	align-items: flex-end ;
}
.pagebanner-container {
    display: flex ;
	align-items: center ;
}
.pagebanner-container > div:nth-child(1) {
	flex-grow: 3 ;
}
.pagebanner-container > div:nth-child(2) {
	text-align: center ;
	flex-grow: 1 ;
}
.pagebanner-spacing {
	margin: 4rem 0rem ;
}
.pagebanner-text > h1, .pagebanner-text > p {
    color: var(--nv-text-color);
}
.pagebanner-text {
/*     width: 70%; */
}
/* Blog Single */
.nv-index-posts, .nv-single-post-wrap {
    margin-bottom: 0rem!important;
}
/* Blog Archive */
.article-content-col > .content h2 {
    min-height: 5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.article-content-col > .content ul {
	font-weight: 500 ;
}
/* Our Potential Page */
.post-feed-potential > div > div > div > div > a > img {
	object-fit: contain!important ;
}
/* How we Work 4 D's block */
.four-ds-grid {
	grid-gap: .25rem ;
}
.four-ds-grid > div > div > h3 {
	margin-bottom: 1rem ;
}
/* News Feed */
.posts-slider {
    margin-top: 2rem ;
    padding-bottom: 2rem;
}
.posts-slider > .slick-prev, .posts-slider > .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 1.3rem;
    height: 1.3rem;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
/*     background: var(--nv-primary-accent); */
}

.slick-list.draggable {
    margin-left: 10px ;
    margin-right: 10px ;
}

/* .posts-slider > .slick-prev:hover, .posts-slider > .slick-prev:focus, .posts-slider > .slick-next:hover, .posts-slider > .slick-next:focus {
    color: var(--nv-secondary-accent)!important;
    outline: none;
    background: var(--nv-primary-accent)!important;
} */
.set-background-colors {
    background: linear-gradient(to top, var(--nv-primary-accent) 40%, transparent 40%);
}
.news-item {
    border-radius: .2rem;
    overflow: hidden;
    box-shadow: 0 .1rem .4rem var(--custom-6);
    margin: 1rem;
    border-radius: 1rem;
    background-color: var(--nv-site-bg);
}
.news-item > div:first-child {
    width: 100%;
    aspect-ratio: 16 / 9; /* Keeps all images same height */
    overflow: hidden;
}
.news-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.news-item > div:last-child {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: .5rem ;
}
.news-item h2 {
    font-size: 1.5rem;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4rem;
}
.news-item p:first-of-type {
    font-size: 1rem;
    color: var(--nv-text-color);
    filter: opacity(0.9);
    margin: 0 0 10px;
    font-weight: 500;
}
.news-item p:nth-of-type(2) {
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 1rem;
    min-height: 6rem;
}
.news-item button {
    align-self: flex-start ;
    min-height: 2rem ;
}
.entry-summary > p {
    min-height: 7rem ;
}
/* Purpose Banner */
.hero-container {
    background: var(--nv-primary-accent) ;
    color: var(--nv-text-dark-color) ;
    text-align: center ;
    padding: 6.1rem 1.2rem 7.7rem ;
    position: relative ;
	margin: 0rem -1rem ;
}
.hero-container h2{
    margin-bottom: 1rem ;
	color: var(--nv-text-dark-bg) ;
}
.hero-btn {
    background-color: var(--nv-primary-accent) !important;
    color: var(--nv-text-dark-bg) !important;
}
.hero-btn:hover {
    background-color: var(--nv-dark-bg) !important;
    color: var(--nv-text-dark-bg) !important;
}
.curvesvg {
    position:absolute;
    bottom:-1px;
    left:0;
    width:100% ;
    height:8rem  ;
    fill: var(--nv-site-bg) ;
}
/* Button Hover Animation - Dark */
.wepurpose-btn-effect {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
    color: var(--nv-dark-bg) !important ;
    transition: color 0.40s ease !important ;
}
.wepurpose-btn-effect::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: var(--nv-dark-bg) !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}
.wepurpose-btn-effect:hover::before,
.wepurpose-btn-effect:focus-visible::before {
    transform: scaleX(1) !important ;
}
.wepurpose-btn-effect:hover,
.wepurpose-btn-effect:focus-visible {
    color: #fff !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
}
/* Button Hover Animation - White*/
.wepurpose-btn-effect-white {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid var(--nv-text-dark-bg) !important ;
    color: var(--nv-text-dark-bg) !important ;
    transition: color 0.40s ease !important ;
}
.wepurpose-btn-effect-white::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: var(--nv-dark-bg) !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}
.wepurpose-btn-effect-white:hover::before,
.wepurpose-btn-effect-white:focus-visible::before {
    transform: scaleX(1) !important ;
}
.wepurpose-btn-effect-white:hover,
.wepurpose-btn-effect-white:focus-visible {
    color: #fff !important ;
    border: 2px solid var(--nv-text-dark-bg) !important ;
}
/* Page Banner Smart Slider */
.page-banner-title > h1 {
    font-size: 4rem !important;
    font-family: var(--headingsfontfamily) !important;
    font-weight: 600 !important;
    color: var(--nv-text-dark-bg) !important;
    text-shadow: .1rem .1rem var(--nv-text-color) !important;
}
/* Archive Banners */
.shop-banner-heading-title > div {
    font-size: 4rem !important;
    font-family: var(--headingsfontfamily) !important;
    font-weight: 600 !important;
    color: var(--nv-text-dark-color) !important;
}
.shop-banner-subtext > div > div > p {
    font-size: 1.2rem !important;
    font-family: var(--bodyfontfamily) !important;
    color: var(--nv-text-dark-color) !important;
}
/* Testimonial Block */
.testimonial-block-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
	padding: 
}
.testimonial-block-container > div {
    margin: 2rem;
    border: .3rem solid var(--nv-text-color);
    border-radius: 1.1rem;
    padding: 2rem 3rem;
    background-color: var(--nv-site-bg);
}
.background-block-colour {
    background-color: var(--custom-5);
/* 	margin-bottom: 2.5rem ; */
}
.testimonial-title {
    text-align: center;
    padding: 2rem 0rem;
}
.testimonial-block-container > div > h2 > a {
	text-decoration: none ;
	color: var(--nv-text-color) ;
}
/* Product Archive */
.woocommerce ul.products li.product > div {
    display: grid;
    grid-template-columns: .5fr 1fr;
    align-items: center;
}
.woocommerce .nv-shop ul.products:not(.tns-slider) li.product {
	padding: .4rem!important ;
	box-shadow: 2px 2px 12px -5px var(--custom-6) ;
    border-radius: 1rem ;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    max-height: 5rem;
    overflow: hidden;
}
/* Hide Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
    display: none ;
}
/* Search Elements */
article.layout-grid .article-content-col {
    margin: .2rem ;
}
/* Single Product */
span.sku_wrapper {
    display: none;
}
.woocommerce div.product div.images {
    width: 35% !important;
}
.woocommerce div.product div.summary {
    width: 65%!important;
}
.footer-logo-socials > div {
	    text-align: -webkit-right;
}
@media (max-width: 1400px) {
	.call-to-action-top-container {
    	margin: -1rem;
	}
}
@media (max-width: 1200px) and (min-width: 960px) {
    .products .product h2 {
        font-size: 1rem !important;
        padding-bottom: 0px !important;
    }
    .products .product .price {
        margin-top: auto;
        font-size: .7rem !important;
    }
}
@media (max-width: 960px) {
	.pagebanner-container {
		flex-direction: column-reverse;
	}
	.curved-banner-image {
    	position: unset;
    	padding: 0px !important;
	}
/* 	Header */
	.neve-mm-divider {
		display: none!important ;
	}
/* 	Footer */
	#block-20 > footer {
		display: flex ;
		align-items: flex-start ;
		justify-content: center ;
	}
	.footer-logo-socials > div > ul {
		margin: 1rem 0rem;
	}
	.footer-logo-socials > div {
		text-align: center !important;
	}
}
@media (max-width: 768px) {
	.woocommerce div.product div.images {
    	width: 60% !important;
		margin: 0 auto ;
	}
	.woocommerce div.product div.summary {
    	width: 100%!important;
	}
	.woocommerce ul.products li.product > div {
		display: grid;
		grid-template-columns: .2fr 1.8fr;
		align-items: center;
	}
	.call-to-action-bg {
		position: relative;
		border-top-left-radius: .2rem!important;
		border-top-right-radius: 5rem!important;
		border-bottom-right-radius: .2rem!important;
	}
	.white-arrow-bg {
		border-top-left-radius: .2rem!important;
		border-top-right-radius: 5rem!important;
		border-bottom-right-radius: .2rem!important;
	}
	.four-ds-grid {
		display: grid!important ;
		grid-template-columns: 1fr!important ;
	}
}
@media (max-width: 600px) {
	.woocommerce ul.products li.product > div {
        display: grid;
        grid-template-columns: .5fr 2fr;
        align-items: center;
    }
    .arrow-element {
        width: 12rem;
        position: absolute;
        top: -5rem;
        left: 0rem;
    }
	.pagebanner-text {
    	width: 100%;
	}
	.call-to-action-bg > div:nth-child(2) {
        position: absolute ;
		z-index: 5 ;
		filter: opacity(0.4) ;
    }
	.testimonial-block-container {
		display: grid;
		grid-template-columns: 1fr;
	}
	.purpose-banner > div::after {
		content: url(/wp-content/uploads/2026/03/Curve-Wide-ccc3e7.svg);
		position: absolute;
		top: 0rem;
		width: 100%;
		z-index: -1;
		border-top: 20vh solid var(--nv-primary-accent);
}
	h2.woocommerce-loop-product__title {
		width: 70%;
	}
	.homepage-banner-spacing > div > div:nth-child(2) > img {
    	margin-bottom: 0!important;
	}
	.hero-container {
    	margin: -.7rem!important;
	}
	.custom-breadcrumb {
		display: flex;
		flex-wrap: wrap;
	}
}
@media (max-width: 375px) {
	.call-to-action-bg {
		display: flex ;
		flex-direction: column ;
	}
	.arrow-element {
        width: 12rem;
        position: relative;
		top: 0 ;
		left: 0 ;
    }
	.woocommerce div.product div.images {
    	width: 80% !important;
		margin: 0 auto ;
	}
}


/* ===============------ RM Styles ------=================================================================================== */
/* Ryan's Stylesheet - to be merged at end of development */

/*==========  Button Hover Slide Effect Start ==========  */

.wp-block-button.is-style-primary .wp-block-button__link {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
    color: var(--nv-dark-bg) !important ;
    transition: color 0.40s ease !important ;
}

.wp-block-button.is-style-primary .wp-block-button__link::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: var(--nv-dark-bg) !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}

.wp-block-button.is-style-primary .wp-block-button__link:hover::before,
.wp-block-button.is-style-primary .wp-block-button__link:focus-visible::before {
    transform: scaleX(1) !important ;
}

.wp-block-button.is-style-primary .wp-block-button__link:hover,
.wp-block-button.is-style-primary .wp-block-button__link:focus-visible {
    color: #fff !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
}

/*========== Button Hover Slide Effect End ==========  */


/*========== Case Studies Border Start ==========  */

.wp-block-group.case-studies-border {
    border: 0.2rem solid var(--nv-primary-accent) ;
    padding: 50px ;
    border-radius: 15px ;
}

h1.title.entry-title {
    color: var(--nv-site-bg) ;
}
/*========== Case Studies Border End ==========  */

/*========== Breakcrumb Start ==========  */

        .custom-breadcrumb-wrap {
            background: var(--custom-5) ;
            padding: 14px 0 ;
            font-size: 15px ;
        }

        .custom-breadcrumb {
            display: flex ;
            align-items: center ;
            gap: 10px ;
            font-weight: 500 ;
        }

        .custom-breadcrumb a {
            text-decoration: none ;
            color: var(--nv-dark-bg) ;
            transition: opacity 0.2s ease ;
        }

        .custom-breadcrumb a:hover {
            opacity: 0.7 ;
        }

        .custom-breadcrumb .separator {
            color: #7a7a7a ;
        }

        .custom-breadcrumb .current {
            font-weight: 700 ;
            color: var(--nv-dark-bg) ;
        }

/*========== Breakcrumb End ==========  */

/* Overall section */
.testimonial-slider-wrap--minimal {
    position: relative !important;
    margin: 4rem 0 !important;
    padding: 1rem 0 !important;
}

/* Small top label */
.testimonial-slider-eyebrow {
    max-width: 980px !important;
    margin: 0 auto 2.5rem !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    color: #6f6f6f !important;
    text-align: left !important;
}

/* Slider wrapper */
.testimonial-slick-slider--single {
    max-width: 980px !important;
    margin: 0 auto !important;
}

/* Each slide */
.testimonial-slide-item {
    padding: 0 4.5rem !important;
    box-sizing: border-box !important;
}

/* Minimal centered layout */
.testimonial-minimal-item {
    min-height: 260px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    padding: 1rem 0 !important;
}

/* Logo */
.testimonial-client-logo-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 1.25rem !important;
    min-height: 72px !important;
}

.testimonial-client-logo-link {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-decoration: none !important;
}

.testimonial-client-logo {
    max-width: 180px !important;
    max-height: 70px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Quote mark */
.testimonial-quote-mark {
    margin: 0 0 0.5rem !important;
    font-size: 4.5rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #e5468b !important;
}

/* Testimonial body */
.testimonial-content {
    max-width: 860px !important;
    margin: 0 auto !important;
}

.testimonial-content p {
    margin: 0 !important;
    font-size: clamp(1.15rem, 1.6vw, 1.45rem) !important;
    line-height: 1.7 !important;
    color: #2f6686 !important;
    font-weight: 400 !important;
}

/* Name + website */
.testimonial-client-meta {
    margin-top: 1rem !important;
    text-align: center !important;
}

.testimonial-client-name {
    margin: 0 !important;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #2f6686 !important;
}

.testimonial-client-name::before {
    content: "- " !important;
}

.testimonial-client-name a {
    color: inherit !important;
    text-decoration: none !important;
}

.testimonial-client-name a:hover {
    text-decoration: underline !important;
}

.testimonial-client-website {
    margin-top: 0.35rem !important;
}

.testimonial-client-website a {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    color: #6f6f6f !important;
    text-decoration: none !important;
    word-break: break-word !important;
}

.testimonial-client-website a:hover {
    text-decoration: underline !important;
}

/* Slick structure */
.testimonial-slick-slider .slick-list {
    overflow: hidden !important;
}

.testimonial-slick-slider .slick-track {
    display: flex !important;
    align-items: center !important;
}

.testimonial-slick-slider .slick-slide {
    height: auto !important;
}

.testimonial-slick-slider .slick-slide > div {
    height: 100% !important;
}

/* Buttons */
.testimonial-slick-slider .slick-prev,
.testimonial-slick-slider .slick-next {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
/*     background: #2f6686 !important; */
    border: none !important;
    box-shadow: none !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


.testimonial-slick-slider .slick-prev {
    left: 0 !important;
}

.testimonial-slick-slider .slick-next {
    right: 0 !important;
}

.testimonial-slick-slider .slick-prev:before,
.testimonial-slick-slider .slick-next:before {
    font-size: 24px !important;
    color: var(--nv-primary-accent);
    opacity: 1 !important;
    font-family: "slick" !important;
}

/* Remove dots completely */
.testimonial-slick-slider .slick-dots {
    display: none !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .testimonial-slide-item {
        padding: 0 3.5rem !important;
    }

    .testimonial-content p {
        font-size: 1.1rem !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .testimonial-slider-wrap--minimal {
        margin: 2.5rem 0 !important;
    }

    .testimonial-slider-eyebrow {
        margin: 0 auto 1.5rem !important;
        padding: 0 1rem !important;
        text-align: center !important;
    }

    .testimonial-slick-slider--single {
        max-width: 100% !important;
    }

    .testimonial-slide-item {
        padding: 0 2.75rem !important;
    }

    .testimonial-minimal-item {
        min-height: 220px !important;
        padding: 0.5rem 0 !important;
    }

    .testimonial-client-logo {
        max-width: 140px !important;
        max-height: 56px !important;
    }

    .testimonial-quote-mark {
        font-size: 3.5rem !important;
        margin-bottom: 0.35rem !important;
    }

    .testimonial-content p {
        font-size: 1rem !important;
        line-height: 1.65 !important;
    }

    .testimonial-client-name {
        font-size: 1.1rem !important;
    }

    .testimonial-client-website a {
        font-size: 0.85rem !important;
    }

    .testimonial-slick-slider .slick-prev,
    .testimonial-slick-slider .slick-next {
        width: 38px !important;
        height: 38px !important;
    }

    .testimonial-slick-slider .slick-prev:before,
    .testimonial-slick-slider .slick-next:before {
        font-size: 18px !important;
    }
}

/* ==================== Secondary Button Slide Effect Start ==================== */

.wp-block-button.is-style-secondary .wp-block-button__link {
    position: relative !important ;
    overflow: hidden !important ;

    /* Lock background so theme can't override it */
    background-color: var(--nv-secondary-accent) !important ;

    /* Sliding layer */
    background-image: linear-gradient(var(--nv-dark-bg), var(--nv-dark-bg)) !important ;
    background-repeat: no-repeat !important ;
    background-size: 0% 100% !important ;
    background-position: left center !important ;
    transition: background-size 0.40s ease, color 0.40s ease !important ;
}

/* Hover: animate IN */
.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-secondary .wp-block-button__link:focus-visible {
    background-size: 100% 100% !important ;
    color: #ffffff !important ;
}
/* ==================== Secondary Button Slide Effect End ==================== */


/* ==================== Team Slick Slider Start ==================== */
h2.team-slick-header {
    text-align: center ;
}

/* Card becomes a proper tile */
.team-slick-card {
    display: block ;
    padding: 0 ;
    overflow: hidden ;
    border-radius: 18px ;
    box-shadow: 0 12px 26px rgba(0,0,0,0.14) ;
    background: #ffffff ;
    height: 100% ;
    text-decoration: none ;
    color: inherit ;
}

/* Optional hover/focus state for linked card */
.team-slick-card:hover,
.team-slick-card:focus {
    text-decoration: none ;
    color: inherit ;
}

/* Make the image full-width at the top */
.team-slick-image-wrap {
    margin: 0 ;
    text-align: left ;
}

/* Force a consistent hero image height + crop nicely */
.team-slick-image {
    width: 100%;
    max-width: none;
    max-height: none;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    aspect-ratio: 16 / 9;
}

/* Bottom panel like the teal block */
.team-slick-meta {
    margin: 0 ;
    padding: 22px 18px 20px ;
    text-align: center ;
    background: #0F5C73 ;
    line-height: 1.25 ;
}

/* Name and role in white */
.team-slick-name {
    margin: 0 ;
    color: #ffffff ;
    font-weight: 800 ;
    font-size: 1.65rem ;
    letter-spacing: 0.2px ;
}

.team-slick-role {
    margin: 10px 0 0 ;
    color: #ffffff ;
    opacity: 0.95 ;
    font-weight: 600 ;
    font-size: 1rem ;
}

/* Slightly nicer spacing between slides */
.team-slick-slide {
    padding: 0 0.9rem ;
}

/* Keep arrows visible outside */
.team-slick-slider {
    margin: 0 3.25rem ;
}

.team-slick-slider .slick-dots {
    bottom: -2.25rem ;
}

/* Responsive tweaks */
@media (max-width: 960px) {
    .team-slick-image {
        height: 240px ;
    }
}

@media (max-width: 600px) {
    .team-slick-slider {
        margin: 0 1.25rem ;
    }
    .team-slick-image {
        height: 240px ;
    }
}

/* Arrows (slide selector) */
.team-slick-slider .slick-prev,
.team-slick-slider .slick-next {
    z-index: 10 ;
    width: 36px ;
    height: 36px ;
}

.team-slick-slider .slick-prev {
    left: -40px ;
}

.team-slick-slider .slick-next {
    right: -40px ;
}

.team-slick-slider .slick-prev:before,
.team-slick-slider .slick-next:before {
    color: #000 ;
    opacity: 1 ;
    font-size: 20px ;
}

@media (max-width: 900px) {
    .team-slider-parent {
        margin-left: 40px ;
        margin-right: 40px ;
    }
}
/* ==================== Team Slick Slider End ==================== */


/* ==================== Add to basket button slide animation Start ==================== */
.single_add_to_cart_button.button.alt {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
    color: var(--nv-dark-bg) !important ;
    transition: color 0.40s ease !important ;
}

.single_add_to_cart_button.button.alt::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: var(--nv-dark-bg) !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}

.single_add_to_cart_button.button.alt:hover::before,
.single_add_to_cart_button.button.alt:focus-visible::before {
    transform: scaleX(1) !important ;
}

.single_add_to_cart_button.button.alt:hover,
.single_add_to_cart_button.button.alt:focus-visible {
    color: #fff !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
}

/* ==================== Add to basket Button Slide Animation End ==================== */


/* ==================== WooCommerce Proceed to Checkout Start ==================== */

/* WooCommerce Cart / Checkout button animation */
.wc-block-components-button {
    position: relative !important ;
    overflow: hidden !important ;

    /* Base colour */
    background-color: var(--nv-secondary-accent) !important ;
    color: var(--nv-dark-bg) !important ;

    /* Sliding overlay layer */
    background-image: linear-gradient(var(--nv-dark-bg), var(--nv-dark-bg)) !important ;
    background-repeat: no-repeat !important ;
    background-size: 0% 100% !important ;
    background-position: left center !important ;

    transition: background-size 0.40s ease, color 0.40s ease !important ;
}

/* Hover animation */
.wc-block-components-button:hover,
.wc-block-components-button:focus-visible {
    background-size: 100% 100% !important ;
    color: #ffffff !important ;
}

/* Ensure inner text stays above the overlay */
.wc-block-components-button__text {
    position: relative !important ;
    z-index: 2 !important ;
}

/* ==================== WooCommerce Proceed to Checkout End ==================== */


/* ==================== Product Slick Slider ==================== */

.related-product-card {
    display: flex ;
    align-items: center ;
    gap: 20px ;
}

.related-product-image-wrap {
    flex: 0 0 auto ;
    display: flex ;
    align-items: center ;
}

.related-product-image-wrap img {
    display: block ;
}

.related-product-content {
    display: flex ;
    flex-direction: column ;
    justify-content: center ;
}

.related-product-title,
.related-product-price {
    margin: 0 ;
}

.related-product-title {
    margin-bottom: 8px ;
}

.related-product-slider-wrap {
    padding-left: 5% ;
    padding-right: 5% ;
}

.related-product-slick-slider.slick-initialized.slick-slider.slick-dotted {
    padding-left: 2.5% ;
    padding-right: 2.5% ;
}

.related-product-slick-slider .related-product-slide-item {
	box-sizing: border-box ;
	padding: 10px ;
}

.related-product-slick-slider .related-product-card {
	display: flex ;
	align-items: flex-start ;
	gap: 1rem ;
	padding: 1rem ;
	background: #fff ;
	border-radius: 16px ;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08) ;
	height: 100% ;
}

.related-product-slick-slider .related-product-image-wrap {
	flex: 0 0 clamp(70px, 18vw, 110px) ;
	width: clamp(70px, 18vw, 110px) ;
	aspect-ratio: 1 / 1 ;
	display: flex ;
	align-items: center ;
	justify-content: center ;
	overflow: hidden ;
	border-radius: 10px ;
	background: #fff ;
}

.related-product-slick-slider .related-product-image-wrap img {
	display: block ;
	width: 100% ;
	height: 100% ;
	object-fit: contain ;
}

.related-product-slick-slider .related-product-content {
	flex: 1 1 auto ;
	min-width: 0 ;
	display: flex ;
	flex-direction: column ;
	justify-content: flex-start ;
}

.related-product-slick-slider .related-product-title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.1rem, 1.8vw, 1.35rem) ;
	line-height: 1.05 ;
}

.related-product-slick-slider .related-product-title a {
	color: #0e5f87 ;
	text-decoration: none ;
}

/* .related-product-slick-slider .related-product-title a:hover {
	text-decoration: underline ;
} */

.related-product-slick-slider .related-product-price {
	margin: 0 ;
	font-size: clamp(1rem, 1.4vw, 1.2rem) ;
	line-height: 1.2 ;
	color: #0e5f87 ;
}

.related-product-slick-slider .related-product-button {
	margin-top: 0.75rem ;
}

.related-product-slick-slider .related-product-button .add_to_cart_button,
.related-product-slick-slider .related-product-button .added_to_cart,
.related-product-slick-slider .related-product-button .product_type_variable,
.related-product-slick-slider .related-product-button .single_add_to_cart_button,
.related-product-slick-slider .related-product-button a.button {
	display: inline-flex ;
	align-items: center ;
	justify-content: center ;
	padding: 0.65rem 1rem ;
	border: 2px solid #0e5f87 ;
	border-radius: 10px ;
	background: transparent ;
	color: #0e5f87 ;
	font-size: 0.95rem ;
	font-weight: 700 ;
	line-height: 1 ;
	text-decoration: none ;
	box-shadow: none ;
	white-space: nowrap ;
}

.related-product-slick-slider .related-product-button .add_to_cart_button:hover,
.related-product-slick-slider .related-product-button .added_to_cart:hover,
.related-product-slick-slider .related-product-button .product_type_variable:hover,
.related-product-slick-slider .related-product-button .single_add_to_cart_button:hover,
.related-product-slick-slider .related-product-button a.button:hover {
	background: #0e5f87 ;
	color: #fff ;
}

ul.slick-dots {
    margin: 0px !important ;
}

@media (max-width: 575px) {
	.related-product-slick-slider .related-product-card {
		padding: 0.85rem ;
		gap: 0.75rem ;
	}

	.related-product-slick-slider .related-product-image-wrap {
		flex-basis: 72px ;
		width: 72px ;
	}

	.related-product-slick-slider .related-product-button .add_to_cart_button,
	.related-product-slick-slider .related-product-button .added_to_cart,
	.related-product-slick-slider .related-product-button .product_type_variable,
	.related-product-slick-slider .related-product-button .single_add_to_cart_button,
	.related-product-slick-slider .related-product-button a.button {
		width: 100% ;
	}
}
h3.related-product-title{
	min-height: 75px ;
}

/* ==================== Product Slick Slider End ==================== */


/* slick slider styling */
button.slick-prev.slick-arrow::before {
    color: var(--nv-primary-accent) !important ;
	  margin-right: 10px ;
	
}

button.slick-next.slick-arrow::before {
    color: var(--nv-primary-accent) !important;
}









/* call to action curved block */
.wp-block-button.is-style-default .wp-block-button__link {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid #ffffff !important ;
    color: #ffffff !important ;
    transition: color 0.40s ease !important ;
}

.wp-block-button.is-style-default .wp-block-button__link::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: #ef4687 !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}

.wp-block-button.is-style-default .wp-block-button__link:hover::before,
.wp-block-button.is-style-default .wp-block-button__link:focus-visible::before {
    transform: scaleX(1) !important ;
}

.wp-block-button.is-style-default .wp-block-button__link:hover,
.wp-block-button.is-style-default .wp-block-button__link:focus-visible {
    color: #ffffff !important ;
    border: 2px solid #ffffff !important ;
}

/* call to action banner */
.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid #ffffff !important ;
    color: #ffffff !important ;
    transition: color 0.40s ease !important ;
}

.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: #ef4687 !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}

.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link:hover::before,
.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link:focus-visible::before {
    transform: scaleX(1) !important ;
}

.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link:hover,
.wp-block-buttons.is-content-justification-right .wp-block-button .wp-block-button__link:focus-visible {
    color: #ffffff !important ;
    border: 2px solid #ffffff !important ;
}


/* news read more */
.read-more-wrapper .button.button-primary {
    position: relative !important ;
    overflow: hidden !important ;
    z-index: 0 !important ;
    background: transparent !important ;
    background-color: transparent !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
    color: var(--nv-dark-bg) !important ;
    transition: color 0.40s ease !important ;
}

.read-more-wrapper .button.button-primary::before {
    content: "" !important ;
    position: absolute !important ;
    inset: 0 !important ;
    transform: scaleX(0) !important ;
    transform-origin: left center !important ;
    background: var(--nv-dark-bg) !important ;
    z-index: -1 !important ;
    transition: transform 0.40s ease !important ;
}

.read-more-wrapper .button.button-primary:hover::before,
.read-more-wrapper .button.button-primary:focus-visible::before {
    transform: scaleX(1) !important ;
}

.read-more-wrapper .button.button-primary:hover,
.read-more-wrapper .button.button-primary:focus-visible {
    color: #ffffff !important ;
    border: 2px solid var(--nv-dark-bg) !important ;
}


/* ===============------ LDC Style ------=================================================================================== */
/* pipe styling */
.builder-item--primary-menu .primary-menu-ul > li:not(:last-child)::after {
    content: "|" ;
    margin-left: 1rem ;
}

/* pipes sit inline with nav bar */
.builder-item--primary-menu .primary-menu-ul > li {
    display: flex ;
    align-items: center; /* ensures the pipe is vertically centered with the text */
}

/* mobile horizontal pipes */
@media (max-width: 960px) {
    .builder-item--primary-menu .primary-menu-ul li {
        display: block ;
        width: 100% ;
        position: relative ; 
    }

    /* dropdown arrow */
    .builder-item--primary-menu .primary-menu-ul li .sub-menu-toggle {
        position: absolute !important ;
        right: 10px !important ;
        top: 50% ;
        transform: translateY(-50%) ;
        margin: 0 !important ;
        z-index: 2 ;
    }

    /* no indentation for dropdown items */
    .builder-item--primary-menu .primary-menu-ul .sub-menu {
        padding-left: 0 !important ;
        margin-left: 0 !important ;
    }

    .builder-item--primary-menu .primary-menu-ul li:not(:last-child)::after {
        content: "" ; 
        display: block ;
        width: 100% ;    
        height: 1px ;
        background-color: var(--nv-dark-bg) ; 
        transform: scaleY(0.5) ; 
    }

    .builder-item--primary-menu .primary-menu-ul li {
        display: block ;
    }
}

.white-text {
	color: var(--nv-site-bg) ;
}

/* case studies */
.related-posts-feed-container + h2, 
h2:has(+ .related-posts-feed-container),
.related-posts-feed-container-title {
    text-align: center ;
    margin-bottom: 30px ;
    width: 100% ;
}

.related-posts-feed-container {
    display: flex ;
    justify-content: center ;
    gap: 20px ;
    max-width: 900px ;
    margin: 0 auto 60px ;
}

.related-post-item {
    flex: 0 1 350px ;
    height: 200px ;
    position: relative ;
    overflow: hidden ;
    border-radius: 12px ;
    background: #000 ;
}

.related-post-image {
    width: 100% ;
    height: 100% ;
    object-fit: cover ;
    opacity: 0.8 ;
    transition: opacity 0.3s ease-in-out ;
}

/* brighter img for hover */
.related-post-item:hover .related-post-image {
    opacity: 1 ;
}

/* title styling */
.related-post-title {
    position: absolute ;
    bottom: 0 ;
    left: 0 ;
    width: 100% ;
    padding: 20px ;
    color: var(--nv-site-bg) !important ;
    margin: 0 ;
    background: linear-gradient(transparent, rgba(0,0,0,0.8)) ;
    font-size: 1.1rem ;
}

/* related case studies styling section for mobile */
@media (max-width: 768px) {
    .related-posts-feed-container {
        flex-direction: column ;
        align-items: center ;
    }
    .related-post-item {
        width: 100% ;
        max-width: 350px ;
        height: 200px ;
    }
}

/* contact forms styling */
.fluentform .ff-el-tc {
    color: #195D7A !important ;
}

/* colour of form inputs */
.fluentform input[type="text"], 
.fluentform input[type="email"], 
.fluentform textarea, 
.fluentform select {
    border: 3px solid var(--nv-dark-bg) !important ; 
    border-radius: 10px ;
}

.fluentform ::placeholder {
    color: var(--ng-dark-bg) !important ;
    opacity: 0.8 !important ; 
}

/* button colour */
.ff-btn-submit, .ff_step_nav_last button {
    background-color: var(--nv-primary-accent) !important ; 
	border: none ;
}

/* hover colour for button */
.ff-btn-submit:hover {
    background-color: var(--nv-secondary-accent) !important ; 
}

/* hover colour for button */
.ff_step_nav_last button:hover {
    background-color: var(--nv-secondary-accent) !important ; 
}

/* links inside paragraphs */
.entry-content > p a {
    color: var(--nv-dark-bg) !important ;
}
 
/* pink highlight only on paragraph links */
.entry-content p a:hover {
    background-color: rgba(239, 70, 135, 0.3) !important ;
    text-decoration: underline !important ;
    border-radius: 2px !important ;
}

/* highlight colours */
::selection {
    background-color: var(--nv-primary-accent) !important ; 
    color: var(--nv-site-bg) !important ;
}

/* cart */
.wc-block-cart-items {
    border: none !important ;
}

/* product card */
.wc-block-cart-items__row {
    border-radius: 20px !important ;
    margin-bottom: 25px !important ;
    box-shadow: 0 15px 40px rgba(25, 93, 122, 0.2) !important ; 
    display: flex !important ;
    position: relative !important ;
    flex-direction: row !important ; 
    align-items: center !important ; 
    gap: 15px !important ; 
}

.wc-block-cart-items__header {
    display: none !important ;
}

/* products title */
.wc-block-components-product-name {
    color: var(--nv-text-color) !important ;
    font-weight: bold !important ;
}

/* pink sidebar styles */
.wc-block-cart__sidebar {
    background-color: #fcecf2 !important ;
    padding: 30px !important ;
    border-radius: 20px !important ;
    height: fit-content !important ; 
    align-self: flex-start !important ; 
}

/* checkout button */
.wc-block-cart__submit-button {
    background-color: var(--nv-primary-accent) !important ; 
    color: var(--nv-site-bg) !important ;
    border-radius: 20px !important ; 
    font-weight: bold !important ;
    font-size: 1rem !important ;
    padding: 12px 25px !important ;
}

/* hide remove item link */
.wc-block-cart-item__remove-link {
    font-size: 0 !important ;
    text-decoration: none !important ;
    position: absolute !important ;
    top: 0 !important ;
    right: 0 !important ;
    z-index: 10 !important ;
    width: 32px !important ;
    height: 32px !important ;
}

.wc-block-cart-item__remove-link::before {
    /* X button */
    content: "✕" !important ;
    color: var(--nv-site-bg) !important ; 
    font-size: 16px !important ;
    font-weight: bold !important ;
    
    /* blue box */
    display: flex !important ;
    align-items: center !important ;
    justify-content: center !important ;
    width: 32px !important ; 
    height: 32px !important ;
    background-color: var(--nv-dark-bg) !important ; 
    border-radius: 0 20px 0 6px !important ; 
    position: absolute !important ;
    top: 0 !important ;
    right: 0 !important ;
}

/* hover turns pink */
.wc-block-cart-item__remove-link:hover::before {
    background-color: var(--nv-primary-accent) !important ;
    color: var(--nv-site-bg) !important ;
}

.wc-block-cart-item__image {
    margin-bottom: 0 !important ; /* removes gap below image */
    width: 120px !important ;
}

/* coupons button */
.wc-block-components-totals-coupon__button {
    height: auto !important ;
    padding: 8px 18px !important ;
    font-size: 14px !important ; 
    box-shadow: none !important ;
    border: none !important ;
    cursor: pointer !important ;
}

/* text on coupon button white */
.wc-block-components-totals-coupon__button .wc-block-components-button__text {
    color: var(--nv-site-bg) !important ;
    opacity: 1 !important ;
}

/* hand cursor on coupon button */
.wc-block-components-totals-coupon__form button {
    cursor: pointer !important ;
    pointer-events: auto !important ; 
}

/* coupon button hover */
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon__button:focus {
    background-color: var(--nv-secondary-accent) !important ; 
}

/* remove seperator lines */
.wc-block-cart-items__row td {
    border-top: none !important ;
    border-bottom: none !important ;
}

/* hides duplicate price at bottom of product card */
.wc-block-cart-items__row .wc-block-cart-item__total {
    display: none !important ;
}

/* reduce padding on the image */
.wc-block-cart-item__image,
.wc-block-cart-item__product {
    padding-top: 10px !important ; 
    padding-bottom: 5px !important ;
}

/* new in store section styling */
.wc-block-grid__products {
    display: flex !important ;
    flex-wrap: nowrap !important ; /* prevents wrapping to a second row */
    gap: 20px !important ; /* spacing between cards */
    justify-content: space-between !important ;
    padding: 30px 0 !important ;
    list-style: none !important ;
}

.wc-block-grid__product {
    flex: 0 0 calc(25% - 15px) !important ; 
    padding: 20px !important ;
    border-radius: 20px !important ;
    box-shadow: 0 15px 40px rgba(25, 93, 122, 0.1) !important ;
    display: flex !important ;
    flex-direction: column !important ;
    overflow: hidden !important ;
    background: #ffffff !important ;
    box-sizing: border-box !important ;
}

.wc-block-grid__product-image {
    margin-bottom: 10px !important ;
}

.wc-block-grid__product-image img {
    transition: transform 0.5s ease !important ;
    width: 100% !important ;
    height: auto !important ;
}

.wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.1) !important ;
}

/* mobile */
@media (max-width: 768px) {
    /* add padding to the left side of the product card */
    .wc-block-cart-items__row {
        padding-left: 25px !important ;
        padding-right: 25px !important ; 
    }
}

/* empty cart text and icon */
.wc-block-cart__empty-cart__title {
    color: var(--nv-primary-accent) !important ;
}

.wc-block-cart__empty-cart__title::before {
    color: var(--nv-primary-accent) !important ;
    font-size: 0.8em !important ;
}



/* banner branding */
.wc-block-components-notice-banner,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background-color: var(--nv-dark-bg) !important ;
    border-radius: 15px !important ;
    color: var(--nv-site-bg) !important ;
    padding: 20px !important ;
    display: flex !important ;
    align-items: center !important ;
    border: none !important ;
    box-shadow: none !important ; 
    list-style: none !important ; 
    position: relative !important ;
}

/* X button */
.wc-block-components-notice-banner__dismiss.contained {
    background-color: var(--nv-site-bg) !important ;
    color: var(--nv-primary-accent) !important ; 
    border-radius: 6px !important ; 
    width: 32px !important ;
    height: 32px !important ; 
    display: flex !important ;
    align-items: center !important ;
    justify-content: center !important ;
    padding: 0 !important ;
    border: none !important ;
    opacity: 1 !important ;
    transition: transform 0.2s ease !important ;
    min-width: 32px !important ; 
    margin-left: auto !important ;
}

/* X icon styling */
.wc-block-components-notice-banner__dismiss.contained svg {
    fill: none !important ; 
    stroke: var(--nv-primary-accent) !important ; 
    stroke-width: 3px !important ; 
    width: 14px !important ;
    height: 14px !important ;
}

.wc-block-components-notice-banner__dismiss.contained:hover {
    transform: scale(1.1) !important ;
}

/* icon styling */
.wc-block-components-notice-banner > svg,
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
    order: -1 !important ; 
    background-color: var(--nv-site-bg) !important ; 
    border-radius: 50% !important ;
    padding: 0 !important ;
    width: 35px !important ;
    height: 35px !important ;
    display: flex !important ;
    align-items: center !important ;
    justify-content: center !important ;
    line-height: 1 !important ;
    position: static !important ;
    color: var(--nv-primary-accent) !important ;
    font-size: 18px !important ;
    font-weight: bold !important ;
    flex-shrink: 0 !important ;
    box-sizing: border-box !important ;
}

/* banners styling */
/* error banner */
.wc-block-components-notice-banner.is-error > svg path {
    fill: var(--nv-primary-accent) !important ;
    stroke: var(--nv-primary-accent) !important ; 
    stroke-width: 0.8px !important ;
}

/* success banner (no icon) */
.wc-block-components-notice-banner.is-success > svg,
.woocommerce-message::before {
    display: none !important ;
    content: none !important ;
}

/* success banner */
.wc-block-components-notice-banner__actions {
    margin-left: auto !important ; 
}

.wc-block-components-notice-banner__actions .wc-block-components-button {
    background-color: var(--nv-primary-accent) !important ; 
    color: var(--nv-site-bg) !important ;
    border: none !important ;
    border-radius: 8px !important ;
    font-weight: 600 !important ;
    padding: 10px 20px !important ;
}

/* my account wishlist */
/* set the container to vertical column */
.sp-wl-product-content {
    padding: 25px !important ; 
    border-radius: 20px !important ; 
    box-shadow: 0 15px 45px rgba(25, 93, 122, 0.25) !important ; /* increased opacity and blur */
    margin-bottom: 5px !important ;
}

/* details block under image */
.sp-wl-product-content .details {
    display: flex !important ;
    flex-direction: column !important ;
    align-items: flex-start !important ;
    gap: 5px !important ; 
}

/* x button */
.remove.remove-wl-item {
    transition: all 0.2s ease ;
    position: absolute !important ; 
    top: 15px !important ; 
    right: 15px !important ;
    z-index: 5 !important ;
    display: flex !important ;
    align-items: center !important ;
    justify-content: center !important ;
    width: 32px !important ;
    height: 32px !important ;
    border-radius: 50% !important ;
}

/* x button hover */
.remove.remove-wl-item:hover {
    background-color: var(--nv-dark-bg) !important ; 
    color: var(--nv-site-bg) !important ;
}

/* mobile centering only */
@media (max-width: 768px) {
    .sp-wl-product-content {
        display: flex !important ;
        flex-direction: column !important ;
        align-items: center !important ; /* centers image in the card */
    }

    .sp-wl-product-content .details {
        align-items: center !important ; /* centers title, price, and button */
        text-align: center !important ; /* centers text lines */
    }
}



/* checkout button in cart */
/* checkout button disabled when error banner is showing */
/* make sure the lock works on side carts too */
.locked-disabled {
    opacity: 0.5 !important ;
    pointer-events: none !important ;
    filter: grayscale(1) !important ;
    cursor: not-allowed !important ;
}

/* shop styling */
/* align left */
.nv-product-content {
	text-align: left !important ;
	padding-left: 15px ;
}

/* centre the image */
.sp-product-image {
	margin-bottom: 10px ;
	margin-top: 10px ;
}

/* mobile styling */
@media (max-width: 768px) {
    /* force shop grid to 1 column */
    ul.products {
        display: block !important ;
    }

    /* each card takes full width */
    ul.products li.product {
        width: 100% !important ;
        margin-bottom: 20px !important ; 
    }

    /* padding */
    .nv-card-content-wrapper {
        border-radius: 15px !important ; 
    }
}

/* sale badge styling */
.nv-card-content-wrapper {
    position: relative !important ; 
}

.sp-product-image {
    position: static !important ; 
}

/* shop page sale banner styles */
span.onsale {
    position: absolute !important ;
    right: 0 !important ;
    top: 0 !important ;
    left: auto !important ;
    font-size: 20px !important ;
    font-weight: 800 !important ;
    padding: 2px 14px !important ;
    border-radius: 0 12px !important ;
    transform: none !important ;
}

/* sale banner on product page */
.single-product .summary span.onsale {
    position: relative !important ; 
    display: inline-flex !important ; 
    left: 0 !important ;
    width: auto !important ; 
    min-width: 100px !important ;
    font-size: 20px !important ; 
    font-weight: 800 !important ;
    padding: 5px 20px !important ;
    border-radius: 0 12px !important ; 
    
    /* spacing */
    margin-bottom: 15px !important ; 
	margin-top: 10px ; 
    justify-content: center !important ;
    align-items: center !important ;
}

.single-product div.product {
    padding-top: 10px !important ;
}

/* mobile sale styling */
@media (max-width: 768px) {
    span.onsale {
        font-size: 18px !important ;
        font-weight: 600 !important ;
        padding: 2px 10px !important ;
        border-radius: 0 20px 0 30px !important ;
    }
}

/* accordians */
.wp-block-themeisle-blocks-accordion-item {
    border: 2px solid var(--nv-dark-bg) !important ;
    border-radius: 20px !important ;
    margin-bottom: 15px !important ;
    overflow: hidden !important ;
    list-style: none !important ; 
	border-collapse: separate !important ;
}

/* accordian title smaller */
.wp-block-themeisle-blocks-accordion-item__title h3 {
	font-size: 1.5rem !important ;
}

/* remove borders from every possible element */
.wp-block-themeisle-blocks-accordion-item summary,
.wp-block-themeisle-blocks-accordion-item__content{
    border: none !important ;
    border-width: 0 !important ;
    outline: none !important ;
    box-shadow: none !important ;
}

.wp-block-themeisle-blocks-accordion-item {
    -webkit-backface-visibility: hidden !important ;
    backface-visibility: hidden !important ;
    transform: translateZ(0) !important ;
}

/* add spacing to pagination */
ul.page-numbers {
	padding-bottom: 50px !important ;
}

/* lists indent */
.wp-block-list {
    margin-left: 20px !important ;
}

/* links on dark background */
.wp-block-group.has-background a:hover,
.wp-block-cover.has-background a:hover,
.has-background a:hover {
    color: var(--nv-primary-accent) !important ; 
    text-decoration: none !important ;
}

.has-background a {
    transition: color 0.2s ease-in-out !important ;
}

/* shop product titles */
.woocommerce-LoopProduct-link {
    display: flex !important ;
    flex-direction: column ;
    justify-content: flex-start ;
	min-height: 110px ;
	margin-right: 20px ;
}

    h2.woocommerce-loop-product__title {
        width: 50% ;
    }

/* related products slider */
.related-product-slick-slider .slick-prev
 {
	left: -12px ; 
}

.related-product-slick-slider .slick-next
 {
	right: -12px ;
/*     background-color: var(--nv-primary-accent) !important; */
} 

.related-product-slide-item:hover img {
	transform: scale(1.1) !important ;
	transition: transform 0.2s ease !important ;
}

/* news slider */
.posts-slider .slick-prev {
	left: -12px ;
}

.posts-slider .slick-next {
	right: -12px ;
}