/* Single product (converted from the live templates ProductTemplate-1 (345) and SparesProductTemplate (2162)). */

/* ---------- Hero ---------- */
.ew-ph2 { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --padding-top:8%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
.ew-ph2 { background-color:transparent; background-image:linear-gradient(180deg, var(--ew-black) 0%, var(--ew-purple) 100%); }
.ew-ph2__media { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --justify-content:flex-start; --padding-top:2%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
.ew-ph2__text { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --justify-content:flex-start; --padding-top:2%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
.ew-ph2__pre > .ew-w__c { margin:0px 0px -20px 0px; }
.ew-ph2__pre { font-family:var(--ew-font-jakarta); font-size:20px; font-weight:300; text-transform:uppercase; line-height:1em; color:var(--ew-white); }
.ew-ph2__title .ew-heading__title { font-family:var(--ewt-h1-font-family); font-size:var(--ewt-h1-font-size); font-weight:var(--ewt-h1-font-weight); text-transform:var(--ewt-h1-text-transform); line-height:var(--ewt-h1-line-height); color:var(--ew-white); }
.ew-ph2__body { font-family:var(--ew-font-jakarta); font-size:18px; font-weight:300; line-height:1.4em; color:var(--ew-off-white); }
.ew-ph2__body p { margin-block-end:20px; }
.ew-ph2__buttons { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --margin-top:25px; --margin-bottom:0px; --margin-left:0px; --margin-right:0px; }
.ew-ph2__btn1 .ew-btn { background-color:#02010100; fill:var(--ew-white); color:var(--ew-white); border-style:solid; border-width:1px 1px 1px 1px; border-color:var(--ew-white); }
.ew-ph2__btn1 .ew-btn:hover, .ew-ph2__btn1 .ew-btn:focus { background-color:var(--ew-white); color:var(--ew-purple); }
.ew-ph2__btn1 .ew-btn:hover svg, .ew-ph2__btn1 .ew-btn:focus svg { fill:var(--ew-purple); }
.ew-ph2__btn2 .ew-btn { background-color:var(--ew-mustard); fill:var(--ew-purple); color:var(--ew-purple); }
.ew-ph2__btn2 .ew-btn:hover, .ew-ph2__btn2 .ew-btn:focus { background-color:var(--ew-purple); color:var(--ew-mustard); }
.ew-ph2__btn2 .ew-btn:hover svg, .ew-ph2__btn2 .ew-btn:focus svg { fill:var(--ew-mustard); }
@media(max-width:1024px) {
	.ew-ph2 { --flex-direction:column; --flex-wrap-mobile:wrap; --padding-top:21%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
	.ew-ph2__title .ew-heading__title { font-size:var(--ewt-h1-font-size); line-height:var(--ewt-h1-line-height); }
}
@media(max-width:767px) {
	.ew-ph2 { --padding-top:40%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
	.ew-ph2__text { --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
	.ew-ph2__pre { font-size:16px; }
	.ew-ph2__title .ew-heading__title { font-size:var(--ewt-h1-font-size); line-height:var(--ewt-h1-line-height); }
	.ew-ph2__body { font-size:16px; }
	.ew-ph2__btn1 { width:100%; max-width:100%; }
	.ew-ph2__btn1 .ew-btn .ew-btn__wrap { justify-content:center; }
	.ew-ph2__btn2 { width:100%; max-width:100%; }
	.ew-ph2__btn2 .ew-btn .ew-btn__wrap { justify-content:center; }
	.ew-ph2__btn1 > .ew-w__c { text-align: left; }
	.ew-ph2__btn1 .ew-btn { width: 100%; }
	.ew-ph2__btn2 > .ew-w__c { text-align: left; }
	.ew-ph2__btn2 .ew-btn { width: 100%; }
}
@media(min-width:768px) {
	.ew-ph2 { --content-width:1300px; }
	.ew-ph2__media { --width:50%; }
	.ew-ph2__text { --width:50%; }
}
@media(max-width:1024px) and (min-width:768px) {
	.ew-ph2__media { --width:100%; }
	.ew-ph2__text { --width:100%; }
}
.ew-ph2__media { max-width:750px; }

/* ---------- Gallery (former FME / Splide slider) ---------- */
.ew-gallery { position: relative; margin-bottom: 2em; }
.ew-gallery__main { position: relative; padding-bottom: 15px; }
.ew-gallery__track { position: relative; width: 100%; aspect-ratio: 1; }
.ew-gallery__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1000ms cubic-bezier(.42, .65, .27, .99); }
.ew-gallery__slide.is-active { position: relative; opacity: 1; z-index: 1; }
.ew-gallery__slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ew-gallery__main > .ew-gallery__slide img { aspect-ratio: 1; }
.ew-gallery__zoom,
.ew-gallery__zoom:hover,
.ew-gallery__zoom:focus { position: absolute; top: 15px; right: 15px; z-index: 3; display: flex; padding: 5px 12px; border-radius: 10%; background: rgba(46, 34, 82, .506); color: #fff; line-height: 1; cursor: pointer; }
.ew-gallery__zoom svg { width: 18px; height: 18px; fill: currentColor; }
.ew-gallery__arrow,
.ew-gallery__arrow:hover,
.ew-gallery__arrow:focus { position: absolute; top: calc(50% - 7.5px); z-index: 3; display: none; width: 40px; height: 40px; padding: 0; border: none; border-radius: 50%; background: var(--ew-purple); fill: #fff; opacity: .7; transform: translateY(-50%); cursor: pointer; }
.ew-gallery__arrow svg { display: block; width: 40px; height: 40px; }
.ew-gallery__arrow--prev { left: 8px; }
.ew-gallery__arrow--prev svg { transform: scaleX(-1); }
.ew-gallery__arrow--next { right: 13px; }
.ew-gallery__main:hover .ew-gallery__arrow { display: flex; }
.ew-gallery__dots { position: absolute; left: 0; right: 0; bottom: calc(15px + .5em); z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0; padding: 0 1em; list-style: none; }
.ew-gallery__dots li { display: inline-block; margin: 0; line-height: 1; }
.ew-gallery__dots button,
.ew-gallery__dots button:hover,
.ew-gallery__dots button:focus { display: block; width: 17px; height: 5px; margin: 3px; padding: 0; border: 0; border-radius: 20px; background: rgba(46, 34, 82, .494); opacity: .7; transition: transform .2s linear; }
.ew-gallery__dots button.is-active { background: var(--ew-purple); transform: scale(1.4); z-index: 1; }
.ew-gallery__thumbs { overflow: hidden; padding-bottom: 1px; }
.ew-gallery__strip { display: flex; margin: 0; padding: 0; list-style: none; transition: transform .4s cubic-bezier(.25, 1, .5, 1); }
.ew-gallery__thumb { flex: 0 0 auto; width: calc((100% - 8px) / 5); aspect-ratio: 118 / 119.6; margin-right: 2px; border: 3px solid transparent; background: center / cover no-repeat; cursor: pointer; }
.ew-gallery__thumb.is-active { border: 1px solid #000; }
/* Exact sizes once the script has measured the gallery (--ew-gw): thumbnails are 20% of its width tall. */
.ew-gallery[style*="--ew-gw"] .ew-gallery__thumb { width: calc((var(--ew-gw) - 8px) / 5); height: calc(var(--ew-gw) * .2); aspect-ratio: auto; }

/* ---------- Lightbox ---------- */
.ew-lightbox { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .8); }
.ew-lightbox[hidden] { display: none; }
.ew-lightbox__img { max-width: 90vw; max-height: 85vh; object-fit: contain; }
.ew-lightbox button,
.ew-lightbox button:hover,
.ew-lightbox button:focus { position: absolute; display: flex; padding: 12px; background: transparent; color: #fff; fill: #fff; opacity: .8; }
.ew-lightbox button svg { width: 16px; height: 16px; }
.ew-lightbox__close { top: 10px; right: 10px; }
.ew-lightbox__prev { left: 10px; top: 50%; transform: translateY(-50%) scaleX(-1); }
.ew-lightbox__next { right: 10px; top: 50%; transform: translateY(-50%); }
.ew-lightbox__count { position: absolute; top: 20px; left: 20px; color: #fff; font-size: 14px; }

/* ---------- Partner strip ---------- */
.ew-pp { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --flex-wrap:nowrap; }
.ew-pp { background-color:var(--ew-purple); }
.ew-pp__item { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; }
@media(max-width:767px) {
	.ew-pp { --flex-wrap:wrap; --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
	.ew-pp__item { --width:25%; }
}
@media(min-width:768px) {
	.ew-pp { --content-width:1300px; }
	.ew-pp__item { --width:25%; }
}

/* ---------- Sub-heroes (text block with image background and video) ---------- */
.ew-sub { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --padding-top:10%; --padding-bottom:8%; --padding-left:5%; --padding-right:5%; }
.ew-sub { background-position:center right; background-repeat:no-repeat; background-size:contain; }
.ew-sub--2 { --padding-bottom:10%; background-color:var(--ew-off-white); background-position:center left; }
.ew-sub__text { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --padding-top:2%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
.ew-sub__body { font-family:var(--ew-font-jakarta); font-size:18px; font-weight:300; line-height:1.4em; color:var(--ew-purple); }
.ew-sub__media { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --justify-content:flex-start; --padding-top:2%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
/* Shape divider (Elementor "triangle", flipped, above the content) */
.ew-shape { position: absolute; left: 0; top: -1px; z-index: 2; width: 100%; overflow: hidden; line-height: 0; direction: ltr; pointer-events: none; }
.ew-shape svg { position: relative; left: 50%; display: block; width: calc(100% + 1.3px); height: 50px; transform: translateX(-50%); }
.ew-shape path { fill: var(--ew-purple); transform: rotateY(0deg); transform-origin: center; }
/* Laptops (up to 1366px wide): the section grows taller as the text wraps, which made the contained background image grow under the text. Cap it at half the width. */
@media(min-width:1025px) and (max-width:1366px) {
	.ew-sub { background-size:50% auto; }
}
@media(max-width:1024px) {
	.ew-sub { background-position:top right; background-size:50% auto; }
	.ew-sub--2 { background-position:top left; }
}
@media(max-width:767px) {
	.ew-sub { --flex-direction:row-reverse; --flex-wrap-mobile:wrap-reverse; --padding-top:60%; --padding-bottom:15%; --padding-left:5%; --padding-right:5%; }
	.ew-sub { background-position:top right; background-size:75% auto; }
	.ew-sub--2 { --flex-direction:row; --flex-wrap-mobile:wrap; --padding-top:85%; background-position:top left; background-size:80% auto; } /* 85%: a square photo that fills the image is 80% of the width tall, so the heading needs more room than the old 75% */
	.ew-sub--3 { --padding-top:25%; background-size:50% auto; }
	.ew-sub--3.ew-sub--has-img { --padding-top:55%; } /* the 50%-wide square image is half the width tall, so the heading needs 55% to sit below it */
	.ew-sub__body { font-size:16px; }
	.ew-sub__btn .ew-btn .ew-btn__wrap { justify-content:center; }
	.ew-sub__btn > .ew-w__c { text-align: left; }
	.ew-sub__btn .ew-btn { width: 100%; }
}
@media(min-width:768px) {
	.ew-sub__text { --width:50%; }
	.ew-sub__media { --width:50%; }
}

/* ---------- Icon row ---------- */
.ew-icr { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --margin-top:0%; --margin-bottom:-30%; --padding-top:0%; --padding-bottom:30%; --padding-left:0%; --padding-right:0%; }
.ew-icr { background-color:transparent; background-image:linear-gradient(180deg, var(--ew-purple) 0%, var(--ew-black) 100%); }
.ew-icr__row { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; }
.ew-icr__item { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --justify-content:flex-start; --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-icr__image img { height:75px; }
.ew-icr__title { text-align:center; font-family:var(--ew-font-gibson); font-size:20px; font-weight:700; line-height:1.1em; color:var(--ew-white); }
.ew-icr__text { text-align:center; font-family:var(--ew-font-jakarta); font-size:18px; font-weight:300; line-height:1.4em; color:var(--ew-off-white); }
@media(max-width:767px) {
	.ew-icr { --padding-top:15%; --padding-bottom:50%; --padding-left:5%; --padding-right:5%; }
	.ew-icr__text { font-size:16px; }
}
@media(min-width:768px) {
	.ew-icr { --content-width:1300px; }
	.ew-icr__item { --width:50%; }
}

/* ---------- Technical data ---------- */
.ew-tech { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --padding-top:0%; --padding-bottom:5%; --padding-left:0%; --padding-right:0%; }
.ew-tech__sheet { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; box-shadow:0px 0px 25px 0px rgba(0,0,0,0.5); --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-tech__sheet { background-color:var(--ew-white); }
.ew-tech__title .ew-heading__title { font-family:var(--ew-font-gibson); font-size:40px; font-weight:900; text-transform:uppercase; line-height:1.1em; color:var(--ew-purple); }
.ew-tech__btn > .ew-w__c { margin:25px 0px 0px 0px; padding:5px 5px 5px 5px; text-align: left; }
.ew-tech__btn .ew-btn { width: 100%; }
.ew-tech__btn .ew-btn .ew-btn__wrap { justify-content:center; }
@media(max-width:767px) {
	.ew-tech { --padding-top:0%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
	.ew-tech__title .ew-heading__title { font-size:25px; }
}
@media(min-width:768px) {
	.ew-tech { --content-width:1300px; }
}

/* ---------- Video gallery ---------- */
.ew-vg { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-vg__item { --display:flex; }
.ew-vg__item > .ew-video { width: 100%; }

/* ---------- Media gallery (WordPress gallery, Elementor image gallery widget) ---------- */
.ew-mg { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-mg { background-color:var(--ew-off-white); }
.ew-mg__gallery .gallery { margin:0 -15px -15px 0; }
.ew-mg__gallery .gallery-item { display:inline-block; width:100%; max-width:100%; margin:0 auto; padding:0 15px 15px 0; text-align:center; vertical-align:top; }
.ew-mg__gallery .gallery-icon { padding:0; }
.ew-mg__gallery .gallery-item img { display:block; margin:0 auto; }
@media (min-width:768px) { .ew-mg__gallery .gallery-columns-6 .gallery-item { max-width:16.666%; } }
@media (min-width:480px) and (max-width:767px) { .ew-mg__gallery .gallery .gallery-item { max-width:50%; } }
@media (max-width:479px) { .ew-mg__gallery .gallery .gallery-item { max-width:100%; } }

/* ---------- Spares product (template 2162) ---------- */
.ew-sp { --display:flex; --flex-direction:row; --flex-wrap-mobile:wrap; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --margin-top:0px; --margin-bottom:0px; --margin-left:0px; --margin-right:0px; --padding-top:10%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-sp { background-color:transparent; background-image:linear-gradient(180deg, var(--ew-black) 0%, var(--ew-purple) 100%); }
.ew-sp__media { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; --justify-content:flex-start; --padding-top:2%; --padding-bottom:2%; --padding-left:2%; --padding-right:2%; }
.ew-sp__text { --display:flex; --flex-direction:column; --flex-wrap-mobile:wrap; }
.ew-sp__crumbs .woocommerce-breadcrumb { color:var(--ew-off-white); text-align:start; }
.ew-sp__crumbs .woocommerce-breadcrumb > a { color:var(--ew-mustard); }
.ew-sp__title > .ew-w__c { margin:0px 0px 0px 0px; padding:0px 0px 0px 0px; }
.ew-sp__title { font-family:var(--ew-font-gibson); font-size:40px; font-weight:900; text-transform:uppercase; line-height:1.1em; color:var(--ew-off-white); }
.ew-sp__body { font-family:var(--ew-font-jakarta); font-size:18px; font-weight:300; line-height:1.4em; color:var(--ew-off-white); }
.ew-sp__body p { margin-block-end:20px; }
.ew-sp__price { text-align:start; }
.woocommerce .ew-sp__price .price { color:var(--ew-mustard); font-family:var(--ew-font-gibson); font-size:2em; font-weight:700; text-transform:uppercase; line-height:1em; }
.ew-sp__cart > .ew-w__c { background-color:#00000066; }
.ew-sp__cart .cart button, .ew-sp__cart .cart .button { font-family:var(--ewt-button-font-family); font-size:var(--ewt-button-font-size); font-weight:var(--ewt-button-font-weight); text-transform:var(--ewt-button-text-transform); line-height:var(--ewt-button-line-height); border-style:none; border-radius:0px 0px 0px 0px; color:var(--ew-purple); background-color:var(--ew-mustard); transition:all 0.2s; }
.ew-sp__cart .cart button:hover, .ew-sp__cart .cart .button:hover { color:var(--ew-purple); background-color:var(--ew-white); }
.ew-sp__cart { --button-spacing:25px; }
.ew-sp__cart .quantity .qty { font-family:var(--ew-font-gibson); font-size:18px; font-weight:500; letter-spacing:10px; border-style:none; border-radius:0px 0px 0px 0px; padding:10px 10px 10px 10px; transition:all 0.2s; }
.woocommerce .ew-sp__cart form.cart .variations { width:100%; }
.woocommerce .ew-sp__cart form.cart table.variations label { color:var(--ew-white); font-family:var(--ewt-card-heading-font-family); font-size:var(--ewt-card-heading-font-size); font-weight:var(--ewt-card-heading-font-weight); line-height:var(--ewt-card-heading-line-height); }
.woocommerce .ew-sp__cart form.cart table.variations td.value select { color:var(--ew-purple); }
.woocommerce .ew-sp__cart form.cart table.variations td.value select, .woocommerce .ew-sp__cart form.cart table.variations td.value:before { background-color:var(--ew-white); border:var(--ew-off-white); border-radius:0px; }
.ew-sp-rel { --display:flex; --padding-top:5%; --padding-bottom:5%; --padding-left:5%; --padding-right:5%; }
.ew-sp-rel { background-color:var(--ew-off-white); }
.ew-sp-rel__title .ew-heading__title { font-family:var(--ewt-h2-large-font-family); font-size:var(--ewt-h2-large-font-size); font-weight:var(--ewt-h2-large-font-weight); text-transform:var(--ewt-h2-large-text-transform); line-height:var(--ewt-h2-large-line-height); color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product { --button-align-display:flex; --button-align-direction:column; --button-align-justify:space-between; border-style:solid; border-width:0px 0px 0px 0px; padding:5% 5% 5% 5%; box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.2); background-color:var(--ew-white); }
.ew-sp-rel__loop.elementor-wc-products  ul.products { grid-column-gap:25px; grid-row-gap:40px; }
.ew-sp-rel__loop.elementor-wc-products .attachment-woocommerce_thumbnail { border-style:none; border-radius:0px 0px 0px 0px; }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .woocommerce-loop-product__title { color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .woocommerce-loop-category__title { color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .price { color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .price ins { color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .price ins .amount { color:var(--ew-purple); }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product .button { color:var(--ew-white); background-color:var(--ew-purple); font-family:var(--ew-font-gibson); font-size:14px; font-weight:700; text-transform:uppercase; line-height:1em; padding:20px 20px 20px 20px; }
.ew-sp-rel__loop.elementor-wc-products ul.products li.product span.onsale { display:block; }
@media(max-width:1024px) {
	.ew-sp__cart .cart button, .ew-sp__cart .cart .button { font-size:var(--ewt-button-font-size); line-height:var(--ewt-button-line-height); }
	.woocommerce .ew-sp__cart form.cart table.variations label { font-size:var(--ewt-card-heading-font-size); line-height:var(--ewt-card-heading-line-height); }
	.ew-sp-rel__title .ew-heading__title { font-size:var(--ewt-h2-large-font-size); line-height:var(--ewt-h2-large-line-height); }
	.ew-sp-rel__loop.elementor-wc-products  ul.products { grid-column-gap:20px; grid-row-gap:40px; }
}
@media(min-width:768px) {
	.ew-sp__media { --width:50%; }
	.ew-sp__text { --width:50%; }
}
@media(max-width:1024px) and (min-width:768px) {
	.ew-sp__media { --width:100%; }
}
@media(max-width:767px) {
	.ew-sp { --padding-top:40%; --padding-bottom:15%; --padding-left:5%; --padding-right:5%; }
	.ew-sp__title { font-size:25px; }
	.ew-sp__body { font-size:16px; }
	.ew-sp__cart .cart button, .ew-sp__cart .cart .button { font-size:var(--ewt-button-font-size); line-height:var(--ewt-button-line-height); }
	.woocommerce .ew-sp__cart form.cart table.variations label { font-size:var(--ewt-card-heading-font-size); line-height:var(--ewt-card-heading-line-height); }
	.ew-sp-rel__title .ew-heading__title { font-size:var(--ewt-h2-large-font-size); line-height:var(--ewt-h2-large-line-height); }
	.ew-sp-rel__loop.elementor-wc-products  ul.products { grid-column-gap:20px; grid-row-gap:40px; }
}
.ew-sp__title h1 { margin:0; font:inherit; color:inherit; text-transform:inherit; line-height:inherit; }
.ew-sp__media { max-width:750px; }
