/* DNB Vinyl 6. Scoped overrides for the existing classic WooCommerce theme. */
body.dnb6 { --dnb6-accent:#df7438; }
body.dnb6-basket-open { overflow:hidden; }
#dnb6-basket { position:fixed; inset:0 0 0 auto; margin:0; width:min(440px,100%); max-width:100%; height:100dvh; max-height:100dvh; box-sizing:border-box; padding:24px; border:0; background:#fffdf8; color:#101416; box-shadow:-12px 0 60px #0003; overflow:auto; }
#dnb6-basket::backdrop { background:#10141680; }
#dnb6-basket .dnb6-basket-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
#dnb6-basket h2 { font-size:26px; margin:0; }
#dnb6-basket button { cursor:pointer; min-height:44px; }
#dnb6-basket [data-dnb6-close] { border:1px solid #ddd; background:transparent; color:#101416; border-radius:6px; padding:8px 16px; }
#dnb6-basket .woocommerce-mini-cart { list-style:none; padding:0; margin:20px 0; }
#dnb6-basket .woocommerce-mini-cart-item { position:relative; min-height:80px; border-bottom:1px solid #ddd; padding:16px 28px 16px 0; }
#dnb6-basket .woocommerce-mini-cart-item img { float:left; width:64px; height:64px; object-fit:cover; margin:0 12px 8px 0; border-radius:6px; }
#dnb6-basket .woocommerce-mini-cart-item a:not(.remove) { color:#101416; font-weight:700; }
#dnb6-basket .remove { position:absolute; right:0; top:14px; font-size:24px; padding:4px; }
#dnb6-basket .quantity { display:block; margin-top:8px; }
#dnb6-basket .woocommerce-mini-cart__buttons { display:flex; flex-direction:column; gap:10px; }
#dnb6-basket .woocommerce-mini-cart__buttons a { display:block; padding:14px; text-align:center; border:1px solid #101416; border-radius:6px; }
#dnb6-basket .woocommerce-mini-cart__buttons .checkout { order:-1; background:var(--dnb6-accent); color:#111; border-color:var(--dnb6-accent); font-weight:800; }
#dnb6-basket .dnb6-keep { width:100%; }
.dnb6-basket-note { font-size:14px; color:#58616a; }
.dnb6 :focus-visible { outline:3px solid #237580; outline-offset:3px; }
body.dnb6-checkout .site-header { position:static!important; }
body.dnb6-checkout .site-header__bar { display:flex!important; justify-content:space-between!important; min-height:76px!important; padding-block:12px!important; }
body.dnb6-checkout .site-header .site-navigation, body.dnb6-checkout .site-header__menu, body.dnb6-checkout .header-search, body.dnb6-checkout .site-header__panel, body.dnb6-checkout .site-header__utilities { display:none!important; }
body.dnb6-checkout .custom-logo-link img { max-height:52px!important; width:auto!important; }
.dnb6-continue { display:none; }
body.dnb6-checkout .dnb6-continue { display:inline-block; font-size:14px; color:#101416; }
body.dnb6.woocommerce-cart .site-main, body.dnb6-checkout .site-main { width:min(1280px,calc(100% - 32px))!important; padding-block:24px!important; }
body.dnb6.woocommerce-cart .page-panel, body.dnb6-checkout .page-panel { padding:clamp(16px,3vw,32px)!important; border-radius:16px!important; }
body.dnb6 .archive-header { margin-bottom:24px; }
body.dnb6-checkout .archive-title, body.dnb6.woocommerce-cart .archive-title { font-size:32px!important; }
body.dnb6-checkout .entry-content>.woocommerce { display:block!important; }
body.dnb6-checkout form.checkout { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important; gap:28px!important; align-items:start!important; }
body.dnb6-checkout form.checkout>* { grid-column:1/-1; }
body.dnb6-checkout #customer_details { grid-column:1!important; grid-row:auto!important; display:block!important; width:100%!important; max-width:none!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; }
body.dnb6-checkout #customer_details>.col-1, body.dnb6-checkout #customer_details>.col-2 { float:none!important; width:100%!important; padding:0!important; }
body.dnb6-checkout .dnb6-order-panel { grid-column:2!important; grid-row:auto!important; min-width:0; padding:20px; background:#faf9f5; border:1px solid #e5e2da; border-radius:12px; }
body.dnb6-checkout #order_review_heading { margin:0 0 16px!important; padding:0!important; border:0!important; font-size:22px!important; }
body.dnb6-checkout #order_review { display:block!important; width:100%!important; padding:0!important; margin:0!important; border:0!important; background:none!important; box-shadow:none!important; position:static!important; }
body.dnb6-checkout .woocommerce-billing-fields__field-wrapper, body.dnb6-checkout .woocommerce-shipping-fields__field-wrapper { display:grid!important; grid-template-columns:1fr 1fr!important; gap:12px!important; }
body.dnb6-checkout #customer_details .form-row { float:none!important; width:100%!important; margin:0!important; padding:0!important; grid-column:1/-1; }
body.dnb6-checkout #customer_details .form-row-first { grid-column:1; }
body.dnb6-checkout #customer_details .form-row-last { grid-column:2; }
body.dnb6-checkout #customer_details .form-row label { display:block!important; position:static!important; clip:auto!important; clip-path:none!important; width:auto!important; height:auto!important; overflow:visible!important; opacity:1!important; font-size:14px!important; margin:0 0 5px!important; }
body.dnb6-checkout #customer_details .input-text, body.dnb6-checkout #customer_details select { box-sizing:border-box!important; min-height:46px!important; padding:10px 12px!important; border:1px solid #c8cdce!important; border-radius:5px!important; font-size:16px!important; }
body.dnb6-checkout #customer_details textarea { min-height:80px!important; }
body.dnb6-checkout #ship-to-different-address { font-size:16px!important; margin:20px 0!important; }
.dnb6-extra { grid-column:1/-1; margin:4px 0 12px; }
.dnb6-extra summary, .dnb6-coupon summary { cursor:pointer; padding:10px 0; font-size:14px; text-decoration:underline; }
body.dnb6-checkout #order_review table.shop_table { display:table!important; width:100%!important; padding:0!important; border:0!important; box-shadow:none!important; background:none!important; }
body.dnb6-checkout #order_review table.shop_table thead { display:table-header-group!important; }
body.dnb6-checkout #order_review table.shop_table tbody { display:table-row-group!important; }
body.dnb6-checkout #order_review table.shop_table tfoot { display:table-footer-group!important; }
body.dnb6-checkout #order_review table.shop_table tr { display:table-row!important; }
body.dnb6-checkout #order_review table.shop_table th, body.dnb6-checkout #order_review table.shop_table td { display:table-cell!important; padding:10px 6px!important; width:auto!important; font-size:14px!important; vertical-align:top!important; }
body.dnb6-checkout #order_review .product-name img { width:44px!important; height:44px!important; object-fit:cover; }
body.dnb6-checkout .dnb-checkout-product-media { display:inline-block; width:44px!important; margin-right:8px; }
body.dnb6-checkout #order_review .woocommerce-shipping-methods { display:flex!important; flex-direction:column!important; gap:6px!important; min-width:0!important; }
body.dnb6-checkout #order_review .woocommerce-shipping-methods li { padding:8px!important; margin:0!important; }
body.dnb6-checkout #order_review .woocommerce-shipping-methods label { font-size:13px!important; }
body.dnb6-checkout #payment { width:100%!important; margin:16px 0 0!important; padding:0!important; background:none!important; }
body.dnb6-checkout #payment ul.payment_methods { padding:0!important; margin:0!important; }
body.dnb6-checkout #payment ul.payment_methods>li { padding:12px 0!important; margin:0!important; }
body.dnb6-checkout #payment div.payment_box { box-sizing:border-box!important; width:100%!important; margin:10px 0!important; padding:12px!important; }
body.dnb6-checkout #payment .place-order { padding:0!important; margin:12px 0 0!important; }
body.dnb6-checkout #place_order { width:100%!important; min-height:52px; margin:16px 0 0!important; background:var(--dnb6-accent)!important; color:#111!important; }
body.dnb6-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding:10px 16px!important; margin-bottom:20px!important; font-size:14px; }
body.dnb6-checkout .dnb-ioss-notice { font-size:13px!important; padding:12px!important; }
.dnb6-edit-basket { font-size:14px; }
.dnb6-cart-shortcut { display:flex; align-items:center; justify-content:space-between; gap:16px; grid-column:1/-1; padding:12px 0; }
body.dnb6.woocommerce-cart .entry-content>.woocommerce { display:grid!important; grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)!important; gap:24px!important; align-items:start; }
body.dnb6.woocommerce-cart .entry-content>.woocommerce>* { grid-column:1/-1; }
body.dnb6.woocommerce-cart .entry-content>.woocommerce>.woocommerce-cart-form { grid-column:1!important; min-width:0; }
body.dnb6.woocommerce-cart .entry-content>.woocommerce>.cart-collaterals { grid-column:2!important; min-width:0; }
body.dnb6.woocommerce-cart .cart-collaterals, body.dnb6.woocommerce-cart .cart_totals { width:100%!important; float:none!important; padding:0!important; margin:0!important; }
body.dnb6.woocommerce-cart table.shop_table { padding:12px!important; box-shadow:none!important; }
body.dnb6.woocommerce-cart .woocommerce-shipping-methods { display:flex!important; flex-direction:column!important; gap:6px!important; }
body.dnb6.woocommerce-cart .woocommerce-shipping-methods li { padding:8px!important; margin:0!important; }
body.dnb6.woocommerce-cart .woocommerce-shipping-methods label { font-size:14px!important; }
body.dnb6.woocommerce-cart .wc-proceed-to-checkout { padding:12px 0!important; }
body.dnb6.woocommerce-cart .checkout-button { width:100%!important; margin:0!important; }
body.dnb6.woocommerce-cart .dnb6-coupon .coupon { float:none!important; display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:960px) {
 body.dnb6-checkout form.checkout, body.dnb6.woocommerce-cart .entry-content>.woocommerce { grid-template-columns:minmax(0,1fr)!important; }
 body.dnb6-checkout .dnb6-order-panel, body.dnb6-checkout #customer_details, body.dnb6.woocommerce-cart .entry-content>.woocommerce>.cart-collaterals, body.dnb6.woocommerce-cart .entry-content>.woocommerce>.woocommerce-cart-form { grid-column:1!important; }
 .dnb6-cart-shortcut { position:sticky; top:0; background:#fffdf8; z-index:20; padding:12px; border-bottom:1px solid #ddd; }
 body.dnb6.woocommerce-cart .site-header { position:static!important; }
 body.dnb6-checkout .dnb6-order-panel { padding:14px; }
}
@media(max-width:480px) {
 body.dnb6-checkout .woocommerce-billing-fields__field-wrapper, body.dnb6-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr!important; }
 body.dnb6-checkout #customer_details .form-row-last { grid-column:1!important; }
 body.dnb6-checkout .site-main, body.dnb6.woocommerce-cart .site-main { width:calc(100% - 16px)!important; }
}
/* Product rows must fit the narrower basket column at every viewport. */
body.dnb6.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.dnb6.woocommerce-cart .woocommerce-cart-form table.shop_table tbody { display:block!important; width:100%!important; min-width:0!important; box-sizing:border-box!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form table.shop_table thead { display:none!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tr.cart_item { display:grid!important; grid-template-columns:60px minmax(0,1fr) 32px!important; grid-template-areas:'thumb name remove' 'thumb quantity subtotal'!important; gap:12px!important; padding:16px 0!important; margin:0!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tr.cart_item td { display:block!important; width:auto!important; padding:0!important; min-width:0!important; margin:0!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tr.cart_item td::before { display:none!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-thumbnail { grid-area:thumb!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img { width:56px!important; height:56px!important; object-fit:cover; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-name { grid-area:name!important; overflow-wrap:anywhere; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-remove { grid-area:remove!important; position:relative!important; z-index:5!important; pointer-events:auto!important; justify-self:end; align-self:start; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove { position:relative!important; z-index:6!important; pointer-events:auto!important; cursor:pointer!important; float:none!important; display:inline-flex!important; width:44px!important; height:44px!important; align-items:center; justify-content:center; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-price { display:none!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-quantity { grid-area:quantity!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.product-subtotal { grid-area:subtotal!important; justify-self:end; white-space:nowrap; }
body.dnb6.woocommerce-cart .woocommerce-cart-form .quantity .qty { width:70px!important; min-width:0!important; max-width:100%!important; min-height:44px!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tbody>tr:not(.cart_item) { display:block!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form td.actions { display:flex!important; flex-wrap:wrap; gap:12px; width:100%!important; box-sizing:border-box; padding:12px 0!important; }
body.dnb6.woocommerce-cart .cart_totals { padding:16px!important; border:1px solid #e5e2da!important; box-sizing:border-box; box-shadow:none!important; border-radius:12px; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table,
body.dnb6.woocommerce-cart .cart_totals table.shop_table tbody { display:block!important; width:100%!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table tr { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:8px; padding:10px 0!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table th,
body.dnb6.woocommerce-cart .cart_totals table.shop_table td { display:block!important; width:auto!important; padding:0!important; text-align:left!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table tr.shipping { grid-template-columns:minmax(0,1fr)!important; }
body.dnb6 .woocommerce-shipping-methods { list-style:none!important; padding:0!important; margin:8px 0!important; }
body.dnb6.woocommerce-cart .checkout-button,
body.dnb6 .dnb6-cart-shortcut .button { display:block!important; box-sizing:border-box; background:#df7438!important; color:#111!important; font-weight:800; text-align:center; padding:14px 20px!important; border-radius:6px; }
body.dnb6-checkout form.checkout { max-width:none!important; }
body.dnb6-checkout #order_review_heading { background:none!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tr.cart_item td.product-price { display:none!important; }
body.dnb6.woocommerce-cart .woocommerce-cart-form tr.cart_item { grid-template-columns:60px minmax(0,1fr) auto!important; }
body.dnb6.woocommerce-cart .woocommerce-shipping-methods li { border:1px solid #e5e2da; border-radius:5px; }
body.dnb6.woocommerce-cart .woocommerce-shipping-methods input { margin-right:6px; }
/* 6.0.2: allow currency-plugin explanations to wrap without crushing labels. */
body.dnb6.woocommerce-cart .cart_totals table.shop_table tr { grid-template-columns:minmax(100px,0.4fr) minmax(0,1fr)!important; column-gap:16px!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table th,
body.dnb6.woocommerce-cart .cart_totals table.shop_table td { min-width:0!important; max-width:100%!important; white-space:normal!important; overflow-wrap:anywhere; line-height:1.5!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table td::before { display:none!important; }
body.dnb6.woocommerce-cart .cart_totals table.shop_table td small { display:block; margin-top:6px; line-height:1.5; }
body.dnb6-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.dnb6-checkout .dnb-ioss-notice { position:relative!important; padding:14px 18px 14px 48px!important; line-height:1.5!important; }
body.dnb6-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.dnb6-checkout .dnb-ioss-notice::before { left:16px!important; top:14px!important; }
body.dnb6-checkout #billing_address_2_field,
body.dnb6-checkout #shipping_address_2_field { grid-column:1/-1!important; }
/* Empty basket: short routes back into the records. */
body.dnb6.woocommerce-cart .dnb6-empty-discover { grid-column:1/-1; padding:20px 0; }
body.dnb6.woocommerce-cart .dnb6-empty-discover h2 { margin:0 0 10px; font-size:26px; }
body.dnb6.woocommerce-cart .dnb6-empty-discover nav { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
body.dnb6.woocommerce-cart .dnb6-empty-discover nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid #c8cdce; border-radius:6px; color:#101416; background:#fff; font-weight:700; }
body.dnb6.woocommerce-cart .return-to-shop { grid-column:1/-1; margin:0 0 20px; }
body.dnb6.woocommerce-cart .return-to-shop a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border-radius:6px; background:#df7438; color:#111; font-weight:800; }
@media(max-width:480px) { body.dnb6.woocommerce-cart .return-to-shop a { display:flex; } }
/* Keep product identifiers together, allowing narrow screens to wrap. */
body.dnb6.single-product .dnb-single-identifiers { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 18px; }
body.dnb6.single-product .dnb-single-identifiers .dnb-single-catalogue-number { margin:0; max-width:100%; flex-wrap:wrap; overflow-wrap:anywhere; }
