/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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
*/

/* Add your custom styles here */

.ufsc-variation-table-wrap {
    overflow-x: auto;
    margin: 20px 0;
}

.ufsc-variation-table {
    width: 100%;
    border-collapse: collapse;
}

.ufsc-variation-table th,
.ufsc-variation-table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
}

.ufsc-variation-table input.qty {
    width: 80px;
    min-width: 80px;
}

.ufsc-variation-table-actions {
    margin-top: 15px;
}

.ufsc-variation-table-actions {
    margin-top: 15px;
}

.ufsc-variation-table-actions .button {
    width: 100%;
}

@media (min-width: 768px) {
    .ufsc-variation-table-actions .button {
        width: auto;
    }
}

.ufsc-variation-summary {
    background: #fafafa;
}

.ufsc-variation-summary div + div {
    margin-top: 6px;
}

.ufsc-variation-toolbar {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 15px;
	padding: 14px 16px;
	border: 2px solid #edecec;
	border-radius: 0px;
	background: #fafafa;
	width: 100%;
	box-sizing: border-box;
}

.ufsc-variation-toolbar > .ufsc-toolbar-col {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	flex: 0 0 auto;
}

.ufsc-toolbar-loadmore {
	margin-right: auto;
}

.ufsc-toolbar-stat {
	white-space: nowrap;
}

.ufsc-toolbar-submit {
	margin-left: auto;
}

.ufsc-toolbar-submit .button,
.ufsc-toolbar-loadmore .button {
	width: auto !important;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.ufsc-variation-toolbar {
		flex-wrap: wrap !important;
	}

	.ufsc-variation-toolbar > .ufsc-toolbar-col {
		width: 100% !important;
		justify-content: space-between;
	}

	.ufsc-toolbar-submit .button,
	.ufsc-toolbar-loadmore .button {
		width: 100% !important;
	}
}

.woocommerce table.shop_table {
    border: 1px solid #edecec;
    margin: 0 -1px 24px 0;
    text-align: left;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 5px;
}

table td, table th {
    border: 1px solid #edecec !important;
    line-height: 1.5;
    padding: 15px;
    vertical-align: top;
}

.woocommerce table.shop_table th {
    font-family: 'Titillium Web';
    font-size: 17px;
    color: #221f1b;
}

table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: #FAFAFA;
}

.ufsc-variation-table th, .ufsc-variation-table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
    font-family: 'Titillium Web';
    font-size: 15px;
    color: #221f1b;
}

.price
 {
    color: #221f1b !important;
    font-size: 1.20em;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 2px solid #edecec;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
    width: 100%;
}

.ufsc-toolbar-submit .button, .ufsc-toolbar-loadmore .button {
    width: auto !important;
    white-space: nowrap;
    background: #c1e729 !important;
    color: #221f1b !important;
    border-radius: 0 !important;
    padding: 15px 40px 15px 32px !important;
    font-size: 14px !important;
    font-family: 'Titillium Web';
    text-transform: uppercase;
}

.ufsc-toolbar-loadmore .button:hover {
    width: auto !important;
    white-space: nowrap;
    background: #221f1b !important;
    color: #FFF  !important;
    border-radius: 0 !important;
    padding: 15px 40px 15px 32px !important;
    font-size: 14px !important;
    font-family: 'Titillium Web';
    text-transform: uppercase;
}

.ufsc-toolbar-submit .button:hover {
	color:#fff !important;
	background: #221f1b !important;
}

.ufsc-sticky-cart-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    background:#111;
    color:#fff;
    padding:12px 18px;
    box-shadow:0 -4px 18px rgba(0,0,0,.18);
}

.ufsc-sticky-inner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:20px;
}

.ufsc-sticky-count{
    font-weight:700;
}

.ufsc-sticky-total{
    font-size:20px;
    font-weight:700;
    color:#b7e214;
}

.ufsc-sticky-inner .button{
    margin-left:auto;
}

@media(max-width:767px){

.ufsc-sticky-inner{
    flex-wrap:wrap;
    gap:10px;
}

.ufsc-sticky-inner .button{
    width:100%;
    margin-left:0;
}
}

.ufsc-sticky-cart-bar {
	background: #221f1b;
	font-family: "Titillium Web",sans-serif
}

