/* PressFlow order journey. Presentation only; WooCommerce owns the transaction. */
.woocommerce-cart,.woocommerce-checkout{--wc-form-border-color:#c5c4ba;--wc-form-border-radius:3px;--wc-separator-color:#deddd4}
.pfd-order-heading{padding:28px 0 36px;background:var(--paper)}
.pfd-order-progress{margin-bottom:28px}
.pfd-order-progress ol{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0}
.pfd-order-progress li{display:flex;align-items:center;gap:9px;font:500 12px/1.4 var(--sans);color:#7c7b72}
.pfd-order-progress li+li:before{content:'';height:1px;width:36px;background:var(--line);margin-right:6px}
.pfd-order-step-number{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #cfcec4;border-radius:50%;font-size:11px}
.pfd-order-progress .is-current{color:var(--ink);font-weight:700}
.pfd-order-progress .is-current .pfd-order-step-number{background:var(--ink);border-color:var(--ink);color:#fff}
.pfd-order-progress .is-complete .pfd-order-step-number{background:#e4edef;border-color:#bdcdd1;color:var(--ink)}
.pfd-order-progress a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.pfd-order-heading-copy{display:flex;align-items:center;justify-content:space-between;gap:40px}
.pfd-order-heading .eyebrow{font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:12px}
.pfd-order-heading h1{font:700 clamp(36px,4vw,54px)/1.08 var(--display);letter-spacing:-.045em;margin:0 0 14px}
.pfd-order-heading-copy>div>p:last-child{font:400 15px/1.65 var(--sans);color:var(--muted);max-width:680px;margin:0}
.pfd-order-help{display:flex;align-items:center;gap:13px;flex-shrink:0;padding:14px 0 14px 24px;border-left:1px solid var(--line);font:400 12px/1.6 var(--sans);text-decoration:none;color:var(--muted)}
.pfd-order-help svg{width:22px;height:22px;color:var(--ink)}
.pfd-order-help strong{display:block;font-size:13px;color:var(--ink);font-weight:650}
.pfd-order-help:hover strong{text-decoration:underline;text-underline-offset:4px}
:is(.woocommerce-cart,.woocommerce-checkout).pfd-commerce-page .page-content{width:calc(100% - 96px);max-width:1320px;padding-bottom:70px;margin:auto}

/* Both implementations share type, paper surfaces, clear totals and controls. */
:is(.woocommerce-cart,.woocommerce-checkout) .page-content{font:400 15px/1.65 var(--sans);color:var(--ink)}
:is(.woocommerce-cart,.woocommerce-checkout) .page-content :is(h2,h3,.wc-block-components-title){font-family:var(--display);font-weight:650;letter-spacing:-.025em;line-height:1.25}
:is(.woocommerce-cart,.woocommerce-checkout) .page-content :is(a.button,button.button,.wc-block-components-button:not(.is-link)){border-radius:3px;background:var(--ink);border:1px solid var(--ink);color:#fff;box-shadow:none;min-height:48px;padding:13px 20px;font:650 14px/1.4 var(--sans);text-decoration:none}
:is(.woocommerce-cart,.woocommerce-checkout) .page-content :is(a.button,button.button,.wc-block-components-button:not(.is-link)):hover{background:#303437;color:#fff;border-color:#303437}
:is(.woocommerce-cart,.woocommerce-checkout) .page-content :is(input,select,textarea):focus-visible{outline:2px solid #535c60;outline-offset:2px}
:is(.woocommerce-cart,.woocommerce-checkout) .page-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner){border-radius:3px;font-size:13px;box-shadow:none}

/* Classic basket: a generous product sheet and separate order-summary card. */
.woocommerce-cart .page-content>.woocommerce{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:28px;align-items:start}
.woocommerce-cart .page-content>.woocommerce>:not(.woocommerce-cart-form):not(.cart-collaterals){grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .cart-collaterals{grid-column:2;width:100%}
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals{float:none;width:100%;background:#eae8df;border:1px solid #d6d4ca;border-top:3px solid var(--ink);border-radius:3px;padding:25px}
.woocommerce-cart .woocommerce .cart_totals h2{font-size:25px;margin-bottom:18px}
.woocommerce-cart .woocommerce table.cart{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fffefa;margin:0}
.woocommerce-cart .woocommerce table.cart thead{background:#eae8df}
.woocommerce-cart .woocommerce table.cart th{font-size:11px;font-weight:650;letter-spacing:.035em;padding:13px 16px}
.woocommerce-cart .woocommerce table.cart td{padding:22px 16px;border-color:var(--line);vertical-align:top}
.woocommerce-cart .woocommerce table.cart .product-thumbnail{width:112px}
.woocommerce-cart .woocommerce table.cart .product-thumbnail img{width:90px;height:90px;object-fit:contain;background:#f0eee5;border-radius:3px;padding:6px}
.woocommerce-cart .woocommerce table.cart .product-name>a{font-size:17px;font-weight:650;line-height:1.4;text-decoration:none}
.woocommerce-cart .woocommerce table.cart a.remove{width:22px;height:22px;font-size:20px;color:#77776d!important;border:1px solid var(--line);border-radius:50%;line-height:19px}
.woocommerce-cart .woocommerce table.cart a.remove:hover{background:#eee6e0;color:#7d302f!important}
.woocommerce-cart .woocommerce table.cart td.actions{background:#f3f1e9;padding:16px}
.woocommerce-cart .woocommerce table.cart td.actions .coupon{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.woocommerce-cart .woocommerce table.cart td.actions .coupon input{width:150px;min-height:44px;margin:0;background:#fffefa;border-radius:3px;font:400 13px/1.4 var(--sans)}
.woocommerce-cart .woocommerce table.cart td.actions .button{min-height:44px;font-size:12px;padding:11px 14px}
.woocommerce-cart .woocommerce .cart_totals table{border:0;background:transparent;font-size:13px}
.woocommerce-cart .woocommerce .cart_totals table :is(th,td){padding:13px 0;border-color:#d0cec3}
.woocommerce-cart .woocommerce .cart_totals table th{font-weight:500}
.woocommerce-cart .woocommerce .cart_totals table td{text-align:right}
.woocommerce-cart .woocommerce .cart_totals .order-total :is(th,td){font-size:18px;color:var(--ink)}
.woocommerce-cart .woocommerce .wc-proceed-to-checkout{padding:10px 0 0}
.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button{margin:0;font-size:15px;min-height:52px}
.woocommerce-cart .woocommerce .cross-sells{float:none;width:100%;margin-bottom:24px}

/* PressFlow's saved specifications remain legible, without truncation. */
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce td dl.variation{display:grid;grid-template-columns:minmax(85px,.8fr) minmax(0,1.2fr);gap:5px 12px;margin:14px 0 0;padding:14px;border:1px solid #e1dfd5;border-radius:3px;background:#f5f3eb;font:400 12px/1.55 var(--sans);text-align:left}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce td dl.variation :is(dt,dd){float:none;clear:none;padding:0;margin:0;min-width:0;overflow-wrap:anywhere}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce td dl.variation dt{font-weight:500;color:#6b6a60}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce td dl.variation dd p{margin:0}

/* Classic checkout: customer details and order review have distinct surfaces. */
.woocommerce-checkout .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);column-gap:32px;grid-template-rows:min-content auto;align-items:start}
.woocommerce-checkout form.checkout>#customer_details{grid-column:1;grid-row:1 / span 2;background:#fffefa;border:1px solid var(--line);border-radius:3px;padding:28px}
.woocommerce-checkout form.checkout #customer_details :is(.col-1,.col-2){float:none;width:100%;padding:0}
.woocommerce-checkout form.checkout #customer_details .col-2{margin-top:30px}
.woocommerce-checkout form.checkout>#order_review_heading{grid-column:2;grid-row:1;font-size:25px;margin:0;padding:24px 24px 18px;background:#eae8df;border:1px solid #d6d4ca;border-top:3px solid var(--ink);border-bottom:0;border-radius:3px 3px 0 0}
.woocommerce-checkout form.checkout>#order_review{grid-column:2;grid-row:2;background:#eae8df;border:1px solid #d6d4ca;border-top:0;padding:0 24px 24px;border-radius:0 0 3px 3px;min-width:0}
.woocommerce-checkout form.checkout>:not(#customer_details):not(#order_review):not(#order_review_heading){grid-column:1/-1}
.woocommerce-checkout .woocommerce form.checkout h3{font-size:25px}
.woocommerce-checkout .woocommerce form .form-row label{font-size:12px;font-weight:600;color:#4d4d45}
.woocommerce-checkout .woocommerce form.checkout :is(input.input-text,select,textarea){background:#fff;border:1px solid #c5c4ba;border-radius:3px;min-height:48px;padding:12px;font:400 14px/1.5 var(--sans)}
.woocommerce-checkout .woocommerce .select2-container .select2-selection--single{border-radius:3px;background:#fff;border-color:#c5c4ba}
.woocommerce-checkout .woocommerce #order_review table.shop_table{background:transparent;border:0;font-size:13px;margin-bottom:22px}
.woocommerce-checkout .woocommerce #order_review table.shop_table :is(th,td){padding:14px 0;border-color:#d0cec3;vertical-align:top}
.woocommerce-checkout .woocommerce #order_review table.shop_table th{font-weight:600}
.woocommerce-checkout .woocommerce #order_review .product-total{text-align:right;white-space:nowrap;padding-left:12px}
.woocommerce-checkout .woocommerce #order_review .order-total :is(th,td){font-size:18px}
.woocommerce-checkout .woocommerce #payment{border:1px solid #d2d0c5;background:#f8f6ee;border-radius:3px;font-size:13px}
.woocommerce-checkout .woocommerce #payment ul.payment_methods{border-bottom-color:#d2d0c5;padding:18px}
.woocommerce-checkout .woocommerce #payment div.payment_box{background:#fff;border:1px solid var(--line);border-radius:3px;line-height:1.6}
.woocommerce-checkout .woocommerce #payment div.payment_box:before{border-bottom-color:#fff}
.woocommerce-checkout .woocommerce #payment div.form-row{padding:18px}
.woocommerce-checkout .woocommerce #place_order{float:none;width:100%;min-height:52px;font-size:15px;margin-top:18px}
.woocommerce-checkout .woocommerce-privacy-policy-text,.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:12px;line-height:1.65;color:var(--muted)}

/* Native WooCommerce blocks: keep React and gateway DOM untouched. */
:is(.woocommerce-cart,.woocommerce-checkout) :is(.wc-block-cart,.wc-block-checkout){font-family:var(--sans);font-size:14px;--wc-form-border-radius:3px}
.woocommerce-cart .wc-block-cart__main{background:#fffefa;border:1px solid var(--line);border-radius:3px;padding:24px}
.woocommerce-cart .wc-block-cart__sidebar,.woocommerce-checkout .wc-block-checkout__sidebar{background:#eae8df;border:1px solid #d6d4ca;border-top:3px solid var(--ink);border-radius:3px;padding:24px}
.woocommerce-checkout .wc-block-checkout__main{background:#fffefa;border:1px solid var(--line);border-radius:3px;padding:28px}
.woocommerce-checkout .wc-block-components-checkout-step{margin-bottom:26px}
.woocommerce-checkout .wc-block-components-checkout-step__title{font-size:24px}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-product-name{font:650 16px/1.4 var(--sans);color:var(--ink);text-decoration:none}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-product-details{font:400 12px/1.6 var(--sans);color:#66665d;padding:10px 12px;background:#f3f1e8;border-radius:3px;margin-top:12px;overflow-wrap:anywhere}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-product-details__name{font-weight:500;color:#66665d}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-product-details__value{color:var(--ink)}
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img,.woocommerce-checkout .wc-block-components-order-summary-item__image img{object-fit:contain;background:#f0eee5;border-radius:3px}
.woocommerce-cart .wc-block-cart-item__remove-link{font-size:11px;color:#747469;text-underline-offset:3px}
.woocommerce-cart .wc-block-cart__totals-title{font:650 25px/1.3 var(--display)!important;text-transform:none!important;color:var(--ink)}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-totals-item{font-size:13px;padding-block:14px}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-totals-footer-item{font-size:18px;font-weight:650}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-panel__button{font:600 13px/1.5 var(--sans)}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-quantity-selector{border-radius:3px;background:#fff}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-quantity-selector button{color:var(--ink);background:transparent;border-radius:0}
:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-text-input input,:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-combobox-control input,:is(.woocommerce-cart,.woocommerce-checkout) .wc-block-components-textarea{border-radius:3px;background:#fff;border-color:#c5c4ba;font-family:var(--sans)}
.woocommerce-checkout .wc-block-components-radio-control-accordion-option{background:#fffefa;border-radius:3px}
.woocommerce-checkout .wc-block-components-radio-control__option{font-size:13px}
.woocommerce-checkout .wc-block-checkout__terms{font-size:12px;color:var(--muted)}

/* Empty baskets and order confirmation are part of the same visual journey. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block{padding:36px;background:#fffefa;border:1px solid var(--line);border-radius:3px}
.woocommerce-cart .cart-empty.woocommerce-info{background:#fffefa;padding:28px 28px 28px 58px;border:1px solid var(--line);border-left:3px solid var(--cyan)}
.woocommerce-cart .return-to-shop{margin-bottom:24px}
.woocommerce-order-received .woocommerce-order{background:#fffefa;border:1px solid var(--line);border-top:3px solid var(--ink);padding:28px;border-radius:3px}
.woocommerce-order-received .woocommerce-order-overview{padding:20px;background:#eae8df;border-radius:3px;margin:24px 0}
.woocommerce-order-received .woocommerce-customer-details address{border:1px solid var(--line);border-radius:3px;padding:20px;background:#f5f3eb}

@media(min-width:1101px){.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{top:90px}.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{top:122px}}
@media(max-width:1200px){:is(.woocommerce-cart,.woocommerce-checkout).pfd-commerce-page .page-content{width:calc(100% - 64px)}}
@media(max-width:1000px){
 .woocommerce-cart .page-content>.woocommerce,.woocommerce-checkout .woocommerce form.checkout{display:block}
 .woocommerce-cart .cart-collaterals{margin-top:24px}.woocommerce-checkout form.checkout>#order_review_heading{margin-top:24px}
 .pfd-order-heading-copy{gap:24px}.pfd-order-help{padding-left:16px}
}
@media(max-width:800px){
 :is(.woocommerce-cart,.woocommerce-checkout).pfd-commerce-page .page-content{width:calc(100% - 40px)}
 .pfd-order-heading{padding:22px 0 28px}.pfd-order-progress ol{gap:10px}.pfd-order-progress li{font-size:10px;gap:6px}
 .pfd-order-progress li+li:before{width:12px;margin-right:0}.pfd-order-step-number{width:21px;height:21px;font-size:10px}
 .pfd-order-heading-copy{display:block}.pfd-order-help{border:0;padding:12px 0 0;margin-top:10px;gap:10px}
 .pfd-order-heading h1{font-size:36px}.pfd-order-heading-copy>div>p:last-child{font-size:14px}
 .woocommerce-cart .woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout form.checkout>#customer_details{padding:20px}
 .woocommerce-checkout form.checkout>#order_review_heading{padding:20px 20px 16px}.woocommerce-checkout form.checkout>#order_review{padding:0 20px 20px}
 .woocommerce-cart .wc-block-cart__main,.woocommerce-cart .wc-block-cart__sidebar,.woocommerce-checkout .wc-block-checkout__sidebar,.woocommerce-checkout .wc-block-checkout__main{padding:18px}
 .woocommerce-cart .woocommerce table.cart td{padding:16px}.woocommerce-cart .woocommerce table.cart .product-name{text-align:left!important}
 :is(.woocommerce-cart,.woocommerce-checkout) .woocommerce td dl.variation{grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);padding:10px;font-size:11px}
 .woocommerce-order-received .woocommerce-order{padding:20px}.woocommerce-cart .wp-block-woocommerce-empty-cart-block{padding:24px}
}
@media(prefers-reduced-motion:reduce){.pfd-order-heading *{scroll-behavior:auto}}
