/*
Theme Name:     Pagecraft Child
Description:    Custom WordPress Child theme for theme "PageCraft"
Author:         Pagecraft
Author URI: 	https://pagecraft.nl
Tested up to:   6.2
Requires PHP:   8.2
Template:       pagecraft
Text Domain:    pagecraft-child
Version:        1.0.1
*/


/****************************************** GLOBAL ******************************************/

/* Variables */

:root {
	--pc-black: #000;
	--pc-white: #fff;
	--pc-transparent: #FFFFFF00;
	--light-gray: #F5F5F5;
	
	--spacing-desktop: 50px;
	--spacing-laptop: 50px;
	--spacing-tablet: 40px;
	--spacing-mobile: 25px;
	
	--gform-asterix-color: #3f3f3f;
	--gform-error-color: #ff0000;
	--gform-placeholder-color: #3f3f3f;
	--gform-border-color: #c5c5c5;
	--gform-active-border-color: #000;
	--gform-font-size: var(--e-global-typography-text-font-size);

}

/*  Variable COLORS - globals form Elementor page builder
	var(--e-global-color-primary);
	var(--e-global-color-secondary);
	var(--e-global-color-accent);
	var(--e-global-color-text);
	var(--e-global-color-584f52f) // Globale kleur 'Zwart'
	var(--e-global-color-43f9ea8) // Globale kleur 'Wit'
*/

/*  Variable Fonts - globals form Elementor page builder
	var(--e-global-typography-primary-font-family);
	var(--e-global-typography-secondary-font-family);
*/
/*  Default Elementor colors from plugin
	var(--e-a-color-black);
	var(--e-a-color-white);
*/

/**********    Disable default styling    ***************/
ol, ul {
	padding-left: 20px;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.elementor-widget-text-editor p:first-of-type {
    margin-top: 0;
}

img {
	object-fit: cover;
}

/****************************************** Spacing classes *****************************************/
.padding-section {
	padding-top: var(--spacing-desktop);
	padding-bottom: var(--spacing-desktop);
}

.padding-top {
	padding-top: var(--spacing-desktop);
}

.padding-bottom {
	padding-bottom: var(--spacing-desktop);
}

@media screen and (min-width: 1160px) {
	.padding-left {
		padding-left: calc((100vw - var(--content-width)) / 2);
	}
	
	.padding-right {
		padding-right: calc((100vw - var(--content-width)) / 2);
	}
}

@media screen and (max-width: 1024px) {
	.padding-section {
		padding-top: var(--spacing-laptop);
		padding-bottom: var(--spacing-laptop);
	}

	.padding-top {
		padding-top: var(--spacing-laptop);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-laptop);
	}
}


@media screen and (max-width: 767px) {
	.padding-section {
		padding-top: var(--spacing-tablet);
		padding-bottom: var(--spacing-tablet);
	}

	.padding-top {
		padding-top: var(--spacing-tablet);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-tablet);
	}
}

@media screen and (max-width: 500px) {
	.padding-section {
		padding-top: var(--spacing-mobile);
		padding-bottom: var(--spacing-mobile);
	}

	.padding-top {
		padding-top: var(--spacing-mobile);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-mobile);
	}
}

