/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/



/* ------------------------------------------------------------------------------------------------------------------ */

html .woocommerce-error, 
html .woocommerce-info, 
html .woocommerce-message {
    background-color: #fff;
	color: inherit;
}
.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
	color: inherit;
	font-weight: 400;
	font-size: 16px;
    padding: 10px 30px !important;
    line-height: 1.6em !important;
    border-radius: 50px !important;
}

html .elementor-widget-text-editor h3,
html .elementor-widget-text-editor h4,
html .elementor-widget-text-editor h5,
html .elementor-widget-text-editor h6{
	margin-top:30px;
}

html .woocommerce div.product div.images {
    margin-bottom: 0!important;
}
html .pswp--has_mouse .pswp__button--arrow--left, 
html .pswp--has_mouse .pswp__button--arrow--right, 
html .pswp__caption, .pswp__top-bar,
html button.pswp__button{
	padding:0!important;
}
html .pswp__button--arrow--left, 
html .pswp__button--arrow--right {
    width: unset;
    height: unset;
    border: 0 !important;
}
html .pswp__button--arrow--left:hover, 
html .pswp__button--arrow--right:hover{
	border:0!important;
}
html .pswp__button--arrow--left:before {
	left: 30px;
}
html .pswp__button--arrow--right:before {
	right: 30px;
}
html .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    pointer-events: none;
}
html input:focus-visible{
	outline:0!important;
}
html .quantity {
    width: auto;
    display: flex;
    flex-wrap: nowrap;
    border: 1px solid #A2A2A280;
    border-radius: 12px;
    padding: 0 12px;
}
html .quantity button {
    width: unset !important;
    height: unset !important;
    background: transparent !important;
    padding: 5px 10px !important;
    border: 0 !important;
    color: var(--e-global-color-primary) !important;
	margin: 0 !important;
}
html .quantity .input-text.qty.text {
    width: 2.5em;
    height: unset !important;
    padding: 5px 10px !important;
    border: 0 !important;
	background: transparent;
	outline:0!important;
}
html .quantity .qty::-webkit-inner-spin-button,
html .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
html #product-sticky-nav .nav-tab{
	background: transparent!important;
	border-color: transparent!important;
	color: #000!important;
}
html #product-sticky-nav .nav-tab.active {
	background: #000!important;
	border-color: #000!important;
	color: #fff!important;
}
html .woocommerce div.product div.images .flex-control-thumbs li .woocommerce-product-gallery__video-thumbnail-preview, 
html .woocommerce div.product div.images .flex-control-thumbs li img {
	opacity: 1;
}
.site-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
html .button, 
html .wp-block-button .wp-block-button__link {
	padding: 10px 30px!important;
}
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
    border: 1px solid var(--contrast);
}
button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, a.button:hover, button:focus, html input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, a.button:focus, a.wp-block-button__link:not(.has-background):active, a.wp-block-button__link:not(.has-background):focus, a.wp-block-button__link:not(.has-background):hover {
    border-color: var(--contrast-2);
}
html .elementor-heading-title {
	line-height: 1.3;
}
html .elementor-widget-text-editor p:last-child{
	margin-bottom:0;
}


table {
	border-width: 1px 0 1px 1px;
}
.product-specs-table-wrapper {
	width: 100%;
	overflow-x: auto;
}
.product-specs-table {
	width: 100%;
	border-collapse: collapse;
}
.product-specs-table thead th {
	background: #f7f7f7;
	text-align: left;
	padding: 20px 30px;
	font-weight: 600;
	border-bottom: 1px solid #e5e5e5;
}
.product-specs-table tbody td {
	padding: 20px 30px;
	border-bottom: 1px solid #eee;
}
.product-specs-table tbody tr:last-child td {
	border-bottom: none;
}
.spec-label {
	width: 25%;
}
.spec-value {
	color: #555;
}

.ds-table-wrapper { 
	width: 100%; 
	overflow-x: auto; 
}
.ds-table { 
	width: 100%; 
	border-width: 1px 0 1px 0px;
	border-collapse: collapse; 
	margin:0;
}
.ds-table thead th { 
	width: 100%;
	background: #ffffff;
    text-align: left;
    padding: 20px 30px;
    font-weight: 600;
    border-bottom: 1px solid #e5e5e5; 
}
.ds-table tbody td { 
	width: 100%;
	padding: 15px 30px;
    border-bottom: 1px solid #eee; 
	vertical-align: middle; 
}
.ds-table thead th:last-child,
.ds-table tbody td:last-child {
	min-width: 250px;
    border-right: 0;
}
.ds-table tbody td button {
    display: flex;
    align-items: center;
}
.ds-table tbody td button svg {
    margin: 0 -5px 0 10px;
    width: 25px;
}
.ds-table tbody td svg {
    width: 20px;
    height: auto;
    display: inline;
    margin: 0 15px -6px 0;
}

