/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
html, body {
	overflow-x: hidden;
}
body {
	position: relative
}
/*-----GRAVITY FORMS-----*/
.gform_required_legend {
    display: none!important;
}
/*All input areas text color*/
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
  color: var( --e-global-color-primary );
}
body .gform_wrapper ::placeholder,
body .gform_wrapper ::-webkit-input-placeholder,
body .gform_wrapper input[placeholder] {
  color: #000000 !important;
}
#gform_confirmation_message_2 {
  color: red !important;
}
/*Text fields*/
.gform_wrapper
  input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
  border-radius: 0px;
  padding: 15px 15px 15px 15px;
  border-color: #000000 !important;
  border-width: 2px;
  border-style: solid;
}
/*Paragraph fields*/
.gform_wrapper textarea {
  padding: 15px 15px 15px 15px !important;
  border-width: 2px;
  border-color: #000000 !important;
  border-style: solid;
  border-radius: 0px;
}
/*Select fields*/
.gform_wrapper select {
	border-radius: 0px !important;
	border: solid 1px var( --e-global-color-22c65ab1 )!important;
	padding: 8px!important;
}
/*Field lables*/
.gform_wrapper label.gfield_label,
.gform_wrapper legend.gfield_label {
  font-weight: 500;
  color: #000000 !important;
}
/*Radio button and checkbox alignment*/
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input,
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input[type="checkbox"],
.gform_wrapper.gf_browser_chrome .gfield_radio li input[type="radio"] {
  margin-top: 0px;
}
/*Radio button and checkbox text color*/
.gform_wrapper.gravity-theme .gfield-choice-input+label {
  color: var( --e-global-color-primary );
}
/*'Required' text color*/
.gform_wrapper .gfield_required {
    color:  var( --e-global-color-accent );
}
/*-----PRODUCT SEARCH BAR-----*/
.aws-search-result .aws_result_title {
    color: var( --e-global-color-accent );
}
.aws-search-result .aws_onsale {
    background: var( --e-global-color-accent ) none repeat scroll 0 0;
}
.aws-search-result .aws_search_more a {
    color: #000;
}
.aws-container .aws-search-field {
    border: 1px solid #fff;
}
.aws-container .aws-search-field,
.aws-container .aws-search-field::-webkit-input-placeholder {
    font-family: var(--e-global-typography-text-font-family ), Sans-serif !important;
}
.aws-container .aws-search-form .aws-form-btn {
    background: var( --e-global-color-accent );
    border: 1px solid var( --e-global-color-accent );
}
.aws-container .aws-search-form .aws-form-btn:hover {
    background: var( --e-global-color-f3390d2 );
    border: 1px solid var( --e-global-color-f3390d2 );
}
.aws-container .aws-search-form .aws-search-btn_icon {
    color: #000;
}
.aws-container .aws-search-form .aws-search-btn svg:hover {
    color: #000;
}
.elementor-element.elementor-element-f8de48b.elementor-widget.elementor-widget-woocommerce-product-price {
	color: #000000 !important;
}
/*-----SINGLE PRODUCT-----*/
p.pjnsinglepagetext {
	color: #000 !important;
}

.woocommerce div.product .stock {
    color: var( --e-global-color-primary );
}
.variation table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: #fff;
}
.variation table td, table th {
    padding: 0px;
}
.variation label {
    line-height: 2.5;
    float: left;
}
.shipping-calculator-form label {
	color: var(--e-global-color-secondary) !important;
}
.select2-selection__rendered{
	border: var(--wc-form-border-width) solid var(--wc-form-border-color);
    border-radius: var(--wc-form-border-radius);
}
.select2-dropdown {
	margin-top: -45px;
}
p.price {
	display: flex;
	gap: 5px;
	justify-content: center;
}
.single-product p.price {
	justify-content: unset !important;
}
p.price del {
	order: 2;
	font-size: 0.75em;
	color: var(--e-global-color-bd9ffc1) !important;
	font-weight: 400;
}
p.price ins {
	order: 1;
}

/* Additional CSS */

/* Make Add to Cart buttons full-width in product grids */
.woocommerce ul.products li.product .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
/* General */

