/* WooCommerce in de stijl van Happy Healthy Hypnose */
.woocommerce .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner{list-style:none;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--rose);border-radius:10px;padding:14px 18px;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;color:var(--ink)}
.woocommerce-error{border-left-color:#b23b2e}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{order:2}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--rose);color:#fff;font:600 16px/1 var(--sans);padding:16px 24px;border-radius:9px;border:1px solid var(--rose);text-decoration:none;cursor:pointer;transition:background .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #payment #place_order:hover{background:var(--rose-d);border-color:var(--rose-d);color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.55;padding:16px 24px}
.woocommerce a.button.wc-backward,.woocommerce button[name=update_cart]{background:transparent;color:var(--rose-d)}
.woocommerce button[name=update_cart]:hover{background:var(--rose);color:#fff}

/* Overzicht */
.shop-archive ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.shop-archive ul.products::before,.shop-archive ul.products::after{display:none}
.shop-archive ul.products li.product{margin:0;width:auto;float:none;background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:0 0 26px;text-align:left}
.shop-archive ul.products li.product a.woocommerce-LoopProduct-link{text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.shop-archive ul.products li.product img{margin:0 0 22px;width:100%;aspect-ratio:4/3.3;object-fit:cover;object-position:center 25%;background:var(--sage)}
.shop-archive ul.products li.product .woocommerce-loop-product__title{font:500 30px/1.1 var(--serif);color:var(--ink);padding:0 28px;margin:0 0 10px}
.shop-archive ul.products li.product .price{display:block;padding:0 28px;margin:0 0 18px;font:600 24px/1 var(--serif);color:var(--rose-d)}
.shop-archive ul.products li.product .price small{font:400 14px var(--sans);color:var(--muted)}
.shop-archive ul.products li.product .btn{margin:auto 28px 0;align-self:flex-start}
.shop-archive .onsale{display:none}

/* Productpagina */
.shop-single div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
.shop-single div.product div.images,.shop-single div.product div.summary{width:auto;float:none;margin:0}
.shop-single div.product .woocommerce-product-gallery{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:var(--sage);position:sticky;top:110px}
.shop-single div.product .woocommerce-product-gallery img{width:100%}
.shop-single .woocommerce-product-gallery__trigger{display:none}
.shop-single div.product .product_title{font-size:clamp(38px,4.4vw,54px);margin-bottom:14px}
.shop-single div.product p.price{font:600 32px/1 var(--serif);color:var(--rose-d);margin:0 0 22px}
.shop-single div.product p.price small{font:400 15px var(--sans);color:var(--muted)}
.shop-single .woocommerce-product-details__short-description{font-size:16.5px;margin-bottom:22px}
.shop-single .woocommerce-product-details__short-description p{margin:0 0 .9em}
.shop-single form.cart{display:flex;gap:12px;margin:26px 0 10px}
.shop-single form.cart .quantity{display:none}
.prod-usps{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.prod-usps li{display:flex;gap:12px;margin:0 0 12px;font-size:15.5px}
.prod-usps .ic{width:22px;height:22px;color:var(--rose-d);flex:none}
.shop-single .woocommerce-tabs{grid-column:1/-1;margin-top:20px}
.shop-single .woocommerce-tabs ul.tabs{display:none}
.shop-single .woocommerce-tabs .panel{max-width:820px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(22px,3vw,36px)}
.shop-single .woocommerce-tabs .panel h2{font-size:32px}
.shop-single .related{grid-column:1/-1;margin-top:40px}
.shop-single .related>h2{text-align:center;font-size:36px}
.shop-single .related ul.products{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:820px;margin:20px auto 0}
.shop-single .related ul.products::before,.shop-single .related ul.products::after{display:none}
.shop-single .related li.product{width:auto;float:none;margin:0;background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);padding-bottom:20px}
.shop-single .related li.product a{text-decoration:none;color:var(--ink)}
.shop-single .related li.product img{margin:0 0 16px;aspect-ratio:4/3;object-fit:cover;object-position:center 25%}
.shop-single .related li.product h2{font-size:24px;padding:0 20px}
.shop-single .related li.product .price{display:block;padding:0 20px 12px;color:var(--rose-d);font:600 20px var(--serif)}
.shop-single .related li.product .btn{margin:0 20px}

/* Winkelmand / afrekenen / account */
.shop-page{padding-bottom:90px}
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 26px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px 18px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}
.woocommerce table.shop_table thead th{border-top:0;background:var(--cream-2);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce table.shop_table img{width:70px;border-radius:8px}
.woocommerce table.shop_table td.product-name a{color:var(--ink);font-weight:600;text-decoration:none}
.woocommerce a.remove{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--muted)!important;text-decoration:none;font-size:20px}
.woocommerce a.remove:hover{background:#f3d9d4;color:#8a2f25!important}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce .cart-collaterals .cart_totals{width:min(460px,100%)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-size:30px}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce .coupon label{display:none}
.woocommerce .input-text,.woocommerce select,.woocommerce textarea,.select2-container .select2-selection--single{font:inherit;font-size:16px;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px;width:100%}
.woocommerce .coupon .input-text{width:220px}
.select2-container .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:11px;right:8px}
.woocommerce .input-text:focus,.woocommerce select:focus{outline:0;border-color:var(--rose);box-shadow:0 0 0 3px rgba(181,103,94,.15)}
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;font-weight:600;font-size:14.5px;color:var(--ink);margin-bottom:6px}
.woocommerce form .form-row .required{color:var(--rose-d);text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px)}
.woocommerce form .form-row-first{float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-checkout form.checkout #customer_details{grid-column:1}
.woocommerce-checkout form.checkout #customer_details .col-1,.woocommerce-checkout form.checkout #customer_details .col-2{width:auto;float:none}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review_heading{grid-row:1;margin:0}
.woocommerce-checkout #order_review{grid-row:1;margin-top:56px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;position:sticky;top:110px}
.woocommerce-checkout #order_review table.shop_table{border:0;border-radius:0;background:none}
.woocommerce #payment{background:var(--cream-2);border-radius:12px;padding:16px}
.woocommerce #payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;border:0}
.woocommerce #payment ul.payment_methods li{padding:10px 0;border-bottom:1px solid var(--line)}
.woocommerce #payment div.payment_box{background:var(--paper);border-radius:8px;padding:12px;font-size:14.5px;margin-top:8px}
.woocommerce #payment div.payment_box::before{display:none}
.woocommerce #payment #place_order{width:100%;margin-top:10px}
.woocommerce-terms-and-conditions-wrapper{font-size:14.5px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:8px;text-decoration:none;color:var(--ink)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--cream-2);color:var(--rose-d)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:560px;margin:0 auto}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px}
.woocommerce .woocommerce-form-login__rememberme{display:flex;gap:8px;align-items:center;margin:0 0 14px}
.cart-empty{font-size:18px}
.return-to-shop{margin-top:20px}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:30px}
.woocommerce ul.order_details{list-style:none;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:14px;display:flex;flex-wrap:wrap;gap:16px 34px}
.woocommerce ul.order_details li{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.woocommerce ul.order_details li strong{display:block;font:600 18px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.woocommerce .woocommerce-table--order-downloads a.button{padding:10px 14px;font-size:14px}

@media (max-width:900px){
  .shop-archive ul.products,.shop-single div.product,.shop-single .related ul.products{grid-template-columns:1fr}
  .shop-single div.product .woocommerce-product-gallery{position:static}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static;margin-top:0}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:12px}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);font-weight:600}
  .woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce table.shop_table_responsive tr td.product-thumbnail::before,.woocommerce table.shop_table_responsive tr td.actions::before{display:none}
  .woocommerce .coupon .input-text{width:100%}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
}
