/* Winkelwagen en afrekenen. */
.spiver-flow, .spiver-flow__head, .spiver-flow__more { --flow-line: #e7dccf; --flow-ink: var(--wp--preset--color--espresso, #2a1e17); --flow-muted: #6b5f56; --flow-accent: var(--wp--preset--color--terra, #b1623a); font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); }
.spiver-cart h1, .spiver-flow__head h1, .spiver-flow h2, .spiver-flow h3, .spiver-flow__more h2 { font-family: var(--wp--preset--font-family--body, system-ui, sans-serif) !important; letter-spacing: 0 !important; text-transform: none !important; }
.spiver-cart h1, .spiver-flow__head h1 { font-size: 30px; font-weight: 700; margin: 0 0 18px; }
.spiver-cart, .spiver-checkout { padding-inline: 0 !important; }
.spiver-cart > *, .spiver-checkout > * { box-sizing: border-box; margin-inline: auto !important; max-width: 1440px !important; padding-inline: 46px; width: 100%; }
.spiver-flow { align-items: start; display: grid; gap: 22px; }
.spiver-flow--cart { grid-template-columns: minmax(0, 1fr) 400px; }
.spiver-flow--checkout { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); }
.spiver-flow__col { display: grid; gap: 14px; min-width: 0; }
.spiver-flow__col--sum { position: sticky; top: 16px; }
.spiver-flow__card, .spiver-flow__item { background: #fff; border: 1px solid var(--flow-line); border-radius: 12px; min-width: 0; }
.spiver-flow__card { padding: 20px 22px; }
.spiver-flow h2, .spiver-flow h3 { font-size: 20px; font-weight: 700; line-height: 1.3; margin: 0 0 14px; }
.spiver-flow__item { align-items: flex-start; display: grid; gap: 18px; grid-template-columns: 96px minmax(0, 1fr) auto; margin-bottom: 12px; padding: 14px 18px; }
.spiver-flow__thumb img { aspect-ratio: 1; border-radius: 8px; display: block; height: auto; object-fit: contain; width: 96px; }
.spiver-flow__item h2 { font-size: 16px; font-weight: 600; margin: 0 0 12px; }
.spiver-flow__item h2 a { color: inherit; text-decoration: none; }
.spiver-flow__item h2 a:hover { color: var(--flow-accent); }
.spiver-flow__controls { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.spiver-qty { align-items: center; display: flex; gap: 6px; }
.spiver-qty button { background: #fff; border: 1px solid var(--flow-line); border-radius: 8px; color: var(--flow-ink); cursor: pointer; font-size: 18px; height: 38px; line-height: 1; padding: 0; width: 38px; }
.spiver-qty button:hover { border-color: var(--flow-ink); }
.spiver-qty .quantity { margin: 0; }
.spiver-qty input.qty { appearance: textfield; border: 1px solid var(--flow-line); border-radius: 8px; font: inherit; height: 38px; padding: 0; text-align: center; width: 48px; }
.spiver-qty input.qty::-webkit-outer-spin-button, .spiver-qty input.qty::-webkit-inner-spin-button { appearance: none; margin: 0; }
.spiver-flow .product-remove a { align-items: center; background: none !important; border-radius: 8px; color: var(--flow-ink) !important; display: flex; font-size: 0; height: 38px; justify-content: center; width: 38px; }
.spiver-flow .product-remove a:hover { background: #f7ece4 !important; color: #b3261e !important; }
.spiver-flow .product-remove svg { height: 21px; width: 21px; }
.spiver-flow__stock { color: #2f7d4f; font-size: 14px; font-weight: 600; }
.spiver-flow__price { font-size: 18px; font-weight: 700; text-align: right; white-space: nowrap; }
.spiver-flow__update { border: 0; clip: rect(0 0 0 0); height: 1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.spiver-flow__clear { margin: 0; text-align: right; }
.spiver-flow__ghost { background: #fff; border: 1px solid var(--flow-ink); border-radius: 8px; color: var(--flow-ink); cursor: pointer; display: inline-block; font: inherit; font-size: 14.5px; font-weight: 600; padding: 9px 14px; text-decoration: none; }
.spiver-flow__ghost:hover { background: var(--flow-ink); color: #fff; }
.spiver-flow__sum { margin: 0 0 14px; }
.spiver-flow__sum > div { display: flex; font-size: 15px; gap: 12px; justify-content: space-between; padding-block: 6px; }
.spiver-flow__sum dt { color: var(--flow-ink); margin: 0; }
.spiver-flow__sum dt small { color: var(--flow-muted); font-size: 13px; }
.spiver-flow__sum dd { margin: 0; text-align: right; }
.spiver-flow__sum .is-total { border-top: 1px solid var(--flow-line); font-size: 18px; font-weight: 700; margin-top: 6px; padding-top: 12px; }
.spiver-flow .spiver-flow__go, .spiver-flow #place_order { background: var(--flow-accent) !important; border: 0; border-radius: 9px; color: #fff !important; cursor: pointer; display: block; font: inherit; font-size: 16.5px; font-weight: 700; padding: 14px 16px; text-align: center; text-decoration: none; transition: background .15s; width: 100%; }
.spiver-flow .spiver-flow__go:hover, .spiver-flow #place_order:hover { background: #8f4d2a !important; }
.spiver-flow__usps { list-style: none; margin: 14px 0 0; padding: 0 4px; }
.spiver-flow__usps li { font-size: 14.5px; margin-bottom: 8px; padding-left: 26px; position: relative; }
.spiver-flow__usps li::before { border-bottom: 2px solid #2f7d4f; border-right: 2px solid #2f7d4f; content: ""; height: 11px; left: 6px; position: absolute; top: 3px; transform: rotate(40deg); width: 6px; }
.spiver-flow__coupon { margin: 16px 4px 0; }
.spiver-flow__coupon label { display: block; font-size: 14.5px; font-weight: 600; margin-bottom: 6px; }
.spiver-flow__coupon > div { display: flex; gap: 8px; }
.spiver-flow__coupon input { background: #fff; border: 1px solid var(--flow-line); border-radius: 8px; flex: 1 1 auto; font: inherit; min-width: 0; padding: 8px 10px; }
.spiver-flow__more { margin-top: 34px; }
.spiver-flow__more h2 { font-size: 22px; font-weight: 700; margin: 0 0 14px; }
.spiver-flow__head { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; padding-top: 22px; }
.spiver-flow__steps { color: var(--flow-muted); display: flex; font-size: 14px; gap: 22px; list-style: none; margin: 0; padding: 0; }
.spiver-flow__steps li { position: relative; }
.spiver-flow__steps li + li::before { color: #b9aea4; content: "›"; left: -14px; position: absolute; }
.spiver-flow__steps .is-active { color: var(--flow-ink); font-weight: 700; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { background: #fff; border: 1px solid #e7dccf; border-radius: 12px; color: inherit; font-size: 14.5px; margin-bottom: 14px; padding: 12px 16px; }
.woocommerce-form-coupon-toggle .woocommerce-info::before, .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.spiver-flow--checkout .form-row { margin: 0 0 12px; padding: 0; }
.spiver-flow--checkout label { color: var(--flow-ink); display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.spiver-flow--checkout input.input-text, .spiver-flow--checkout textarea, .spiver-flow--checkout select, .spiver-flow--checkout .select2-selection { background: #fff; border: 1px solid #d8cdc1 !important; border-radius: 8px !important; box-sizing: border-box; color: var(--flow-ink); font: inherit; font-size: 15px; min-height: 42px; padding: 8px 12px; width: 100%; }
.spiver-flow--checkout input.input-text:focus, .spiver-flow--checkout textarea:focus { border-color: var(--flow-ink) !important; outline: 1px solid var(--flow-ink); outline-offset: 0; }
.spiver-flow--checkout .select2-selection__rendered { line-height: 26px !important; padding: 0 !important; }
.spiver-flow--checkout .select2-selection__arrow { height: 40px !important; }
.spiver-flow--checkout .form-row-first, .spiver-flow--checkout .form-row-last { box-sizing: border-box; float: left; width: calc(50% - 6px); }
.spiver-flow--checkout .form-row-last { float: right; }
.spiver-flow--checkout .form-row-wide, .spiver-flow--checkout .notes { clear: both; }
.spiver-flow--checkout .woocommerce-billing-fields__field-wrapper::after, .spiver-flow--checkout .woocommerce-shipping-fields__field-wrapper::after { clear: both; content: ""; display: table; }
.spiver-flow--checkout .woocommerce-additional-fields h3, .spiver-flow--checkout #ship-to-different-address { font-size: 16px; margin: 14px 0 8px; }
.spiver-flow--checkout #ship-to-different-address label { align-items: center; display: flex; font-size: 15px; font-weight: 600; gap: 8px; }
.spiver-flow--checkout #payment { background: none; border-radius: 0; }
.spiver-flow--checkout .payment_methods { list-style: none; margin: 0; padding: 0; }
.spiver-flow--checkout .payment_methods > li { border: 1px solid var(--flow-line); border-radius: 9px; margin-bottom: 8px; padding: 11px 12px; }
.spiver-flow--checkout .payment_methods > li:has(input:checked) { background: #fdf6f0; border-color: var(--flow-accent); }
.spiver-flow--checkout .payment_methods > li > label { align-items: center; cursor: pointer; display: inline-flex; font-size: 15px; gap: 8px; margin: 0; }
.spiver-flow--checkout .payment_methods img { display: inline-block; height: 24px; margin: 0; max-height: 24px; width: auto; }
.spiver-flow--checkout .payment_box { color: var(--flow-muted); font-size: 13.5px; margin-top: 8px; }
.spiver-flow--checkout .payment_box p { margin: 0; }
.spiver-flow--checkout table.shop_table { border: 0; border-collapse: collapse; font-size: 14.5px; margin: 0; width: 100%; }
.spiver-flow--checkout table.shop_table th, .spiver-flow--checkout table.shop_table td { background: none; border: 0; padding: 6px 0; text-align: left; vertical-align: top; }
.spiver-flow--checkout table.shop_table thead { display: none; }
.spiver-flow--checkout table.shop_table td.product-total, .spiver-flow--checkout table.shop_table tfoot td { text-align: right; }
.spiver-flow--checkout table.shop_table tfoot tr:first-child th, .spiver-flow--checkout table.shop_table tfoot tr:first-child td { border-top: 1px solid var(--flow-line); padding-top: 10px; }
.spiver-flow--checkout table.shop_table .order-total th, .spiver-flow--checkout table.shop_table .order-total td { border-top: 1px solid var(--flow-line); font-size: 18px; font-weight: 700; padding-top: 10px; }
.spiver-flow--checkout #shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.spiver-flow--checkout #shipping_method li { margin: 0 0 4px; }
.spiver-flow--checkout #shipping_method label { display: inline; font-size: 14px; }
.spiver-flow__back { font-size: 14px; margin: 0; text-align: center; }
.spiver-flow__back a { color: inherit; }
.spiver-flow .place-order { margin: 0; }
.spiver-flow .woocommerce-terms-and-conditions-wrapper { font-size: 13px; margin-bottom: 10px; }
@media (max-width: 1100px) {
	.spiver-flow--checkout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.spiver-flow--checkout #customer_details { grid-row: span 2; }
	.spiver-flow--cart { grid-template-columns: minmax(0, 1fr) 340px; }
}
@media (max-width: 820px) {
	.spiver-flow--cart, .spiver-flow--checkout { grid-template-columns: minmax(0, 1fr); }
	.spiver-flow--checkout #customer_details { grid-row: auto; }
	.spiver-flow__col--sum { position: static; }
	.spiver-flow__item { gap: 12px; grid-template-columns: 72px minmax(0, 1fr); padding: 12px; }
	.spiver-flow__thumb img { width: 72px; }
	.spiver-flow__price { grid-column: 2; text-align: left; }
}
.spiver-cart h1.wp-block-heading { font-size: 30px; font-weight: 700; margin: 0 0 18px; }
.spiver-flow .spiver-flow__go, .spiver-flow #place_order { box-sizing: border-box; }
.woocommerce-checkout .spiver-flow--checkout #payment ul.payment_methods { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout .spiver-flow--checkout #payment ul.payment_methods::before, .woocommerce-checkout .spiver-flow--checkout #payment ul.payment_methods::after { display: none; }
.woocommerce-checkout .spiver-flow--checkout #payment div.payment_box { background: none !important; color: var(--flow-muted); margin: 6px 0 0 !important; padding: 0 !important; }
.woocommerce-checkout .spiver-flow--checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-form-coupon-toggle .wc-block-components-notice-banner, .woocommerce-form-login-toggle .wc-block-components-notice-banner { background: #fff; border: 1px solid #e7dccf; border-radius: 12px; color: inherit; font-size: 14.5px; }
.woocommerce-form-coupon-toggle .wc-block-components-notice-banner svg, .woocommerce-form-login-toggle .wc-block-components-notice-banner svg { display: none; }
.woocommerce-form-coupon-toggle .wc-block-components-notice-banner a { color: inherit; font-weight: 600; }
.spiver-flow .spiver-pdp__pay { background: none; border: 0; display: block; margin: 14px 0 0; padding: 0; text-align: left; }
.spiver-flow .spiver-pdp__pay svg { display: none; }
.spiver-flow .spiver-pdp__pay strong { display: block; font-size: 14.5px; margin-bottom: 7px; }
.spiver-flow .spiver-pdp__pay div { align-items: center; display: flex; flex-wrap: wrap; gap: 6px 10px; justify-content: flex-start; }
.spiver-flow .spiver-pdp__pay span.has-icon { background: none; display: inline-flex; padding: 0; }
.spiver-flow .spiver-pdp__pay span:not(.has-icon) { background: #f6f1ec; border-radius: 5px; font-size: 13.5px; font-weight: 600; padding: 2px 8px; }
.spiver-flow .spiver-pdp__pay img { display: block; height: 26px; margin: 0; max-width: 64px; object-fit: contain; width: auto; }
@media (max-width: 1100px) {
	.spiver-cart > *, .spiver-checkout > * { padding-inline: 20px; }
}
@media (max-width: 760px) {
	.spiver-cart > *, .spiver-checkout > * { padding-inline: 16px; }
}

/* Mijn account, in dezelfde stijl als afrekenen. */
.woocommerce-account.logged-in { --acc-line: #e7dccf; --acc-ink: var(--wp--preset--color--espresso, #2a1e17); --acc-muted: #6b5f56; --acc-accent: var(--wp--preset--color--terra, #b1623a); }
.woocommerce-account.logged-in main { padding-inline: 0 !important; }
.woocommerce-account.logged-in main > * { box-sizing: border-box; margin-inline: auto !important; max-width: 1440px !important; padding-inline: 46px; width: 100%; }
.woocommerce-account.logged-in .wp-block-post-title { font-family: var(--wp--preset--font-family--body, system-ui, sans-serif) !important; font-size: 30px !important; font-weight: 700; letter-spacing: 0; margin-bottom: 18px; text-transform: none; }
.woocommerce-account.logged-in .wp-block-post-content > .woocommerce { align-items: start; display: grid; gap: 22px; grid-template-columns: 260px minmax(0, 1fr); padding: 0; }
.woocommerce-account.logged-in .wp-block-post-content > .woocommerce::before, .woocommerce-account.logged-in .wp-block-post-content > .woocommerce::after { display: none; }
.woocommerce-account.logged-in .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account.logged-in .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation, .woocommerce-account.logged-in .woocommerce-MyAccount-content { float: none; min-width: 0; width: auto; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; padding: 8px; position: sticky; top: 16px; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li { border: 0; margin: 0 0 2px; padding: 0; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a { background: none; border-radius: 8px; color: var(--acc-ink); display: block; font-family: inherit; font-size: 15px; font-weight: 500; letter-spacing: 0; padding: 9px 12px; text-decoration: none; text-transform: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover { background: #f7f3ec; color: var(--acc-ink); }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a { background: var(--acc-ink); color: #fff; font-weight: 600; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--acc-line); margin-top: 6px; padding-top: 6px; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content h2, .woocommerce-account.logged-in .woocommerce-MyAccount-content h3 { font-family: inherit; font-size: 20px; font-weight: 700; letter-spacing: 0; margin: 0 0 12px; text-transform: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content { font-size: 15.5px; }
.spiver-account { display: grid; gap: 14px; }
.spiver-account > * { margin: 0 !important; }
.woocommerce-account .spiver-account__head { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; padding: 18px 22px; }
.woocommerce-account .spiver-account__hello { font-family: inherit; font-size: 24px; font-weight: 700; letter-spacing: 0; }
.woocommerce-account .spiver-account__head .wp-element-button { background: var(--acc-accent); border-radius: 9px; color: #fff; font-weight: 700; padding: 11px 18px; }
.woocommerce-account .spiver-account__head .wp-element-button:hover { background: #8f4d2a; }
.woocommerce-account .spiver-account__tiles { gap: 12px; margin: 0; }
.woocommerce-account .spiver-account__tile { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; padding: 14px 18px; text-decoration: none; }
.woocommerce-account .spiver-account__tile:hover { background: #fff; border-color: var(--acc-ink); }
.woocommerce-account .spiver-account__tile strong { font-family: inherit; font-size: 24px; font-weight: 700; }
.woocommerce-account .spiver-account__tile > span { color: var(--acc-muted); font-size: 14px; }
.woocommerce-account .spiver-account__orders, .woocommerce-account table.shop_table { background: #fff; border: 1px solid var(--acc-line); border-collapse: separate; border-radius: 12px; border-spacing: 0; font-size: 15px; overflow: hidden; width: 100%; }
.woocommerce-account .spiver-account__orders th, .woocommerce-account table.shop_table th { color: var(--acc-muted); font-size: 13.5px; font-weight: 600; letter-spacing: 0; padding: 10px 14px; text-transform: none; }
.woocommerce-account .spiver-account__orders td, .woocommerce-account table.shop_table td { border-top: 1px solid var(--acc-line); border-bottom: 0; padding: 10px 14px; }
.woocommerce-account .spiver-account__studio { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; color: var(--acc-ink); padding: 18px 22px; }
.woocommerce-account .spiver-account__studio h2 { color: var(--acc-ink); }
.woocommerce-account .spiver-account__studio a { color: var(--acc-ink); }
.woocommerce-account .spiver-account__studio p:last-child { margin-bottom: 0; }
.woocommerce-account.logged-in .woocommerce-Addresses, .woocommerce-account.logged-in .addresses { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce-account.logged-in .woocommerce-Addresses::before, .woocommerce-account.logged-in .woocommerce-Addresses::after { display: none; }
.woocommerce-account.logged-in .woocommerce-Address { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; float: none; padding: 18px 22px; width: auto; }
.woocommerce-account.logged-in .woocommerce-Address address { font-style: normal; }
.woocommerce-account.logged-in form.edit-account, .woocommerce-account.logged-in .woocommerce-address-fields, .woocommerce-account.logged-in .woocommerce-MyAccount-content > form { background: #fff; border: 1px solid var(--acc-line); border-radius: 12px; padding: 20px 22px; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content form .woocommerce-address-fields { background: none; border: 0; padding: 0; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content input.input-text, .woocommerce-account.logged-in .woocommerce-MyAccount-content select, .woocommerce-account.logged-in .woocommerce-MyAccount-content .select2-selection { background: #fff; border: 1px solid #d8cdc1 !important; border-radius: 8px !important; box-sizing: border-box; font: inherit; font-size: 15px; min-height: 42px; padding: 8px 12px; width: 100%; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button, .woocommerce-account.logged-in .woocommerce-MyAccount-content button[type="submit"] { background: var(--acc-accent); border: 0; border-radius: 9px; color: #fff; font: inherit; font-weight: 700; padding: 11px 18px; text-decoration: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content .button:hover { background: #8f4d2a; }
.woocommerce-account.logged-in fieldset { border: 1px solid var(--acc-line); border-radius: 10px; margin: 14px 0; padding: 14px 16px; }
.woocommerce-account.logged-in fieldset legend { font-weight: 700; padding-inline: 6px; }
@media (max-width: 1100px) {
	.woocommerce-account.logged-in main > * { padding-inline: 20px; }
}
@media (max-width: 820px) {
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-account.logged-in main > * { padding-inline: 16px; }
	.woocommerce-account.logged-in .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}

.spiver-auth__cta, .woocommerce-account a.spiver-auth__cta { background: var(--wp--preset--color--terra, #b1623a); border-radius: 9px; color: #fff !important; display: block; font-size: 16px; font-weight: 700; margin: 14px 0 6px; padding: 12px 16px; text-align: center; text-decoration: none; transition: background .15s; }
.spiver-auth__cta:hover { background: #8f4d2a; }
.spiver-auth[data-tab="aanvragen"] .spiver-auth__cta { display: none; }
.woocommerce-account table .woocommerce-orders-table__cell-order-actions .button, .woocommerce-account.logged-in .woocommerce-orders-table__cell-order-actions .button { background: #fff; border: 1px solid var(--acc-ink); border-radius: 7px; color: var(--acc-ink); display: inline-block; font-size: 13.5px; font-weight: 600; margin: 2px 4px 2px 0; padding: 5px 10px; width: auto; }
.woocommerce-account.logged-in .woocommerce-orders-table__cell-order-actions .button:hover { background: var(--acc-ink); color: #fff; }
@media (max-width: 820px) {
	.woocommerce-account .spiver-account__orders { display: block; overflow-x: auto; }
}

/* Tekstlinks op aanraakschermen: makkelijker te raken. */
@media (max-width: 1100px) {
	.spiver-auth a[href*="lost-password"], .spiver-auth a[href*="lostpassword"], .woocommerce-LostPassword a, .showcoupon, .woocommerce-Address-title .edit, .woocommerce-message .wc-forward { display: inline-block; padding-block: 8px; }
}
