/* 
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 */

.mollie-component-label {
	color: #fff !important;
}

.woocommerce-form-coupon-toggle {
	display: none !important;
}

.woocommerce-notices-wrapper{
	max-width: 1400px !important;
	margin: 0 auto !important;
}

.woocommerce-error::before , .woocommerce-info::before, .woocommerce-message::before {
	color: #FFF !important;
	    left: 30px;
    top: 50%;
    transform: translateY(-50%);

}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  border-top: none !important;
	margin: 20px 0 !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	display: flex;
	  justify-content: space-between;
	  align-items: center;
}

.woocommerce-error {
	background-color: #c8252a !important;
} 

.woocommerce-info, .woocommerce-message{
	background-color: #07254a !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message{
	font-family: "Manrope" , sans-serif !important;
	font-weight: 700 !important;
	color: #fff !important;
	border-radius: 999px;
	
}

.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 , .restore-item {
	float: none !important;
	 font-family: "Manrope", Sans-serif !important;
	  font-size: 15px !important;
	  font-weight: 700 !important;
	  border-radius: 999px 999px 999px 999px !important;
	  padding: 13px 22px 13px 22px !important;
}

 .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button , .woocommerce-message .restore-item , .woocommerce-info .restore-item  {
	 background-color: #c8252a !important;
	 color: #FFFFFF !important;
}

.woocommerce .woocommerce-error .button, .woocommerce-page .woocommerce-error .button, .woocommerce-error .restore-item  {
	background-color: #fff !important;
	color: #000 !important;
}

.woocommerce-error::after, .woocommerce-info::after, .woocommerce-message::after {
  clear: unset !important;
  content: none !important;
}


.prodLoopGrid .elementor-pagination .page-numbers {
	padding: 8px 14px;
	border-radius: 999px;
    border: 1px solid #E3E6EC;
    background: white;
    transition: all .15s;
}

.prodLoopGrid .elementor-pagination .page-numbers.current {
	background: #07254A;
	border-color: #07254A;
	color: white;
} 

.prodLoopGrid .elementor-pagination .page-numbers:hover {
  border-color: #0E5BB8;
  color: #0E5BB8;
}

.fixedFiltersContainer {
	position: sticky;
  	top: 20px;
}

.cta-banner {
  position: relative;
  overflow: hidden;
}

.cta-banner::before {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -120px;
  width: 400px;
  height: 400px;
  border-radius: 50%;

  background: radial-gradient(circle, rgba(200,37,42,.22), transparent 60%);

}

.cta-banner::after {
  content: "";
  position: absolute;
  right: -160px;
  top: -160px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14,91,184,.35), transparent 60%);
}

.pulse {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0E5BB8;
  position: relative;
}

.pulse::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 2px solid #0E5BB8;
  opacity: 0;
  animation: pulse 2.4s infinite;
}

.heroTitleBorder::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 6px;
  background: #C8252A;
  opacity: .18;
  border-radius: 4px;
}

.shadowImg img {
	box-shadow: 0 32px 60px -30px rgba(7,37,74,.35), 0 0 0 1px rgba(7,37,74,.06);
}

.cardShadow {
	box-shadow: 0 8px 22px -8px rgba(7,37,74,.18), 0 0 0 1px rgba(7,37,74,.05)
}

.homeCardHover {
	transition: transform .2s, box-shadow .2s, border-color .2s;
} 

.homeCardHover:hover {
  transform: translateY(-4px);
  box-shadow: 0 32px 60px -30px rgba(7,37,74,.35), 0 0 0 1px rgba(7,37,74,.06);
  border-color: #0E5BB8 !important;
}

.catCardShadow {
	box-shadow: 0 1px 2px rgba(7,37,74,.05), 0 0 0 1px rgba(7,37,74,.04);
}

.blueCardBg {
	background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}

.packCardBg{
	position: relative;
  overflow: hidden;
}

.packCardBg::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,37,42,.45), transparent 60%);
}
.quote {
	margin:0 !important;
}
.quote::before {
  content: "“";
  font-family: "Manrope", serif;
  font-size: 84px;
  line-height: .5;
  color: #0e5bb8;
  display: inline-block;
  vertical-align: -.2em;

  margin-right: 6px;
}

.productDescription ul {
	list-style: none;
  padding: 0;
  margin-top: 20px;
}

.productDescription li {
	margin-bottom: 5px;
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 8px;
}


.ProdaddToCart button {
	width: 70%;
}

.ProdaddToCart button::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    background: url('/wp-content/uploads/2026/06/cart-large-2-svgrepo-com.svg') no-repeat center;
    background-size: contain;
}

.ProdaddToCart .quantity{
	width: 30%;
}

.ProdaddToCart .quantity input {
	width:100% !important;
}

#productMainContent h2 {
	color:#07254A !important;
	font-weight: 800 !important;
	font-size: clamp(26px, 2.6vw, 34px) !important;
}


.ac-specs-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #E3E6EC;
    border-radius: 16px;
    background-color: #fff;
}