.woocommerce div.product form.cart .variations{
	text-align:left;
	margin-bottom: 1.4em;
}
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
    padding: 0;
}
.woocommerce div.product form.cart .reset_variations {
    visibility: hidden;
    font-size: .83em;
    background: #fff;
    padding: 5px 18px;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}




html .woocommerce .woocommerce-result-count {
    margin: 0.5em 0;
}
.woocommerce ul.products {
    grid-column-gap: 30px !important;
    grid-row-gap: 30px !important;
}

.woocommerce ul.products > li{
	background: var(--base);
	border:1px solid #0000002B;
	border-radius:20px;
	padding:40px 30px!important;
	    justify-content: space-between !important;
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce ul.products > li .woocommerce-loop-product__link{
	position:relative;
	    border-bottom: 1px solid #0000002B;
	padding-bottom:20px;
	margin-bottom:25px;
}
.woocommerce ul.products > li .button {
	margin-top: 0 !important;
    font-size: 14px;
    text-align: center;
/*     background: var(--e-global-color-primary); */
	background:transparent;
	border:1px solid var( --e-global-color-secondary );
    padding: 10px 30px;
    line-height: 1.6em;
    color: var( --e-global-color-secondary );
    font-weight: 400;
    border-radius: 50px;
	transition:color .1s ease-in-out,background-color .1s ease-in-out;
}
.woocommerce ul.products > li .button:hover{
	background:var( --e-global-color-primary );
	border-color:var( --e-global-color-primary );
	color:#fff;
}
.woocommerce ul.products > li .button.view-product-button{
	background: var(--e-global-color-primary);
	border-color:var( --e-global-color-primary );
	color:#fff;
}
.woocommerce ul.products > li .button.view-product-button:hover{
	background:var( --e-global-color-secondary );
	border-color:var( --e-global-color-secondary );
}
.woocommerce ul.products > li a img{
	width: 100%;
    max-width: 200px;
    height: 200px;
    object-fit: contain;
    object-position: center center;
	margin: 0 auto 30px!important;
}
html .woocommerce ul.products li.product .woocommerce-loop-category__title, 
html .woocommerce ul.products li.product .woocommerce-loop-product__title, 
html .woocommerce ul.products li.product h3{
	padding: 0;
	font-size: 20px;
    font-weight: 500;
    line-height: 1.4em;
}
.woocommerce ul.products > li a .price{
	display:none!important;
}
.woocommerce ul.products > li a .custom-featured-badge{
	position:absolute;
	top: -10px;
    right: -5px;
}
.woocommerce ul.products > li a .custom-featured-badge,
.woocommerce ul.products > li a .custom-featured-badge img{
	width:35px;
	height:35px;
	margin: 0 !important;
	border-radius: 50px;
}
.woocommerce ul.products > li a .custom-featured-badge.badge-left{
	top: 25px;
}
.woocommerce ul.products > li a .custom-tested-badge {
	position: absolute;
    top: -10px;
    right: -5px;
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 10px;
    background: #fff;
	color: var(--contrast) !important;
    padding: 3px 9px;
    border-radius: 50px;
    border: 1px solid #e5e5e5;
}
.woocommerce ul.products > li a .custom-tested-badge img {
    width: 18px !important;
    height: 18px !important;
	    margin: 0 !important;
}
.custom-product-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
nav.woocommerce-pagination {
    margin-top: 50px;
}
html .woocommerce nav.woocommerce-pagination ul li a, 
html .woocommerce nav.woocommerce-pagination ul li span{
	padding: .5em .6em;
}
html .woocommerce nav.woocommerce-pagination ul li a:focus, 
html .woocommerce nav.woocommerce-pagination ul li a:hover, 
html .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #dcdcdc;
    color: var(--e-global-color-primary);
    padding: .5em .6em;
}
html .woocommerce .woocommerce-ordering {
    margin: 0 0 1.5em;
}
html .wc-block-product-filter-checkbox-list__show-more-button {
    background: transparent !important;
    border: 0 !important;
    color: var(--e-global-color-primary) !important;
	padding: 10px 0 0 !important;
}
html .wc-block-product-filters__overlay-content h2 {
    line-height: 1.4;
	margin: 0;
}
html .wc-block-product-filters__overlay-content > div > h3{
	    margin-bottom: 20px !important;
    margin-top: 25px !important;
}
html .wc-block-product-filter-removable-chips__items .wc-block-product-filter-removable-chips__item {
    border-radius: 0;
    font-size: 14px;
    padding: .2em 0.8em;
}
html :where(.wc-block-product-filters) .wc-block-product-filters__overlay-header {
    padding: 30px 30px 0;
}
html :where(.wc-block-product-filters) .wc-block-product-filters__overlay-content {
    padding: 0 30px 30px;
}
html :where(.wc-block-product-filters) .wc-block-product-filters__overlay-footer {
    padding: 20px 30px;
}

.related.products > h2{
	display:none;
}

