@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap");
.l4d-basket-page { --ink:#17352f; --green:#315f57; --green-dark:#214840; --lime:#8aa55e; --orange:#e98b3f; --paper:#fffdf9; --soft:#f1f4ed; --line:#dce4de; --muted:#69807c; width:100%; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }.l4d-basket-page * { box-sizing:border-box; }.l4d-basket-page :where(a) { color:inherit; text-decoration:none; }.l4d-basket-page :where(button,input,select) { font:inherit; color-scheme:light; }.l4d-basket-page button { appearance:none; -webkit-appearance:none; }.l4d-basket-page :where(a,button,input,select):focus { outline:none !important; }.l4d-basket-page :where(a,button,input,select):focus-visible { outline:2px solid var(--lime) !important; outline-offset:3px; }
.he-basket-page { width:100%; padding:clamp(1.25rem,4vw,4.5rem) clamp(1rem,5vw,5.75rem) clamp(4rem,8vw,7rem); }.he-basket-hero { max-width:54rem; margin:0 auto clamp(2rem,5vw,4rem); text-align:center; }.he-basket-kicker { display:flex; align-items:center; justify-content:center; gap:.65rem; margin:0 0 .9rem; color:var(--lime); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.he-basket-kicker span { width:1.7rem; height:1px; background:currentColor; }.he-basket-hero h1 { margin:0; font-size:clamp(2.5rem,5vw,5rem); letter-spacing:-.065em; line-height:1; }.he-basket-hero > p:last-child { max-width:38rem; margin:1.25rem auto 0; color:var(--muted); font-size:1.05rem; line-height:1.65; }.he-basket-content { max-width:88rem; margin:auto; }.he-basket-content .woocommerce { width:100%; }.he-basket-content .woocommerce-cart-form { overflow:auto; padding:clamp(1rem,3vw,2rem); border:1px solid var(--line); border-radius:1.4rem; background:#fff; box-shadow:0 1.2rem 3rem rgba(23,53,47,.06); }.he-basket-content table.shop_table { width:100%; margin:0 !important; border:0 !important; border-collapse:collapse; border-radius:0; }.he-basket-content table.shop_table th,.he-basket-content table.shop_table td { padding:1rem .75rem; border:0 !important; border-bottom:1px solid var(--line) !important; color:var(--ink); text-align:left; vertical-align:middle; }.he-basket-content table.shop_table th { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.he-basket-content table.shop_table .product-thumbnail img { width:5rem; height:5rem; border:1px solid var(--line); border-radius:.8rem; object-fit:contain; }.he-basket-content table.shop_table .product-name a { color:var(--ink); font-weight:800; }.he-basket-content table.shop_table .product-name a:hover { color:var(--green); }.he-basket-content table.shop_table .product-price,.he-basket-content table.shop_table .product-subtotal { font-weight:800; white-space:nowrap; }.he-basket-content .product-remove a.remove { display:grid !important; place-items:center; width:2rem; height:2rem; border:1px solid #edd3cf !important; border-radius:50%; background:#fff5f2 !important; color:#a84d45 !important; font-size:1.25rem; font-weight:500; line-height:1; }.he-basket-content .product-remove a.remove:hover { background:#a84d45 !important; color:#fff !important; }.he-basket-content .quantity .qty { width:4.5rem; min-height:2.8rem; border:1px solid var(--line) !important; border-radius:999px !important; background:#fff !important; color:var(--ink) !important; text-align:center; }.he-basket-content .coupon { display:flex; gap:.55rem; }.he-basket-content .coupon .input-text { width:11rem !important; min-height:2.8rem; padding:.55rem .75rem; border:1px solid var(--line) !important; border-radius:999px !important; background:#fff !important; }.he-basket-content .button,.he-basket-content button,.he-basket-content input[type="submit"] { display:inline-flex !important; align-items:center; justify-content:center; min-height:2.8rem; padding:.55rem 1rem !important; border:1px solid var(--green) !important; border-radius:999px !important; background:var(--green) !important; color:#fff !important; box-shadow:none !important; font-size:.88rem; font-weight:800 !important; line-height:1.2 !important; text-decoration:none !important; text-shadow:none !important; }.he-basket-content .button:hover,.he-basket-content button:hover,.he-basket-content input[type="submit"]:hover { border-color:var(--green-dark) !important; background:var(--green-dark) !important; color:#fff !important; }.he-basket-content button:disabled,.he-basket-content input:disabled { opacity:.5; }.he-basket-content .actions > .button { background:#fff !important; color:var(--green) !important; }.he-basket-content .actions > .button:hover { background:var(--soft) !important; color:var(--green-dark) !important; }.he-basket-content .cart-collaterals { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,27rem); gap:2rem; margin-top:2rem; }.he-basket-content .cart-collaterals::before,.he-basket-content .cart-collaterals::after { display:none !important; }.he-basket-content .cross-sells,.he-basket-content .cart_totals { float:none !important; width:auto !important; }.he-basket-content .cart_totals { padding:1.5rem; border:1px solid var(--line); border-radius:1.25rem; background:var(--soft); }.he-basket-content .cart_totals h2 { margin:0 0 1rem; font-size:1.6rem; letter-spacing:-.04em; }.he-basket-content .cart_totals table { width:100%; border-collapse:collapse; }.he-basket-content .cart_totals th,.he-basket-content .cart_totals td { padding:.8rem 0; border-bottom:1px solid var(--line); text-align:left; }.he-basket-content .cart_totals td { text-align:right; font-weight:800; }.he-basket-content .cart_totals .order-total th,.he-basket-content .cart_totals .order-total td { border:0; font-size:1.15rem; }.he-basket-content .wc-proceed-to-checkout { padding:1.2rem 0 0 !important; }.he-basket-content .wc-proceed-to-checkout a.checkout-button { width:100%; min-height:3.25rem; margin:0 !important; background:var(--green) !important; color:#fff !important; }.he-basket-content .wc-proceed-to-checkout a.checkout-button:hover { background:var(--green-dark) !important; color:#fff !important; }.he-basket-content .return-to-shop { text-align:center; }.he-basket-content .return-to-shop .button { min-height:3rem; }.he-basket-content .woocommerce-message,.he-basket-content .woocommerce-info,.he-basket-content .woocommerce-error { margin:0 0 1.25rem !important; padding:1rem 1rem 1rem 2.9rem !important; border:1px solid var(--line) !important; border-top:0 !important; border-radius:1rem !important; background:var(--soft) !important; color:var(--ink) !important; box-shadow:none !important; }.he-basket-content .woocommerce-error { border-color:#ecd0cc !important; background:#fdf2f0 !important; }.he-basket-content .woocommerce-message::before,.he-basket-content .woocommerce-info::before { color:var(--green) !important; }.he-basket-content .woocommerce-error::before { color:#a84d45 !important; }
@media (max-width:900px) { .he-basket-page { padding:1.25rem 1rem 4rem; }.he-basket-hero { text-align:left; }.he-basket-kicker { justify-content:flex-start; }.he-basket-hero > p:last-child { margin-left:0; }.he-basket-content .woocommerce-cart-form { padding:1rem; }.he-basket-content table.shop_table { min-width:38rem; }.he-basket-content .cart-collaterals { grid-template-columns:1fr; gap:1rem; }.he-basket-content .coupon { flex-wrap:wrap; }.he-basket-content .coupon .input-text { flex:1; min-width:10rem; } }

/* Per-line basket controls. These are layered onto WooCommerce's native cart
   form so its cart nonce, variation keys, totals, coupons and notices remain
   authoritative. */
.he-basket-content .he-basket-quantity-control { display:inline-flex; align-items:center; gap:.4rem; padding:.25rem; border:1px solid var(--line); border-radius:999px; background:#fff; }
.he-basket-content .he-basket-line-actions { display:flex; align-items:center; gap:.65rem; white-space:nowrap; }
.he-basket-content .he-basket-quantity-control .quantity { margin:0 !important; }
.he-basket-content .he-basket-quantity-control .quantity .qty { width:3.25rem; min-height:2.25rem; padding:.25rem !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.he-basket-content button.he-basket-quantity-step { display:inline-grid !important; place-items:center !important; flex:0 0 2.25rem; width:2.25rem !important; min-width:2.25rem !important; min-height:2.25rem !important; height:2.25rem; margin:0 !important; padding:0 !important; border:1px solid var(--line) !important; border-radius:50% !important; background:#fff !important; color:var(--green) !important; font-size:1.25rem; font-weight:800 !important; line-height:1 !important; cursor:pointer; }
.he-basket-content button.he-basket-quantity-step:hover { border-color:var(--green) !important; background:var(--green) !important; color:#fff !important; }
.he-basket-content a.remove.he-basket-remove-all { position:static !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; flex:0 0 auto !important; width:auto !important; min-width:5.4rem !important; max-width:none !important; height:2.25rem !important; min-height:2.25rem !important; margin:0 !important; padding:.45rem .8rem !important; overflow:visible !important; border:1px solid #edd3cf !important; border-radius:999px !important; background:#fff5f2 !important; color:#a84d45 !important; font-family:"DM Sans",Arial,sans-serif !important; font-size:.75rem !important; font-weight:800 !important; line-height:1 !important; text-align:center !important; text-indent:0 !important; white-space:nowrap !important; }
.he-basket-content a.remove.he-basket-remove-all:hover { background:#a84d45 !important; color:#fff !important; }
.he-basket-content table.shop_table :is(th,td).product-remove,
.he-basket-content table.shop_table :is(th,td).product-price { display:none !important; }
.he-basket-content .actions button[name="update_cart"] { display:none !important; }

/* Elementor edit requests do not consistently carry a storefront cart
   session. Keep the widget visible and publishable without invoking the live
   WooCommerce cart renderer inside the editor iframe. */
.he-basket-editor-preview { display:grid; justify-items:center; gap:.65rem; max-width:42rem; margin:0 auto; padding:clamp(2rem,5vw,4rem); border:1px dashed rgba(49,95,87,.28); border-radius:1.4rem; background:rgba(241,244,237,.72); color:var(--muted); text-align:center; }
.he-basket-editor-preview > span { display:grid; place-items:center; width:3.25rem; height:3.25rem; border-radius:50%; background:#fff; color:var(--green); font-size:1.35rem; box-shadow:0 .45rem 1.2rem rgba(23,53,47,.08); }
.he-basket-editor-preview strong { color:var(--ink); font-size:1.05rem; }
.he-basket-editor-preview p { max-width:34rem; margin:0; line-height:1.55; }

/* Shared responsive guardrails: contain unpredictable CMS content. */
.l4d-basket-page { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.l4d-basket-page :where(img,video,canvas,iframe) { max-width:100%; }
.l4d-basket-page :where(input,select,textarea) { max-width:100%; }