button[form^="ufsc-variation-table-form"].button.alt,
.ufsc-sticky-cart-bar .button.alt,
.ufsc-variation-toolbar .button.alt {
    background: #c1e729 !important;
    color: #221F1D !important;
    border-radius: 0 !important;
    transition: all 0.25s ease;
}

button[form^="ufsc-variation-table-form"].button.alt:hover,
.ufsc-sticky-cart-bar .button.alt:hover,
.ufsc-variation-toolbar .button.alt:hover {
    background: #000 !important;
    color: #ffffff !important;
}

/* ===============================
MOBIEL PRODUCT TABEL OPTIMALISATIE
=============================== */

@media (max-width: 767px) {

    /* voorraad kolom verbergen */
    .ufsc-variation-table th:nth-child(2),
    .ufsc-variation-table td:nth-child(2) {
        display: none !important;
    }
	
	.linksmobiel {
		text-align: left !important;
	}

    /* tabel compact houden */
    .ufsc-variation-table {
        table-layout: fixed;
        width: 100%;
    }

    .ufsc-variation-table th,
    .ufsc-variation-table td {
        padding: 8px 6px !important;
        font-size: 15px !important;
        vertical-align: middle;
        white-space: nowrap;
    }

    /* naam kolom groter */
    .ufsc-variation-table th:nth-child(1),
    .ufsc-variation-table td:nth-child(1) {
        width: 48%;
    }

    /* prijs */
    .ufsc-variation-table th:nth-child(3),
    .ufsc-variation-table td:nth-child(3) {
        width: 22%;
        text-align: center;
    }

    /* aantal */
    .ufsc-variation-table th:nth-child(4),
    .ufsc-variation-table td:nth-child(4) {
        width: 30%;
        text-align: center;
    }

    /* qty veld kleiner */
    .ufsc-variation-table input.qty {
        width: 60px !important;
        min-width: 60px !important;
        padding: 6px !important;
        text-align: center;
        margin: 0 auto;
    }

    /* prijs kleiner */
    .ufsc-variation-table .price {
        font-size: 14px !important;
    }
	
	    .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
        display: flex !important;
    }
	
		.woocommerce table.shop_table td small {
    display:none !important;
}
	
}

@media only screen and (max-width: 768px) {

    .ufsc-variation-table.shop_table_responsive tr td::before,
    .ufsc-variation-table.shop_table_responsive tr th::before,
    .ufsc-variation-table tr td::before,
    .ufsc-variation-table tr th::before {
        content: none !important;
        display: none !important;
    }

}

}

/* Productkaart: afbeelding als referentiepunt */
.woocommerce ul.products li.product {
    position: relative;
}

/* Zorg dat de afbeelding / link een nette basis heeft */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    position: relative;
}

/* Winkelwagenknop standaard verbergen en centreren */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_simple,
.woocommerce ul.products li.product a.product_type_variable {
    position: absolute;
    left: 50%;
    top: 35%;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    z-index: 5;
    transition: all 0.25s ease;
    margin: 0 !important;

    background: #c1e729 !important;
    color: #221F1D !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-family: 'Titillium Web', sans-serif;
    font-size: 14px !important;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Knop tonen bij hover op productkaart */
.woocommerce ul.products li.product:hover a.button,
.woocommerce ul.products li.product:hover a.add_to_cart_button,
.woocommerce ul.products li.product:hover a.product_type_simple,
.woocommerce ul.products li.product:hover a.product_type_variable {
    opacity: 1;
    visibility: visible;
    top: 50%;
}

/* Hover kleur knop */
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.product_type_simple:hover,
.woocommerce ul.products li.product a.product_type_variable:hover {
    background: #221F1D !important;
    color: #fff !important;
}

/* Alleen afbeelding container targeten */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
    transition: transform 0.35s ease;
}

/* Zorg dat afbeelding netjes clipped */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    position: relative;
    display: block;
    overflow: hidden;
}

/* Zorg dat alleen de afbeelding animeert */
.woocommerce ul.products li.product img {
    transition: transform 0.35s ease, filter 0.35s ease;
    transform: scale(1);
    filter: brightness(1);
    display: block;
}

/* Alleen de afbeelding donkerder + licht ingezoomd */
.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
    filter: brightness(0.82);
}