.als-faq-item {
    margin-bottom: 30px;
}
.als-faq-question {
	cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    border-radius: 10px;
    padding: 20px 30px;
    justify-content: space-between;
    border: 1px solid transparent;
    background: var(--e-global-color-e7af0af);
    font-weight: 500;
}
.als-faq-question::-webkit-details-marker { 
	display: none; 
}
.als-faq-question .e-font-icon-svg { 
	width: 14px; 
	height: 14px; 
	flex-shrink: 0; 
}
.als-faq-question .als-icon-open { 
	display: none; 
}
.als-faq-item[open] .als-faq-question{
	border-color:#00000012;
}
.als-faq-item[open] .als-faq-question .als-icon-closed { 
	display: none; 
}
.als-faq-item[open] .als-faq-question .als-icon-open { 
	display: inline-block; 
}
.als-faq-answer {
    padding: 30px;
    border: 1px solid transparent;
	border-top:0;
    margin-top: -5px;
    border-radius: 0 0 10px 10px;
    font-weight: 400;
}
.als-faq-item[open] .als-faq-answer{
	border-color:#00000012;
}

html .woocommerce div.product div.images .woocommerce-product-gallery__trigger{
	z-index:1;
}



@media (max-width:1024px){
	.woocommerce ul.products {
		grid-column-gap: 25px !important;
		grid-row-gap: 25px !important;
	}
	.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
		font-size: 15px;
		padding: 10px 25px !important;
	}
	html .elementor-widget-text-editor h3,
	html .elementor-widget-text-editor h4,
	html .elementor-widget-text-editor h5,
	html .elementor-widget-text-editor h6{
		margin-top:26px;
	}
	html .button, 
	html .wp-block-button .wp-block-button__link {
		padding: 10px 25px!important;
	}
	.ds-table thead th:last-child, .ds-table tbody td:last-child {
		min-width: 220px;
	}
	.product-specs-table thead th,
	.product-specs-table tbody td,
	.ds-table thead th,
	.ds-table tbody td{
		padding: 10px 25px;
	}
	html .woocommerce ul.products li.product .woocommerce-loop-category__title, 
	html .woocommerce ul.products li.product .woocommerce-loop-product__title, 
	html .woocommerce ul.products li.product h3 {
		font-size: 18px;
	}
	.als-faq-item {
		margin-bottom: 25px;
	}
	.als-faq-question {
		padding: 20px 25px;
	}
	.als-faq-answer {
		padding: 25px;
	}
}

@media (max-width:767px){
	html .woocommerce .woocommerce-ordering, 
	html .woocommerce-page .woocommerce-ordering {
        float: right;
    }
	html .button, 
	html .wp-block-button .wp-block-button__link {
		padding: 8px 16px!important;
	}
	.woocommerce ul.products {
		grid-column-gap: 20px !important;
		grid-row-gap: 20px !important;
	}
	.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
		font-size: 14px;
		padding: 8px 16px !important;
	}
	.ds-table tbody td button {
		padding: 8px 16px;
	}
	html .woocommerce ul.products li.product .woocommerce-loop-category__title, 
	html .woocommerce ul.products li.product .woocommerce-loop-product__title, 
	html .woocommerce ul.products li.product h3 {
		font-size: 16px;
	}
	.woocommerce ul.products > li a .custom-featured-badge, 
	.woocommerce ul.products > li a .custom-featured-badge img {
    	width: 30px;
		height: 30px;
	}
	.woocommerce ul.products > li a .custom-featured-badge.badge-left {
   		top:5px;
	}
	.woocommerce ul.products > li a .custom-tested-badge {
		top: -30px;
		right: -20px;
    	font-size: 9px;
	}
	.als-faq-item {
		margin-bottom: 20px;
	}
	.als-faq-question {
		padding: 20px;
	}
	.als-faq-answer {
		padding: 20px;
	}
}
/* --- Single article template (#3562) --------------------------------- */
/* The grid container needs equal columns on desktop but auto-height rows
   once it stacks, otherwise the short title block is padded out to match
   the featured image. */
@media (max-width: 1024px) {
	.als-article-hero {
		--e-con-grid-template-rows: auto auto;
	}
}

/* Grid containers that stack: let the rows size to their content instead of
   splitting the height evenly, which leaves dead space under the shorter one. */
@media (max-width: 1024px) {
	.als-auto-rows {
		--e-con-grid-template-rows: auto;
	}
}

/* Inline links inside body copy were rendering black with no underline, so they
   read as plain text. Only target links sitting inside a paragraph or list item
   so nav menus, footer link columns and buttons are unaffected. */
.elementor-widget-text-editor p > a,
.elementor-widget-text-editor li > a,
.elementor-widget-theme-post-content p > a,
.elementor-widget-theme-post-content li > a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.elementor-widget-text-editor p > a:hover,
.elementor-widget-text-editor li > a:hover,
.elementor-widget-theme-post-content p > a:hover,
.elementor-widget-theme-post-content li > a:hover {
	text-decoration-thickness: 2px;
	color: var(--e-global-color-secondary);
}
