/* PRINT-FORCE cart and checkout. Scoped separately from the account workspace. */
@font-face{font-family:'PF Commerce';src:url('https://print-force.nl/wp-content/uploads/fonts/Aldrich-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'PF Commerce Mono';src:url('https://print-force.nl/wp-content/uploads/fonts/SpaceMono-Regular.woff2') format('woff2');font-display:swap}
body.pfv-commerce .woocommerce{--pfv-border:#ffffff1c;color:#e7e7e7;font-family:'PF Commerce',sans-serif}
html body.pfv-commerce .pfv-commerce-hero,
html body.pfv-checkout .pf-container > .pf-hero{
 box-sizing:border-box;width:100%;max-width:960px!important;margin:32px auto 24px!important;padding:52px 24px 40px!important;
 border:1px solid #ffffff12!important;border-top-color:#752419!important;border-radius:12px!important;text-align:center;
 background-image:radial-gradient(ellipse at top,#711c0f2b,transparent 65%),linear-gradient(#ff000009 1px,transparent 1px),linear-gradient(90deg,#ff000009 1px,transparent 1px)!important;
 background-size:auto,28px 28px,28px 28px!important;background-position:center top;
}
body.pfv-commerce .pfv-commerce-hero .pfv-commerce-eyebrow{color:#ff6555;font:10px/1.5 'PF Commerce Mono',monospace;letter-spacing:2px;margin:0 0 16px}
html body.pfv-commerce .pfv-commerce-hero h1{font:clamp(32px,6vw,56px)/1.1 'PF Commerce',sans-serif!important;letter-spacing:0!important;color:#fff!important;margin:0 0 20px!important;padding:0!important;border:0!important}
body.pfv-commerce .pfv-commerce-hero h1 span{color:#f33}
body.pfv-commerce .pfv-commerce-hero > p:last-child{max-width:540px;margin:0 auto;color:#aaa;font:15px/1.8 'PF Commerce',sans-serif}
html body.pfv-checkout .pf-container > .pf-hero .pf-title{font-size:clamp(32px,6vw,56px);margin:0 0 20px}
html body.pfv-checkout .pf-container > .contact-map-wrapper{width:100%!important;max-width:960px!important;margin:0 auto!important}
html body.pfv-checkout .contact-map-wrapper > .contact-card{background:#141414!important;border:1px solid #ffffff1c!important;border-top:2px solid #8b342a!important;border-radius:16px!important;padding:clamp(18px,4vw,32px)!important;box-shadow:none!important;backdrop-filter:none!important}
html body.pfv-checkout .contact-card > .pf-corner{display:none}
html body.pfv-cart .woocommerce{box-sizing:border-box;width:100%!important;max-width:960px!important;margin:24px auto!important;padding:0!important;border:0!important;background:transparent!important}
html body.pfv-cart .woocommerce-cart-form,
html body.pfv-cart .cart-collaterals .cart_totals{box-sizing:border-box;background:#141414!important;border:1px solid #ffffff1c!important;border-top:2px solid #8b342a!important;border-radius:12px!important;padding:clamp(16px,3vw,28px)!important}
html body.pfv-cart .cart-collaterals{width:100%!important;margin:20px 0 0!important}
html body.pfv-cart .cart-collaterals .cart_totals{float:none!important;width:100%!important;max-width:none!important;margin:0!important}
html body.pfv-cart .show-me-wrapper{box-sizing:border-box;width:100%!important;max-width:960px!important;margin:20px auto!important;padding:20px!important;border:1px solid #ffffff1c;border-radius:12px;background:#141414}
html body.pfv-commerce .woocommerce :is(h2,h3){font-family:'PF Commerce',sans-serif!important;color:#fff!important;letter-spacing:.5px!important;font-size:20px!important;line-height:1.4}
html body.pfv-commerce .woocommerce :is(input.input-text,input[type=email],input[type=tel],input[type=text],input[type=password],input[type=number],select,textarea){box-sizing:border-box!important;max-width:100%;min-height:44px;padding:11px 12px!important;background:#202020!important;color:#fff!important;border:1px solid #ffffff35!important;border-radius:6px!important;font:14px/1.5 'PF Commerce',sans-serif!important;caret-color:#fff}
html body.pfv-commerce .woocommerce input::placeholder,
html body.pfv-commerce .woocommerce textarea::placeholder{color:#9c9c9c!important;opacity:1}
html body.pfv-commerce .woocommerce :is(input,textarea,select,button,a):focus-visible{outline:2px solid #ff756b!important;outline-offset:3px!important}
html body.pfv-commerce .woocommerce :is(input[type=checkbox],input[type=radio]){accent-color:#e54b42;width:18px!important;height:18px!important;flex-shrink:0}
html body.pfv-commerce .woocommerce .form-row label{color:#ccc!important;font:11px/1.6 'PF Commerce Mono',monospace!important;letter-spacing:.3px!important}
html body.pfv-commerce .woocommerce :is(input,textarea):-webkit-autofill{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #202020 inset!important}
html body.pfv-commerce .woocommerce .select2-container{max-width:100%!important}
html body.pfv-commerce .woocommerce .select2-selection{min-height:44px!important;background:#202020!important;border:1px solid #ffffff35!important;border-radius:6px!important}
html body.pfv-commerce .woocommerce .select2-selection__rendered{color:#fff!important;line-height:42px!important}
body.pfv-commerce .select2-dropdown{background:#202020!important;color:#eee!important;border-color:#555!important}
body.pfv-commerce .select2-search__field{background:#151515!important;color:#fff!important}
body.pfv-commerce .select2-results__option--highlighted{background:#86251f!important;color:#fff!important}
html body.pfv-commerce .woocommerce table.shop_table{width:100%!important;border:1px solid #ffffff18!important;border-radius:8px!important;border-collapse:separate!important;border-spacing:0!important;background:#181818!important;color:#ddd!important}
html body.pfv-commerce .woocommerce table.shop_table :is(th,td){padding:14px 12px!important;border-color:#ffffff12!important;color:inherit!important;vertical-align:middle;font-size:13px!important;letter-spacing:0!important}
html body.pfv-commerce .woocommerce table.shop_table thead th{background:#232323!important;color:#ff8b81!important;font:10px/1.5 'PF Commerce Mono',monospace!important;text-transform:uppercase}
html body.pfv-commerce .woocommerce .woocommerce-Price-amount,
html body.pfv-commerce .woocommerce .woocommerce-Price-amount bdi{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
html body.pfv-commerce .woocommerce table.shop_table .product-name{text-align:left!important;overflow-wrap:anywhere}
html body.pfv-commerce .woocommerce table.shop_table .product-name a{color:#eee!important;font:13px/1.6 'PF Commerce',sans-serif!important;letter-spacing:0!important}
html body.pfv-commerce .woocommerce table.shop_table .order-total :is(th,td){background:#28201f!important;color:#fff!important;font-weight:700!important}
html body.pfv-cart .woocommerce .quantity .qty{width:64px!important;text-align:center}
html body.pfv-cart .woocommerce td.product-thumbnail img{width:72px!important;max-width:72px!important;height:72px!important;object-fit:contain;background:#242424;border:1px solid #ffffff1c;border-radius:8px}
html body.pfv-cart .woocommerce .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
html body.pfv-cart .woocommerce .coupon #coupon_code{width:180px!important;margin:0!important}
html body.pfv-commerce .woocommerce :is(button.button,a.button,input.button),
html body.pfv-cart .show-me-wrapper .show-me-btn{border-radius:6px!important;border:1px solid #b53c33!important;background:#85251e!important;color:#fff!important;padding:12px 16px!important;min-height:44px;font:12px/1.5 'PF Commerce',sans-serif!important;text-decoration:none!important;letter-spacing:.5px!important}
html body.pfv-commerce .woocommerce :is(button.button,a.button,input.button):hover{background:#aa3027!important;color:#fff!important}
html body.pfv-commerce .woocommerce button.button:disabled{opacity:.45!important;cursor:not-allowed}
html body.pfv-cart .show-me-wrapper .show-me-btn:not(:first-child){background:#202020!important;border-color:#ffffff25!important;color:#ccc!important}
html body.pfv-checkout .woocommerce #place_order{width:100%!important;font-size:15px!important;min-height:50px}
html body.pfv-checkout .woocommerce #payment{background:transparent!important}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:0 12px!important;align-items:center!important;padding:0 16px!important;background:#1a1a1a!important;border:1px solid #ffffff24!important;border-radius:8px!important;overflow:visible!important}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li > input[type=radio]{margin:0!important;grid-column:1;grid-row:1}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li > label{grid-column:2;grid-row:1;min-width:0;padding:16px 0!important;line-height:1.5!important}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li:has(> input:checked){border-color:#bc5145!important;background:#241b19!important}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li > .payment_box{grid-column:1/-1;max-height:none!important;overflow:visible!important;opacity:1!important;transition:none!important;padding:16px 0!important;margin:0!important;background:transparent!important;color:#ccc!important}
html body.pfv-checkout .woocommerce #payment .payment_box::before{display:none!important}
html body.pfv-checkout .woocommerce #payment .payment_box label{padding:0!important;width:auto!important}
html body.pfv-checkout .woocommerce #payment .wc_payment_methods > li > label img{max-height:26px;width:auto;object-fit:contain;margin-left:auto!important}
html body.pfv-commerce .woocommerce :is(.wc-block-components-notice-banner,.woocommerce-info,.woocommerce-message,.woocommerce-error){box-sizing:border-box!important;background:#202020!important;color:#e6e6e6!important;border:1px solid #ffffff25!important;border-left:3px solid #d4594b!important;border-radius:8px!important;font-size:13px!important;line-height:1.6!important}
html body.pfv-commerce .woocommerce .wc-block-components-notice-banner > svg{background:#522b26!important;fill:#ffb7aa!important}
html body.pfv-commerce .woocommerce :is(.wc-block-components-notice-banner,.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button){color:#ffa499!important;text-decoration:underline!important}
html body.pfv-checkout .woocommerce #customer_details,
html body.pfv-checkout .woocommerce #order_review{min-width:0;width:100%!important}
@media(min-width:900px){
 html body.pfv-checkout .woocommerce .woocommerce-billing-fields__field-wrapper{display:flow-root}
 html body.pfv-checkout .woocommerce .form-row-first,html body.pfv-checkout .woocommerce .form-row-last{float:left!important;width:calc(50% - 8px)!important}
 html body.pfv-checkout .woocommerce .form-row-first{margin-right:16px!important}
 html body.pfv-checkout .woocommerce .form-row-wide{clear:both!important;width:100%!important}
}
@media(max-width:680px){
 html body.pfv-cart .woocommerce{width:calc(100% - 24px)!important;margin:24px auto!important}
 html body.pfv-commerce .pfv-commerce-hero,html body.pfv-checkout .pf-container > .pf-hero{padding:36px 18px 30px!important;margin-top:24px!important}
 html body.pfv-checkout .pf-container > .pf-hero,html body.pfv-checkout .pf-container > .contact-map-wrapper{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}
 html body.pfv-checkout .contact-map-wrapper > .contact-card{padding:18px 14px!important}
 html body.pfv-cart .show-me-wrapper{width:calc(100% - 24px)!important}
 html body.pfv-commerce .woocommerce :is(input.input-text,input[type=email],input[type=tel],input[type=text],select,textarea){font-size:16px!important}
 html body.pfv-checkout .woocommerce .form-row-first,html body.pfv-checkout .woocommerce .form-row-last{float:none!important;width:100%!important;margin-right:0!important}
 html body.pfv-checkout .woocommerce table.shop_table{table-layout:auto!important}
 html body.pfv-checkout .woocommerce table.shop_table .product-total{width:1%!important;white-space:nowrap!important}
 html body.pfv-commerce .woocommerce table.shop_table :is(th,td){padding:12px 9px!important}
 html body.pfv-cart .woocommerce table.cart thead{display:none!important}
 html body.pfv-cart .woocommerce table.cart,html body.pfv-cart .woocommerce table.cart tbody{display:block!important}
 html body.pfv-cart .woocommerce table.cart tr.cart_item{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:8px 12px;padding:16px 0;border-bottom:1px solid #ffffff18}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td{display:block!important;width:auto!important;border:0!important;padding:4px!important;text-align:left!important;background:transparent!important}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td::before{display:none!important}
 html body.pfv-cart .woocommerce table.cart td.product-thumbnail{grid-column:1;grid-row:1/3}
 html body.pfv-cart .woocommerce table.cart td.product-thumbnail img{width:60px!important;height:60px!important}
 html body.pfv-cart .woocommerce table.cart td.product-name{grid-column:2;grid-row:1}
 html body.pfv-cart .woocommerce table.cart td.product-price{grid-column:2;grid-row:2}
 html body.pfv-cart .woocommerce table.cart td.product-quantity{grid-column:2;grid-row:3}
 html body.pfv-cart .woocommerce table.cart td.product-subtotal{grid-column:2;grid-row:4;font-weight:700}
 html body.pfv-cart .woocommerce table.cart td.product-remove{grid-column:1;grid-row:3}
 html body.pfv-cart .woocommerce table.cart td.actions{display:block!important;padding:16px 0!important}
 html body.pfv-cart .woocommerce .coupon{float:none!important;margin-bottom:12px}
 html body.pfv-cart .woocommerce .coupon #coupon_code{flex:1;min-width:100px;width:auto!important}
}

/* Keep messaging and express wallets in normal document flow. */
html body.pfv-commerce .woocommerce :is(.wc-block-components-express-payment,.wc-stripe-payment-request-wrapper,.wc-stripe-express-checkout-element,#wc-stripe-payment-request-wrapper,#wc-stripe-express-checkout-element,.ppc-button-wrapper) {
 clear:both!important;float:none!important;margin-top:20px!important;margin-bottom:16px!important;
 max-height:none!important;overflow:visible!important;
}
html body.pfv-commerce .woocommerce .wc-block-components-express-payment__event-buttons > div,
html body.pfv-commerce .woocommerce .wc-block-components-express-payment__event-buttons > div > div {
 overflow:visible!important;max-height:none!important;border:0!important;
}
html body.pfv-commerce .woocommerce :is(klarna-placement,.klarna-placement,.wc-klarna-payments-on-site-messaging,.ppcp-messages) {
 display:block!important;position:relative!important;clear:both!important;float:none!important;
 width:100%!important;max-height:none!important;margin:12px 0 20px!important;
 overflow:visible!important;line-height:1.6!important;
}
html body.pfv-commerce .woocommerce :is(#ppc-button-ppcp-gateway,#ppc-button,.ppcp-button-apm) {
 clear:both!important;margin-top:16px!important;
}
/* Do not set iframe heights: the payment providers resize their own content. */

/* Mobile cart: clear label/value rows beneath the product heading. */
.pfv-qty-step {display:none!important;}
@media(max-width:680px){
 html body.pfv-cart .woocommerce table.cart tr.cart_item {
  grid-template-columns:60px minmax(0,1fr) 28px!important;
  gap:12px 10px!important;padding:16px 12px!important;margin-bottom:12px;
  border:1px solid #ffffff20!important;border-radius:10px;background:#181818;
 }
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-thumbnail {grid-column:1;grid-row:1;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-name {grid-column:2;grid-row:1;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-remove {grid-column:3;grid-row:1;padding:0!important;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-price {grid-column:1/-1;grid-row:2;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-quantity {grid-column:1/-1;grid-row:3;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td.product-subtotal {grid-column:1/-1;grid-row:4;border-top:1px solid #ffffff20!important;padding-top:12px!important;}
 html body.pfv-cart .woocommerce table.cart tr.cart_item td:is(.product-price,.product-quantity,.product-subtotal) {
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-width:0;
 }
 html body.pfv-cart .woocommerce table.cart tr.cart_item td:is(.product-price,.product-quantity,.product-subtotal)::before {
  content:attr(data-title);display:block!important;float:none!important;text-align:left;color:#aaa;font-size:11px;font-weight:400;
 }
 html body.pfv-cart .woocommerce .quantity.pfv-qty-controls {display:inline-flex!important;align-items:center;gap:0;flex-shrink:0;}
 html body.pfv-cart .woocommerce .quantity.pfv-qty-controls .qty {width:48px!important;min-width:0!important;height:44px!important;padding:0!important;margin:0!important;border-radius:0!important;appearance:textfield;-moz-appearance:textfield;}
 html body.pfv-cart .quantity.pfv-qty-controls .qty::-webkit-inner-spin-button,
 html body.pfv-cart .quantity.pfv-qty-controls .qty::-webkit-outer-spin-button {appearance:none;margin:0;}
 html body.pfv-cart .woocommerce .pfv-qty-step {display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;padding:0!important;margin:0!important;border:1px solid #ffffff35;border-radius:6px 0 0 6px;background:#282828;color:#fff;font:22px/1 sans-serif;cursor:pointer;}
 html body.pfv-cart .woocommerce .pfv-qty-step:last-child {border-radius:0 6px 6px 0;}
 html body.pfv-cart .woocommerce .pfv-qty-step:disabled {opacity:.35;cursor:default;}
}

/* Keep summary labels readable and the checkout choices together. */
html body.pfv-cart .cart_totals table.shop_table th {text-align:left!important;width:34%!important;}
html body.pfv-cart .cart_totals table.shop_table td {text-align:right!important;}
html body.pfv-cart .cart_totals table.shop_table {margin-bottom:20px!important;}
html body.pfv-cart .cart_totals .wc-proceed-to-checkout {clear:both;padding:0!important;}
/* The old page script can still relocate its controls; the hook above owns them now. */
html body.pfv-cart:has(.pfv-cart-actions) .show-me-wrapper {display:none!important;}
html body.pfv-cart .pfv-cart-actions {clear:both;width:100%;margin-top:20px;padding-top:20px;border-top:1px solid #ffffff20;}
html body.pfv-cart .woocommerce .pfv-cart-continue {display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:48px;margin:0!important;text-align:center;}
html body.pfv-cart .pfv-cart-secondary {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:12px;}
html body.pfv-cart .pfv-cart-secondary a {display:inline-flex;align-items:center;min-height:44px;color:#ccc!important;font:12px/1.5 'PF Commerce',sans-serif;text-decoration:underline;text-underline-offset:3px;}
html body.pfv-cart .pfv-cart-note {margin:12px 0 0;color:#999;font:11px/1.65 'PF Commerce',sans-serif;}
/* Size the outer PayPal containers, leaving provider iframe heights alone. */
html body.pfv-cart .cart_totals :is(.ppc-button-wrapper,#ppc-button-ppcp-gateway,#ppc-button,.ppcp-button-apm,.paypal-buttons,[id^="paypal-button-container"]) {
 box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
 float:none!important;margin-left:0!important;margin-right:0!important;
}
html body.pfv-cart .cart_totals :is(.wc-block-components-express-payment,.wc-stripe-payment-request-wrapper,.wc-stripe-express-checkout-element,#wc-stripe-payment-request-wrapper,#wc-stripe-express-checkout-element) {
 width:100%!important;max-width:none!important;box-sizing:border-box!important;padding-left:0!important;padding-right:0!important;
}
/* Reserve a separate row for Klarna so following wallet buttons cannot crowd it. */
html body.pfv-cart .cart_totals :is(klarna-placement,.klarna-placement,.klarna-payments-on-site-messaging,.wc-stripe-klarna-message) {
 display:block!important;position:relative!important;float:none!important;clear:both!important;
 width:100%!important;height:auto!important;min-height:64px!important;max-height:none!important;
 margin:16px 0 20px!important;padding:10px 0!important;overflow:visible!important;
 white-space:normal!important;line-height:1.6!important;box-sizing:border-box!important;
}
@media(max-width:680px){
 /* The legacy cart stacks main, WooCommerce and banner top margins. */
 html body.pfv-cart main.wp-block-group.woocommerce-cart {margin-top:0!important;padding-top:0!important;}
 html body.pfv-cart main.wp-block-group.woocommerce-cart > :is(.wp-block-post-content,.entry-content) {margin-top:0!important;padding-top:0!important;}
 html body.pfv-cart .woocommerce {margin-top:0!important;padding-top:0!important;}
 html body.pfv-cart .pfv-commerce-hero {margin-top:24px!important;}
 html body.pfv-cart header.container:has(#brand-logo) {margin-bottom:0!important;padding-top:10px!important;padding-bottom:10px!important;}
 html body.pfv-cart header.container .nav:has(#brand-logo) {padding-top:0!important;padding-bottom:0!important;}
 html body.pfv-cart header.container #brand-logo {height:80px!important;width:auto!important;max-width:100%!important;object-fit:contain;}
}

/* All three summary actions share one width, including narrow Pixel layouts. */
html body.pfv-cart .pfv-cart-actions,
html body.pfv-cart .pfv-cart-secondary {box-sizing:border-box;min-width:0;max-width:100%;}
html body.pfv-cart .pfv-cart-secondary {display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px;}
html body.pfv-cart .pfv-cart-secondary a {
 box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 width:100%!important;max-width:100%!important;min-height:44px;padding:10px 14px;
 margin:0!important;border:1px solid #ffffff25;border-radius:6px;background:#202020;
 text-align:center;text-decoration:none!important;line-height:1.5;
}
html body.pfv-cart .pfv-cart-actions > .pfv-cart-continue {box-sizing:border-box;max-width:100%!important;letter-spacing:.5px!important;white-space:normal!important;}

/* Live cart contains a wpautop paragraph with BR/SCRIPT/BR before WooCommerce.
   Hide its visual box only: the analytics script still executes normally. */
@media(max-width:680px){
 html body.pfv-cart main.woocommerce-cart > .entry-content > p:empty,
 html body.pfv-cart main.woocommerce-cart > .entry-content > p:has(> script):has(~ .woocommerce):not(:has(> :not(script,br))) {
  display:none!important;margin:0!important;padding:0!important;
 }
}

/* One 20px section gap from the summary to Trustpilot at every width. */
html body.pfv-cart main.woocommerce-cart,
html body.pfv-cart main.woocommerce-cart > .entry-content {
 margin-bottom:0!important;padding-bottom:0!important;
}
html body.pfv-cart main.woocommerce-cart .woocommerce,
html body.pfv-cart .cart-collaterals,
html body.pfv-cart .cart-collaterals .cart_totals {
 margin-bottom:0!important;
}
html body.pfv-cart main.woocommerce-cart > .entry-content > .woocommerce ~ p:empty {
 display:none!important;margin:0!important;padding:0!important;
}
html body.pfv-cart .tp-outer {
 margin-top:0!important;padding-top:20px!important;
}
html body.pfv-cart .tp-outer > .tp-shell {margin-top:0!important;}