.swiper-pagination-bullet {
	opacity: 1 !important;
	background-color: var(--e-global-color-b97d0db);
}
.swiper-pagination-bullet-active {
	background-color: var(--e-global-color-accent) !important;
} 
details[open] summary {
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

button.e-search-submit {
	border-radius: 0px 10px 10px 0px !important;
}

input.e-search-input {
	border-radius: 10px 0px 0px 10px !important;
}

/* Blog cards */
a.elementor-post__read-more {
    background-color: var(--e-global-color-accent);
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    line-height: var(--e-global-typography-accent-line-height);
    color: white !important;
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-color: var(--e-global-color-accent);
    border-radius: 10px 10px 10px 10px;
    padding: 8px 20px 8px 20px;
}

a.elementor-post__read-more:hover {
	background-color: var(--e-global-color-text) !important;
    color: var(--e-global-color-secondary) !important;
    border-color: var(--e-global-color-primary) !important;
}
/* Mega Menu Styling */
.jet-mega-menu-sub-menu {
  padding-left: 15px !important;
}

.jet-mega-menu-toggle {
  border-radius: 4px !important;
}

/* woocommerce cart styling */
#elementor-menu-cart__toggle_button {
	background-color: transparent !important;
	border-style: none !important;
	border-color: transparent !important;
}

/* Elementor product image lightbox */
#photoswipe-fullscreen-dialog,
#photoswipe-fullscreen-dialog .pswp__bg {
  background-color: #ffffff !important;   /* your colour */
}

#photoswipe-fullscreen-dialog .pswp__bg {
  opacity: 1 !important;
}

/* product image lightbox arrows */

#photoswipe-fullscreen-dialog button.pswp__button.pswp__button--arrow--left::before,
#photoswipe-fullscreen-dialog button.pswp__button.pswp__button--arrow--right::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;

  /* kill sprite only on arrows */
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 24px 24px !important;
  background-color: transparent !important;
}

#photoswipe-fullscreen-dialog button.pswp__button.pswp__button--arrow--left::before{
  left: 6px;
  background-image: url("https://kstest.co.za/diagnostics-direct/wp-content/uploads/2025/10/pswp-arrow-left.svg") !important;
}
#photoswipe-fullscreen-dialog button.pswp__button.pswp__button--arrow--right::before{
  right: 6px;
  background-image: url("https://kstest.co.za/diagnostics-direct/wp-content/uploads/2025/10/pswp-arrow-right.svg") !important;
}

#photoswipe-fullscreen-dialog .pswp__button{
  border: none !important;
}

  /* kill zoom on product images */
.zoomImg { 
	display: none !important; 
}

.woocommerce-product-gallery__image img { 
	pointer-events: auto !important; 
	transform: none !important; 
}

/* blog post heading styling */

#post-content h2 {
	color: var( --e-global-color-primary );
	font-size: 30px;
}

#post-content h3 {
	color: var( --e-global-color-primary );
	font-size: 25px;
}

#post-content h4 {
	color: var( --e-global-color-primary );
	font-size: 22px;
}

#post-content h5 {
	color: var( --e-global-color-primary );
	font-size: 20px;
}

#post-content h6 {
	color: var( --e-global-color-primary );
	font-size: 18px;
}

@media (max-width: 768px) {
	#post-content h2 {
	font-size: 25px;
}
	#post-content h3 {
	font-size: 22px;
}
	#post-content h4 {
	font-size: 20px;
}
	#post-content h5 {
	font-size: 18px;
}
	#post-content h6 {
	font-size: 16px;
}
}

/* WhatsApp floating icon */

#whatsapp-floating-icon .e-contact-buttons__chat-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        padding: 12px 24px !important; 
        border-radius: 50px !important; 
        gap: 12px !important; 
        background-color: #25D366 !important;
    }

    #whatsapp-floating-icon.has-h-alignment-end .e-contact-buttons__chat-button-text {
        clip-path: none !important;
        width: auto !important;
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important; 
        color: #ffffff !important; /* Crisp white text */
        font-weight: 500 !important;
        padding: 0 !important;
        margin: 0 !important;
        order: 1 !important; /* Text on the left */
    }

    #whatsapp-floating-icon.has-h-alignment-end .e-contact-buttons__chat-button-icon-container {
        position: relative !important;
        inset-inline-end: 0 !important;
        background: transparent !important; 
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        order: 2 !important; 
    }

    #whatsapp-floating-icon .e-contact-buttons__chat-button-icon-container svg {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
        fill: #ffffff !important;
    }

/* Target only the active, opened mini-cart overlay container */
.elementor-menu-cart__container.elementor-menu-cart--shown {
    z-index: 999999 !important;
}

/* Hide the sticky nav menu when the Elementor mini cart is open */
body:has(.elementor-menu-cart--shown) .elementor-sticky--active,
body:has(.elementor-menu-cart--shown) .elementor-section.elementor-sticky,
body:has(.elementor-menu-cart--shown) .elementor-element.elementor-sticky {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.elementor-element,
.elementor-widget-search {
    overflow: visible !important;
}

/* policy doc heading styling */
#policy-content h2 {
	color: #000000 !important;
	font-size: 30px !important;
}
/* End of Additional CSS */