/****************************************** Gravity form style ******************************************/
/*** https://docs.gravityforms.com/css-targeting-examples/ ***/
body .gform_heading .gform_required_legend,
body .gform_footer.top_label .gform-loader {
	display: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_required.gfield_required_asterisk {
	color: var(--gform-asterix-color);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input::placeholder,
body .gform_wrapper .gform_body .gfield .ginput_container textarea::placeholder {
	font-family: var(--e-global-typography-primary-font-family);
	color: var(--gform-placeholder-color);
	font-size: var(--gform-font-size);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']),
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
	box-shadow: none;
	border: solid 1px var(--gform-border-color);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']):focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']):active,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:active,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:active {
/* 	box-shadow: none; */
	border: solid 1px var(--gform-active-border-color);
	outline: none;
}


body .gform_wrapper .gform_footer input[type=submit] {
	font-family: var(--e-global-typography-primary-font-family);
	background-color: var(--e-global-color-secondary) !important;
}
body .gform_wrapper .gform_footer input[type=submit]:hover {
	background-color: var(--e-global-color-primary) !important;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container label.error {
	color: var(--gform-error-color);
}

/* Header */

.elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
	line-height: 1em !important;
}

/* Swiper center align*/
.swiper-slide {
	display: flex !important;
	justify-content: center !important;
}

/* Elementor Cart Button*/
.elementor-menu-cart__toggle_button {
	background-color: var(--pc-transparent) !important;
	padding: 0 !important;
}

/* WooCommerce Buttons */

.woocommerce .button {
	color: var(--pc-white) !important;
	background-color: var(--e-global-color-primary) !important;
	transition: all ease .2s;
}

.woocommerce .button:hover {
	color: var(--pc-white) !important;
	background-color: var(--e-global-color-accent) !important;
}

/* WooCommerce My Account */

.woocommerce-MyAccount-content {
	font-family: var(--e-global-typography-text-font-family);
}

.woocommerce-MyAccount-content p {
	font-size: var(--e-global-typography-text-font-size);
}

.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-content-wrapper > p:first-of-type {
	margin-block-start: 0 !important;
}

.woocommerce-MyAccount-content-wrapper p a,
p.woocommerce-LostPassword.lost_password a {
	color: var(--e-global-color-accent) !important;
}

.woocommerce-MyAccount-content-wrapper p a:hover,
p.woocommerce-LostPassword.lost_password a:hover {
	color: var(--e-global-color-primary) !important;
}

/* Shop archive page */

/* YITH Ajax Product Filter */
.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .search-field-container .search-field {
    padding: 10px;
    width: 100%;
    height: 40px;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .search-field-container:after {
	width: 0px;
	height: 0px;
	font-size: 0px;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper {
    border: 1px solid color-mix(in srgb, var(--e-global-color-primary) 30%, transparent);
    box-shadow: 0 0 7px 0 color-mix(in srgb, var(--e-global-color-primary) 30%, transparent);
}

.search-filter-component-combobox-base--focused:hover,
.search-filter-component-combobox-base:hover,
.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .search-field-container .search-field {
	border: 1px solid #D7D7D7;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown.open,
.search-filter-component-combobox-base--listbox-visible,
.search-filter-component-popup {
    border-color: color-mix(in srgb, var(--e-global-color-primary) 30%, transparent);
    box-shadow: 0 0 7px 0 color-mix(in srgb, var(--e-global-color-primary) 30%, transparent);
}

.search-filter-component-popup {
	margin-top: 10px;
	border-radius: 5px;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .search-field-container .search-field:active, 
.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .search-field-container .search-field:focus {
    border-color: var(--e-global-color-primary);
    box-shadow: 0 0 2px var(--e-global-color-primary);
    outline-color: var(--e-global-color-primary);
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > a:hover, 
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a:hover {
    color: var(--e-global-color-primary);
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label {
	display: flex;
    align-items: center;
}

.yith-wcan-filters .yith-wcan-filter .filter-title,
.search-filter-field .search-filter-label {
	margin: 10px 0;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: 500;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > a, 
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > label > a {
	color: var(--e-global-color-primary);
}

.yith-wcan-filters .yith-wcan-filter .filter-items.filter-color {
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	gap: 10px;
}

.yith-wcan-filters .yith-wcan-filter .filter-items.filter-color .filter-item {
	width: auto !important;
	margin: 0 !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-items.filter-checkbox label {
	margin-bottom: 5px !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-items.filter-color .filter-item .term-label {
	font-size: 0.8em !important;
}

.yith-wcan-filters li.filter-item.color {
    padding: 0px 10px;
    border: 1px solid lightgray;
    border-radius: 5px;
}

.search-filter-field span,
.search-filter-component-combobox-base__listbox,
.search-filter-component-combobox .search-filter-component-combobox__selection, .search-filter-component-combobox input[type=text],
.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-label,
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a,
.search-filter-component-combobox__actions-input::placeholder {
	font-size: 13px !important;
	line-height: var(--e-global-typography-text-line-height) !important;
	color: var(--e-global-color-text) !important;
}

.search-filter-component-combobox__actions-input {
	padding: 0px !important;
}

.search-filter-component-combobox-base__listbox-option {
	padding-left: calc(1em + var(--search-filter-listbox-option-depth));
}

.search-filter-component-combobox__listbox-toggle::before {
	content: none !important;
}

.search-filter-field__input {
    border: 1px solid #D7D7D7;
    border-radius: 4px;
    padding: 8px 15px;
    cursor: pointer;
    position: relative;
}


.search-filter-icon__svg {
	display: inline-block;
}

.search-filter-component-combobox__listbox-toggle .search-filter-icon__svg {
	display: none;
}

.search-filter-component-combobox__listbox-toggle .search-filter-icon {
	background: url('/wp-content/plugins/yith-woocommerce-ajax-navigation/assets/images/arrow-down.svg') no-repeat center;
	background-size: 100% auto;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 15px;
	top: calc(50% - 5px);
	width: 10px;
}

.search-filter-component-combobox__clear .search-filter-icon__svg {
	display: inline-block !important;
}

.search-filter-component-combobox__selection, .search-filter-icon { 
	padding: 0 !important; 
	line-height: 20px !important; 
}

.search-filter-component-combobox__listbox-toggle { 
	position: unset !important;
	transform: none !important; /*fix*/
}


/* Loop Carousel Progressbar Swiper */

.swiper-pagination-progressbar {
	position: relative;
}

.elementor-widget-loop-carousel .swiper-container-horizontal~.swiper-pagination-progressbar, 
.elementor-widget-loop-carousel .swiper-horizontal~.swiper-pagination-progressbar {
	height: 2px;
}

.swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
	margin: 15px 0px;
}

.productcategory-loopitem-parent .productcategory-loopitem-title {
	transition: all ease .2s;
}

.productcategory-loopitem-parent:hover .productcategory-loopitem-title {
	text-decoration: underline;
	text-decoration-color: var(--e-global-color-text);
}

/* Wishlist Verlanglijst Pagina */

.yith-wcwl-form table.wishlist_table {
	font-size: 100% !important;
	border: none !important;
}

.yith-wcwl-form table.shop_table {
	border: none !important;
	margin: 0 0 25px 0;
	background-color: #FEFEFE !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	border-radius: 24px !important;
}

.yith-wcwl-form table thead th {
	background-color: var(--e-global-color-8e8b971) !important;
	border: none !important;
	color: var(--e-global-color-text) !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-text-font-size) !important;
	font-weight: var(--e-global-typography-text-font-weight) !important;
	padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.yith-wcwl-form td {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.yith-wcwl-form td:last-child {
    padding-bottom: 40px !important;
}

.yith-wcwl-form .product-name a {
	color: var(--e-global-color-primary) !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-text-font-size) !important;
    font-weight: var(--e-global-typography-text-font-weight) !important;
}

.yith-wcwl-form .product-name a:hover {
	color: var(--e-global-color-accent) !important;
}

.yith-wcwl-form a.remove {
	color: var(--e-global-color-primary) !important;
}

.yith-wcwl-form a.remove:hover {
	color: var(--e-global-color-accent) !important;
	background-color: transparent !important;
}

.yith-wcwl-form a.button {
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-text-font-size) !important;
	font-weight: var(--e-global-typography-text-font-weight) !important;
	background-color: var(--e-global-color-primary) !important;
	color: var(--pc-white) !important;
	transition: all ease .2s !important;
}

.yith-wcwl-form a.button:hover {
	background-color: var(--e-global-color-accent) !important;
	color: var(--pc-white) !important;
}

.yith-wcwl-form table.shop_table td {
	border: none !important;
	background-color: var(--e-global-color-8e8b971) !important;
}

.yith-wcwl-form .share-button {
	transition: all ease .2s !important;
}

.yith-wcwl-share span.copy-trigger {
	color: var(--e-global-color-c9fbc62) !important;
	font-weight: 700;
}

.yith-wcwl-share span.copy-trigger:hover {
	color: var(--e-global-color-5bed306) !important;
}

.yith-wcwl-form .wishlist-title-with-form,
.yith-wcwl-form .wishlist-title {
	display: none !important;
}

.wishlist_table.modern_grid li .item-details table.item-details-table td, 
.wishlist_table.images_grid li .item-details table.item-details-table td, 
.wishlist_table.mobile li .item-details table.item-details-table td, 
.wishlist_table.mobile li table.additional-info td {
	padding: 0 !important;
}

.yith-wcwl-form .product-remove i {
	color: var(--e-global-color-primary) !important;
	transition: all ease .2s !important;
}

.yith-wcwl-form .product-remove i:hover {
	color: var(--e-global-color-accent) !important;
}

.wishlist_table .product-add-to-cart a.button {
    border-radius: 32px !important;
	padding: 10px 15px !important;
	margin-top: 10px !important;
}

input#yith_wcwl_share_url {
    width: 100%;
	padding: 5px 10px;
	margin-top: 10px;
	margin-bottom: 5px;
}

.yith-wcwl-after-share-section small {
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: 14px !important;
	font-weight: 700;
	margin: 5px 0;
}

.yith-wcwl-share li.share-button a {
	padding: 10px !important;
	border-radius: 50% !important;
	transition: all ease .2s;
}

.yith-wcwl-share li a.email svg {
	width: 15px !important;
	height: 15px !important;
}

a.remove.remove_from_wishlist {
	display: flex;
	align-items: center !important;
}

@media screen and (max-width: 1024px) {
	.wishlist_table.mobile li .item-wrapper .item-details {
		display: inline !important;
	}
}

/********* WooCommerce Single Product Page **********/

.product .elementor-add-to-cart button {
	margin-left: 0px !important;
}

.product .elementor-widget-text-editor li {
	list-style-type: disc; 
	list-style-position: inside; 
}

.elementor-widget-woocommerce-product-meta .detail-label {
	font-weight: 400;
}

.elementor-widget-woocommerce-product-meta .detail-content a:hover {
	color: #B7A590;
}

.breadcrumb_last {
	color: #A3A3A3;
}

.payment-methods {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
	gap: 10px;
}

.payment-methods img {
	flex-basis: 40px;
    max-width: 40px;
    height: 35px;
    object-fit: contain;
    padding: 5px;
    border: solid 2px #efefef;
    border-radius: 5px;
}

.single-product p.price {
	margin: 0;
}

.single-product a.reset_variations {
	display: flex;
    align-items: center;
	margin: 0 15px;
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-text-font-family);
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}

.single-product .woocommerce-variation .woocommerce-Price-amount {
	color: var(--e-global-color-secondary);
	font-family: var(--e-global-typography-text-font-family);
}

.single-product .single_variation_wrap {
	display: flex;
    flex-direction: column;
    gap: 20px;
}

.single-product .variations {
	margin-bottom: 1.5em !important;
}

.single-product .variations tbody  {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Product USPs */

.acf-icon-list {
    list-style: none !important;
    padding: 0;
    margin: 0;
}

.acf-icon-list li {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    padding-left: 28px;
}

.acf-icon-list .acf-icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
}

.acf-icon-list .acf-icon svg {
    width: 100%;
    height: 100%;
    fill: var(--e-global-color-primary);
}

.acf-icon-list .acf-text {
    font-family: var(--e-global-typography-text-font-family);
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-text);
}

/* Verberg de parentcontainer van een shortcode widget dat leeg is */
.elementor-widget-shortcode:has(.elementor-widget-container .elementor-shortcode:empty) {
    display: none !important;
}

/* Product Gallery */

.woocommerce-product-gallery__wrapper .wp-post-image {
	display: flex !important;
    justify-content: center !important;
}

.woocommerce-product-gallery__wrapper .wp-post-image img {
	width: 500px !important;
    height: 500px !important;
    object-fit: contain !important;
}



.elementor-cta__title:not(:last-child) {
	margin-bottom: 1em !important;
}

.elementor-cta__description p {
	margin-top: 0em !important;
}

.blog-loopitem .e-con-inner {
	position: relative;
}


/* YITH WooCommerce Product Add-ons */

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
}

.yith-wapo-container tr th,
.yith-wapo-container #wapo-total-price-table .woocommerce-Price-amount {
	font-family: var(--e-global-typography-text-font-family);
	color: var(--pc-black);
}

.yith-wapo-container tr th,
.wapo-addon-title span {
    font-size: var(--e-global-typography-text-font-size);
	font-weight: 600;
}

.yith-wapo-container #wapo-total-price-table .woocommerce-Price-amount {
	font-size: 18px;
}

.yith-wapo-container .required-error {
	display: flex;
}

.yith-wapo-container .yith-wapo-option {
	display: flex;
    flex-direction: column;
}

.yith-wapo-container .yith-wapo-option-value {
	padding: 8px 8px;
}