.ac-specs-table tr:nth-child(odd),
.ac-specs-table  tbody > tr:nth-child(2n+1) > td, .ac-specs-table tbody > tr:nth-child(2n+1) > th{
    background-color: #F2F7FD !important;
}

.ac-specs-table tr:nth-child(even),
.ac-specs-table tr:nth-child(even):hover td{
    background-color: #ffffff !important;
}

.ac-specs-table td {
	font-family: "Manrope", sans-serif;
	font-size: 14px;
    padding: 18px 24px;
    line-height: 1.5;
    border: 0;
}

.ac-specs-table td:first-child {
    width: 45%;
    color: #5C6675;
    font-weight: 400;
}

.ac-specs-table td:last-child {
    color: #07254A;
    font-weight: 600;
}

.ac-specs-table tr:last-child td:first-child {
    border-bottom-left-radius: 16px;
}

.ac-specs-table tr:last-child td:last-child {
    border-bottom-right-radius: 16px;
}

.ac-specs-table tr:first-child td:first-child {
    border-top-left-radius: 16px;
}

.ac-specs-table tr:first-child td:last-child {
    border-top-right-radius: 16px;
}

.offerteForm .elementor-field-type-radio .elementor-field-subgroup {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
}

.offerteForm .elementor-field-type-radio input[type="radio"] {
    display: none !important;
}

.offerteForm .elementor-field-type-radio .elementor-field-option {
    flex: 1 1 120px;
    margin: 0 !important;
    padding: 0 !important;
}

.offerteForm .elementor-field-type-radio .elementor-field-option label {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    height: 50px;
    padding: 0 20px;
    margin: 0 !important;

    background: #fff;
    border: 1px solid #D8DEE8;
    border-radius: 12px;

    color: #1A2A44;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;

    box-sizing: border-box;
    transition: all .2s ease;
}

.offerteForm .elementor-field-type-radio .elementor-field-option label:hover {
    border-color: #0E5BB8;
	color: #0E5BB8;
}

.offerteForm .elementor-field-type-radio .elementor-field-option input:checked + label {
    background: #07254a;
    border-color: #07254a;
    color: #fff;
    font-weight: 600;
}

.offerteForm .elementor-field-type-radio .elementor-field-option::before,
.offerteForm .elementor-field-type-radio .elementor-field-option label::before,
.offerteForm .elementor-field-type-radio .elementor-field-option label::after {
    display: none !important;
    content: none !important;
}

.offerteForm .elementor-field-group:has(input[name="form_fields[ruimte]"]) .elementor-field-subgroup,
.offerteForm .elementor-field-group:has(input[name="form_fields[plaatsbezoek]"]) .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.offerteForm .elementor-field-group:has(input[name="form_fields[ruimte]"]) .elementor-field-option,
.offerteForm .elementor-field-group:has(input[name="form_fields[plaatsbezoek]"]) .elementor-field-option {
    width: 100%;
}

.headingCart .elementor-menu-cart__toggle_button::after {
    content: "Mijn mandje";
    margin-left: 10px;
	color: #07254A;
	font-size: 14px;
	font-weight: 700;
}

.productBreadcumb .woocommerce-breadcrumb {
	font-weight: 700 !important;
}

.productBreadcumb .woocommerce-breadcrumb a {
	font-weight: 400 !important;
}

#btnToggleSearch {
	cursor: pointer
}

#searchHolder {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .3s ease, opacity .3s ease;
}

#searchHolder.is-open {
    max-height: fit-content; /* adjust as needed */
    opacity: 1;
	overflow: visible;
}


.product-attribute-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-attribute-badges .attribute-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	padding: 3px 8px;
    border: 1px solid #CBDDF1;
    border-radius: 4px;
    background: #F2F7FD;
    color: #07254A;
    font-size: 11px;
    white-space: nowrap;
	font-weight: 600;
	font-family: "Manrope" , sans-serif;
	
}

.fixedCheckout{
	position: sticky;
	top: 10px;
}

@media (max-width: 1024px) {
	
	.offerteForm .elementor-field-type-radio .elementor-field-option {
		flex: 1 1 40%;
	}
	.offerteForm .elementor-field-group:has(input[name="form_fields[ruimte]"]) .elementor-field-subgroup,
	.offerteForm .elementor-field-group:has(input[name="form_fields[plaatsbezoek]"]) .elementor-field-subgroup {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.headingCart .elementor-menu-cart__toggle_button::after {
    	content: "";
		margin-left: 0px;
	}

}

@media (max-width: 767px) {
	
	.offerteForm .elementor-field-type-radio .elementor-field-option {
		flex: 1 1 100%;
	}
	.offerteForm .elementor-field-group:has(input[name="form_fields[ruimte]"]) .elementor-field-subgroup,
	.offerteForm .elementor-field-group:has(input[name="form_fields[plaatsbezoek]"]) .elementor-field-subgroup {
		grid-template-columns: repeat(1, 1fr);
	}
	
	
	.fixedFiltersContainer {
	position: unset;
	}
}

@keyframes pulse {
  0% { transform: scale(.5); opacity: .8; }
  100% { transform: scale(1.5); opacity: 0; }
}