/* Portal Checkout: basket page. Uses the Stepped Checkout's colours, sizes and buttons (--pco-*). */
.portal-cart{font-family:inherit;font-size:var(--pco-text-size,16px);color:var(--pco-text-color,#334155);line-height:1.6;max-width:100%}
.portal-cart *{box-sizing:border-box}

/* ---------- Two columns ---------- */
.portal-cart .pcart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:var(--pco-gap,28px);align-items:start;clear:both}
.portal-cart .pcart-main,.portal-cart .pcart-grid>.cart-collaterals{min-width:0}
.portal-cart .pcart-main{background:var(--pco-background,#fff);border:1px solid var(--pco-border-color,#e2e8f0);border-radius:var(--pco-radius,16px);padding:var(--pco-padding,28px)}
.portal-cart .pcart-grid>.cart-collaterals{width:100%!important;float:none!important;margin:0!important;padding:0!important}
.portal-cart.pco-sticky .pcart-grid>.cart-collaterals{position:sticky;top:var(--pco-sticky-offset,100px)}
.portal-cart .pcart-grid>.cart-collaterals .cart_totals{width:100%!important;float:none!important;margin:0!important;background:var(--pco-background,#fff);border:1px solid var(--pco-border-color,#e2e8f0);border-radius:var(--pco-radius,16px);padding:var(--pco-padding,28px)}
.portal-cart .woocommerce-cart-form{margin:0!important}

/* ---------- Products ---------- */
.portal-cart.pcart-layout table.shop_table.cart{display:block;width:100%;margin:0!important;border:0!important;border-radius:0!important;border-collapse:collapse;font-size:1em}
.portal-cart.pcart-layout table.shop_table.cart thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.portal-cart.pcart-layout table.shop_table.cart tbody{display:block}
.portal-cart.pcart-layout table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-template-areas:"thumb name subtotal" "thumb price price" "thumb qty remove";column-gap:18px;row-gap:4px;align-items:center;padding:20px 0;border-bottom:1px solid var(--pco-border-color,#e2e8f0);background:transparent!important}
.portal-cart.pcart-layout table.shop_table.cart tr.cart_item:first-child{padding-top:0}
.portal-cart.pcart-layout table.shop_table.cart tr.cart_item td{display:block!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;text-align:left!important;width:auto!important;min-width:0;overflow-wrap:anywhere}
.portal-cart.pcart-layout table.shop_table.cart tr.cart_item td::before{display:none!important;content:none!important}
.portal-cart.pcart-layout td.product-thumbnail{grid-area:thumb;align-self:start;display:block!important}
.portal-cart.pcart-layout td.product-thumbnail img{display:block;width:88px!important;max-width:88px!important;height:88px!important;object-fit:cover;border-radius:calc(var(--pco-radius,16px)/2);background:#f3f4f6}
.portal-cart.pcart-layout td.product-name{grid-area:name;font-weight:600;color:var(--pco-heading-color,#172033);line-height:1.4}
.portal-cart.pcart-layout td.product-name a{color:inherit;text-decoration:none}
.portal-cart.pcart-layout td.product-name a:hover{text-decoration:underline}
.portal-cart.pcart-layout td.product-name dl.variation,.portal-cart.pcart-layout td.product-name .backorder_notification{margin:4px 0 0;font-weight:400;font-size:.85em;opacity:.8}
.portal-cart.pcart-layout td.product-name dl.variation dt,.portal-cart.pcart-layout td.product-name dl.variation dd{display:inline;margin:0;padding:0;float:none;font-weight:400}
.portal-cart.pcart-layout td.product-name dl.variation dd{margin:0 10px 0 4px}
.portal-cart.pcart-layout td.product-name dl.variation dd p{display:inline;margin:0}
.portal-cart.pcart-layout td.product-price{grid-area:price;font-size:.9em;opacity:.8}
.portal-cart.pcart-layout td.product-subtotal{grid-area:subtotal;justify-self:end;align-self:start;font-weight:600;white-space:nowrap;text-align:right!important}
.portal-cart.pcart-layout td.product-quantity{grid-area:qty;margin-top:8px!important}
/* Fixed quantities (sold individually, bundles) have nothing to adjust. */
.portal-cart.pcart-layout .quantity.hidden,.portal-cart.pcart-layout .quantity:has(>input[type="hidden"]){display:none!important}
.portal-cart.pcart-layout td.product-remove{grid-area:remove;justify-self:end;align-self:end}

/* Quantity: − box + */
.portal-cart.pcart-layout .quantity{display:inline-flex!important;flex:0 0 auto;align-items:stretch;width:auto!important;min-width:max-content!important;max-width:none!important;height:38px;margin:0!important;padding:0!important;float:none!important;border:1px solid var(--pco-border-color,#e2e8f0);border-radius:var(--pco-field-radius,8px);overflow:visible;background:var(--pco-background,#fff)}
.portal-cart.pcart-layout .quantity input.qty{flex:0 0 52px!important;width:52px!important;min-width:0!important;max-width:52px!important;box-sizing:border-box!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:inherit!important;text-align:center;-moz-appearance:textfield;appearance:textfield}
.portal-cart.pcart-layout .quantity input.qty::-webkit-outer-spin-button,.portal-cart.pcart-layout .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.portal-cart.pcart-layout .pcart-step{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:100%!important;min-height:0!important;visibility:visible!important;text-indent:0!important;letter-spacing:0!important;text-transform:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:inherit;font-size:18px;line-height:1;cursor:pointer}
.portal-cart.pcart-layout .pcart-step:hover:not(:disabled),.portal-cart.pcart-layout .pcart-step:focus-visible{background:rgba(0,0,0,.06)!important}
.portal-cart.pcart-layout .pcart-step:disabled{opacity:.35;cursor:default}
.portal-cart.pcart-layout .pcart-step::before,.portal-cart.pcart-layout .pcart-step::after{display:none!important;content:none!important}
.portal-cart.pcart-layout .pcart-step[data-step="-1"]{border-radius:calc(var(--pco-field-radius,8px) - 1px) 0 0 calc(var(--pco-field-radius,8px) - 1px)!important;border-right:1px solid var(--pco-border-color,#e2e8f0)!important}
.portal-cart.pcart-layout .pcart-step[data-step="1"]{border-radius:0 calc(var(--pco-field-radius,8px) - 1px) calc(var(--pco-field-radius,8px) - 1px) 0!important;border-left:1px solid var(--pco-border-color,#e2e8f0)!important}

/* Remove */
.portal-cart.pcart-layout a.remove{display:inline!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:inherit!important;font-size:.85em!important;font-weight:400!important;line-height:1.4!important;text-indent:0!important;text-decoration:underline!important;text-underline-offset:2px;opacity:.75}
.portal-cart.pcart-layout a.remove:hover{opacity:1;text-decoration:none!important;background:none!important;color:inherit!important}
.portal-cart.pcart-layout a.remove::before,.portal-cart.pcart-layout a.remove::after{display:none!important}

/* Coupon and update row */
.portal-cart.pcart-layout table.shop_table.cart tr:not(.cart_item){display:block;background:transparent!important}
.portal-cart.pcart-layout table.shop_table.cart td.actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 0!important;border:0!important;text-align:left!important;background:transparent!important}
.portal-cart.pcart-layout td.actions::before,.portal-cart.pcart-layout td.actions::after,.portal-cart.pcart-layout td.actions .coupon::before,.portal-cart.pcart-layout td.actions .coupon::after{display:none!important;content:none!important}
.portal-cart.pcart-layout td.actions .coupon{display:flex!important;flex:1 1 280px;gap:8px;float:none!important;min-width:0;margin:0!important;padding:0!important;max-width:420px}
.portal-cart.pcart-layout td.actions .coupon input.input-text{flex:1 1 0;width:0!important;min-width:0;float:none!important;margin:0!important;padding:9px 12px!important;border:1px solid var(--pco-border-color,#e2e8f0)!important;border-radius:var(--pco-field-radius,8px)!important;background:var(--pco-background,#fff)!important;color:inherit!important;font:inherit!important;box-shadow:none!important}
.portal-cart.pcart-layout td.actions .button{float:none!important;margin:0!important;width:auto!important;flex:0 0 auto;white-space:nowrap}
.portal-cart .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important;border:0!important}
.portal-cart.pcart-layout td.actions .coupon .button,.portal-cart.pcart-layout td.actions>.button{font-family:inherit!important;font-size:.9em!important;font-weight:600!important;padding:9px 16px!important;border:2px solid var(--pco-button-bg,#334155)!important;border-radius:var(--pco-button-radius,8px)!important;background:transparent!important;color:var(--pco-button-bg,#334155)!important;line-height:1.4!important}
.portal-cart.pcart-layout td.actions .button::after{display:none!important}
.portal-cart.pcart-layout.pcart-auto.pcart-js td.actions>button[name="update_cart"]{display:none!important}

/* WooCommerce's own cross-sells, under the products */
.portal-cart .pcart-main .cross-sells{width:100%!important;float:none!important;margin:28px 0 0!important;padding-top:24px;border-top:1px solid var(--pco-border-color,#e2e8f0)}
.portal-cart .pcart-main .cross-sells>h2{font-size:1.1em;margin:0 0 16px;padding:0;color:var(--pco-heading-color,#172033)}

/* ---------- Totals card ---------- */
.portal-cart .cart_totals>h2{font-family:inherit;font-size:var(--pco-heading-size,24px);font-weight:600;line-height:1.3;color:var(--pco-heading-color,#172033);margin:0 0 18px;padding:0}
.portal-cart .cart_totals table.shop_table{width:100%;margin:0!important;border:0!important;border-radius:0!important;border-collapse:collapse;font-size:.95em}
.portal-cart .cart_totals table.shop_table th,.portal-cart .cart_totals table.shop_table td{padding:12px 0!important;border:0!important;border-top:1px solid var(--pco-border-color,#e2e8f0)!important;background:transparent!important;vertical-align:top;overflow-wrap:anywhere}
.portal-cart .cart_totals table.shop_table tr:first-child th,.portal-cart .cart_totals table.shop_table tr:first-child td{border-top:0!important}
.portal-cart .cart_totals table.shop_table th{font-weight:400;text-align:left;padding-right:12px!important;width:auto!important}
.portal-cart .cart_totals table.shop_table td{text-align:right!important}
.portal-cart .cart_totals table.shop_table td::before{display:none!important}
.portal-cart .cart_totals table.shop_table tr{display:table-row!important}
.portal-cart .cart_totals table.shop_table th,.portal-cart .cart_totals table.shop_table td{display:table-cell!important}
.portal-cart .cart_totals .order-total th,.portal-cart .cart_totals .order-total td{font-weight:700;font-size:1.1em;color:var(--pco-heading-color,#172033)}
.portal-cart .cart_totals .amount{white-space:nowrap}
.portal-cart .cart_totals #shipping_method{margin:0;padding:0;list-style:none;text-align:right}
.portal-cart .cart_totals .woocommerce-shipping-destination,.portal-cart .cart_totals .shipping-calculator-button{font-size:.85em}
.portal-cart .wc-proceed-to-checkout{padding:18px 0 0!important;margin:0!important}
.portal-cart .wc-proceed-to-checkout a.checkout-button{display:block!important;width:100%!important;margin:0!important;padding:14px 18px!important;font-family:inherit!important;font-size:var(--pco-button-size,16px)!important;font-weight:600!important;text-transform:var(--pco-button-case,none);text-align:center;line-height:1.4!important;border:2px solid var(--pco-button-bg,#334155)!important;border-radius:var(--pco-button-radius,8px)!important;background:var(--pco-button-bg,#334155)!important;color:var(--pco-button-color,#fff)!important;text-decoration:none!important}
.portal-cart.pco-buttons-outline .wc-proceed-to-checkout a.checkout-button{background:transparent!important;color:var(--pco-button-bg,#334155)!important}
.portal-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--pco-button-hover-bg,#172033)!important;border-color:var(--pco-button-hover-bg,#172033)!important;color:var(--pco-button-hover-color,#fff)!important}
.portal-cart .wc-proceed-to-checkout a.checkout-button::after{display:none!important}
/* Suggestions panel inside the totals card */
.portal-cart .cart_totals>.pwt-addons.pwt-checkout-addons{margin:0 0 22px;padding:0 0 22px;border:0;border-bottom:1px solid var(--pco-border-color,#e2e8f0);border-radius:0;background:transparent}

.portal-cart a:focus-visible,.portal-cart button:focus-visible,.portal-cart input:focus-visible{outline:2px solid var(--pco-accent,#334155);outline-offset:2px}
.portal-cart .blockUI.blockOverlay{border-radius:var(--pco-radius,16px)}

/* ---------- Empty basket ---------- */
.portal-cart .wc-empty-cart-message{max-width:560px;margin:20px auto 0;text-align:center}
.portal-cart .wc-empty-cart-message .cart-empty{margin:0!important;padding:56px 28px 20px!important;border:1px solid var(--pco-border-color,#e2e8f0)!important;border-bottom:0!important;border-radius:var(--pco-radius,16px) var(--pco-radius,16px) 0 0!important;background:var(--pco-background,#fff)!important;color:var(--pco-heading-color,#172033)!important;font-size:1.25em;font-weight:600;text-align:center;box-shadow:none!important}
.portal-cart .wc-empty-cart-message .cart-empty::before{content:""!important;position:static!important;display:block!important;width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:var(--pco-border-color,#e2e8f0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center/26px no-repeat;color:transparent!important;font-size:0!important}
.portal-cart .return-to-shop{max-width:560px;margin:0 auto 20px!important;padding:0 28px 40px;border:1px solid var(--pco-border-color,#e2e8f0);border-top:0;border-radius:0 0 var(--pco-radius,16px) var(--pco-radius,16px);background:var(--pco-background,#fff);text-align:center}
.portal-cart .return-to-shop a.button{display:inline-block;padding:12px 24px!important;font-family:inherit!important;font-size:var(--pco-button-size,16px)!important;font-weight:600!important;text-transform:var(--pco-button-case,none);border:2px solid var(--pco-button-bg,#334155)!important;border-radius:var(--pco-button-radius,8px)!important;background:var(--pco-button-bg,#334155)!important;color:var(--pco-button-color,#fff)!important;text-decoration:none!important;line-height:1.4!important}
.portal-cart .return-to-shop a.button:hover{background:var(--pco-button-hover-bg,#172033)!important;border-color:var(--pco-button-hover-bg,#172033)!important;color:var(--pco-button-hover-color,#fff)!important}
.portal-cart .return-to-shop a.button::before,.portal-cart .return-to-shop a.button::after{display:none!important}

/* ---------- Smaller screens ---------- */
@media (min-width:981px){
	/* A tall totals card stays reachable while fixed. */
	.portal-cart.pco-sticky .pcart-grid>.cart-collaterals{max-height:calc(100vh - var(--pco-sticky-offset,100px) - 16px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
}
@media (max-width:980px){
	.portal-cart .pcart-grid{grid-template-columns:minmax(0,1fr)}
	.portal-cart.pco-sticky .pcart-grid>.cart-collaterals{position:static}
	.portal-cart .pcart-main,.portal-cart .pcart-grid>.cart-collaterals .cart_totals{padding:min(var(--pco-padding,28px),20px)}
}
@media (max-width:550px){
	.portal-cart.pcart-layout table.shop_table.cart tr.cart_item{grid-template-columns:64px minmax(0,1fr) auto;column-gap:12px}
	.portal-cart.pcart-layout td.product-thumbnail img{width:64px!important;max-width:64px!important;height:64px!important}
	.portal-cart .cart_totals>h2{font-size:min(var(--pco-heading-size,24px),22px)}
}
