/* BioSupply: WooCommerce markup styled with the prototype's tokens and components.
   WooCommerce's own stylesheets are switched off (inc/woocommerce.php). */

/* ---------- prototype rules that need scoping inside WooCommerce markup ---------- */
.woocommerce section,.woocommerce-order section{padding-block:0}
.woocommerce section+section{margin-top:28px}
.woocommerce .added_to_cart{display:none}
.woocommerce .star-rating,.woocommerce .woocommerce-review-link{display:none}
.shop-page{padding-block:32px 64px}
.page.co,.page.account-page,.page.cart-page{padding-block:28px 64px}
.woocommerce-products-header{display:none}

/* ---------- buttons ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,
.woocommerce-page .button,#place_order,.checkout-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:500;line-height:1.3;border-radius:4px;padding:9px 16px;
  border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;text-decoration:none}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt,#place_order,.checkout-button,
.woocommerce .woocommerce-form-login__submit,.woocommerce .woocommerce-form-register__submit,
.woocommerce .woocommerce-Button,.woocommerce button[name="save_account_details"],.woocommerce button[name="save_address"]{
  background:var(--accent);color:var(--accent-ink)}
.woocommerce .button:hover,#place_order:hover,.checkout-button:hover{text-decoration:none;filter:brightness(1.08)}
.woocommerce .button:disabled,.woocommerce .button.disabled,.woocommerce .button[disabled]{opacity:.5;cursor:not-allowed;filter:none}
.btn.loading,.button.loading{opacity:.6;pointer-events:none}
.btn.added::after{content:" ✓"}

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  list-style:none;margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--fg);font-size:15px;
  display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:space-between}
.woocommerce-error{border-left-color:var(--danger);flex-direction:column;align-items:flex-start}
.woocommerce-error li{margin:0}
.woocommerce-info{border-left-color:var(--muted)}
.woocommerce-message .button,.woocommerce-info .button{order:2;padding:5px 12px;font-size:14px}
.wc-block-components-notice-banner.is-error{border-left-color:var(--danger)}
.wc-block-components-notice-banner svg{display:none}
.woocommerce-store-notice,p.demo_store{position:fixed;left:0;right:0;bottom:0;margin:0;padding:10px 20px;background:var(--accent);color:var(--accent-ink);font-size:14px;z-index:30;text-align:center}
.woocommerce-store-notice a{color:inherit;text-decoration:underline}

/* ---------- forms ---------- */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:5px;margin:0 0 14px;min-width:0}
.woocommerce form .form-row label{font-size:13px;font-weight:500}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row .woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:15px;font-weight:400;cursor:pointer}
.woocommerce .required{color:var(--warn);text-decoration:none;border:0}
.woocommerce .optional{color:var(--muted);font-weight:400}
.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea,
.woocommerce input[type="text"],.woocommerce input[type="email"],.woocommerce input[type="tel"],.woocommerce input[type="password"],.woocommerce input[type="number"]:not(.qty){
  font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);min-width:0}
.woocommerce form textarea{min-height:5.5em;resize:vertical}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--warn)}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:auto}
.woocommerce .woocommerce-billing-fields__field-wrapper,.woocommerce .woocommerce-shipping-fields__field-wrapper,
.woocommerce .woocommerce-address-fields__field-wrapper,.woocommerce-EditAccountForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.woocommerce .woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce .woocommerce-shipping-fields__field-wrapper>.form-row,
.woocommerce .woocommerce-address-fields__field-wrapper>.form-row{grid-column:1/-1}
.woocommerce .woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce .woocommerce-billing-fields__field-wrapper>.form-row-last,
.woocommerce .woocommerce-shipping-fields__field-wrapper>.form-row-first,.woocommerce .woocommerce-shipping-fields__field-wrapper>.form-row-last,
.woocommerce .woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce .woocommerce-address-fields__field-wrapper>.form-row-last,
.woocommerce-EditAccountForm>.form-row-first,.woocommerce-EditAccountForm>.form-row-last{grid-column:auto}
.woocommerce-EditAccountForm>*{grid-column:1/-1}
.woocommerce-EditAccountForm>.form-row-first,.woocommerce-EditAccountForm>.form-row-last{grid-column:span 1}
.woocommerce fieldset{border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:8px 0 18px}
.woocommerce fieldset legend{font-weight:600;padding:0 6px}
.woocommerce .clear{clear:both}
.woocommerce .password-input{position:relative;display:block}
.woocommerce .show-password-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted);cursor:pointer;padding:4px}
.woocommerce .show-password-input::after{content:"Show"; font-size:12px}
.woocommerce .show-password-input.display-password::after{content:"Hide"}
.woocommerce-password-strength{font-size:13px;margin-top:6px;color:var(--muted)}
.woocommerce-password-strength.bad,.woocommerce-password-strength.short{color:var(--danger)}
.woocommerce-password-strength.good{color:var(--warn)}
.woocommerce-password-strength.strong{color:var(--ok)}
.woocommerce-password-hint{font-size:12px;color:var(--muted)}
.woocommerce-privacy-policy-text{font-size:13px;color:var(--muted)}
/* minimal select2 (country / county pickers) */
.select2-container{width:100%!important}
.select2-container .select2-selection--single{height:auto;border:1px solid var(--line);border-radius:4px;background:var(--bg);padding:8px 28px 8px 10px;position:relative;display:block;cursor:pointer}
.select2-container .select2-selection__rendered{color:var(--fg);padding:0!important;line-height:1.5}
.select2-container .select2-selection__arrow{position:absolute;right:10px;top:50%;width:8px;height:8px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-70%) rotate(45deg)}
.select2-container .select2-selection__arrow b{display:none}
.select2-dropdown{background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--fg);display:block;position:absolute;z-index:1051}
.select2-search--dropdown{padding:6px}
.select2-search__field{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit}
.select2-results__options{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}
.select2-results__option{padding:6px 10px}
.select2-results__option--highlighted,.select2-results__option[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}

/* ---------- quantity stepper (WooCommerce input inside the prototype stepper) ---------- */
.quantity.bio-qty input.qty{width:44px;border:0;border-inline:1px solid var(--line);text-align:center;font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:transparent;color:var(--fg);-moz-appearance:textfield;padding:0;border-radius:0}
.quantity.bio-qty input.qty::-webkit-inner-spin-button,.quantity.bio-qty input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity:not(.bio-qty) input.qty{width:64px}
.bio-basket-inner{display:flex;flex-direction:column;flex:1;min-height:0}
.bio-basket-inner.is-busy{opacity:.6;pointer-events:none}
.bio-basket-inner .basket-foot .btn{text-decoration:none}

/* ---------- catalogue ---------- */
.grid.products{margin:0}
.card .price del,.pcard .price del{font-size:.8em;color:var(--muted);font-weight:400;margin-right:4px}
.card .price ins,.pcard .price ins{text-decoration:none}
.card .buy a.btn,.card .buy .btn{text-decoration:none}
.card .buy .add_to_cart_button{flex:1;min-width:0;justify-content:center}
.woocommerce-pagination{margin-top:28px}
.woocommerce-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;justify-content:center}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:4px;color:var(--fg)}
.woocommerce-pagination span.current{border-color:var(--accent);color:var(--accent);font-weight:600}
.woocommerce-pagination a:hover{border-color:var(--accent);text-decoration:none}
.woocommerce-result-count,.woocommerce-ordering{display:none}

/* ---------- product page ---------- */
.pd>.pd-info{min-width:0}
.pd-media{min-width:0}
.pd .plate{border:1px solid var(--line);border-radius:6px;aspect-ratio:1/1}
.woocommerce-product-gallery{position:relative;border:1px solid var(--line);border-radius:6px;background:var(--plate);overflow:hidden}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
.woocommerce-product-gallery__trigger{position:absolute;top:10px;right:10px;z-index:5;width:34px;height:34px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:0;color:var(--fg)}
.woocommerce-product-gallery__trigger::before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50%;transform:translate(-1px,-1px)}
.woocommerce-product-gallery__trigger::after{content:"";position:absolute;width:2px;height:7px;background:currentColor;transform:translate(5px,6px) rotate(-45deg)}
.woocommerce-product-gallery .flex-control-thumbs{list-style:none;margin:0;padding:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;background:var(--bg);border-top:1px solid var(--line)}
.woocommerce-product-gallery .flex-control-thumbs img{cursor:pointer;border-radius:4px;opacity:.6;border:1px solid var(--line)}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--accent)}
.woocommerce-product-gallery .flex-viewport{border-radius:6px 6px 0 0}
.pd .pprice .price,.pd .pprice-amount{font:inherit}
.pd .pprice del{font-size:.6em;color:var(--muted);font-weight:400;margin-right:6px}
.pd .pprice ins{text-decoration:none}
.pd .pprice .from{font-size:.5em}
.pd .avail .avail-n[hidden]{display:none}
/* size picker: the <select> table is replaced by .sizes buttons (assets/js/theme.js) */
.variations_form table.variations.bio-variations-hidden{display:none}
.variations_form table.variations{border-collapse:collapse;margin:16px 0 4px}
.variations_form table.variations th{text-align:left;font-weight:500;font-size:14px;padding:4px 12px 4px 0}
.variations_form table.variations select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg)}
.variations_form .reset_variations{display:none!important}
.single_variation_wrap .woocommerce-variation-price,.single_variation_wrap .woocommerce-variation-availability{display:none}
.single_variation_wrap .woocommerce-variation-description{margin-top:10px;color:var(--muted);font-size:14px}
.sizes button{text-align:center}
.sizes button[disabled]{opacity:.45;cursor:not-allowed}
/* buy row */
.pd form.cart:not(.variations_form),.pd .woocommerce-variation-add-to-cart,.pd form.cart.grouped_form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}
.pd form.cart .button,.pd form.cart .btn{height:38px;padding:0 22px;justify-content:center}
.pd form.cart .single_add_to_cart_button{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.pd form.cart .bio-buy-now{background:var(--accent);color:var(--accent-ink)}
.pd form.cart .single_add_to_cart_button.disabled~.bio-buy-now{opacity:.5;cursor:not-allowed;filter:none}
.pd .woocommerce-variation-add-to-cart-disabled .bio-qty{opacity:.6}
.pd form.cart .quantity{margin:0}
.pd .stock.out-of-stock,.pd p.stock{display:none}
.pd .group_table{width:100%;border-collapse:collapse}
.pd .group_table td{padding:8px 0;border-top:1px solid var(--line)}
.pd>.buy,.pd .pd-info>.buy{margin-top:22px}
.tabpanel .empty{margin:0}

/* ---------- basket page ---------- */
.cart-page .woocommerce{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px 40px;align-items:start}
.cart-page .woocommerce>*{grid-column:1/-1}
.cart-page .woocommerce>.woocommerce-cart-form{grid-column:1}
.cart-page .woocommerce>.cart-collaterals{grid-column:2;grid-row:span 2}
.cart-page .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.shop_table{width:100%;border-collapse:collapse;font-size:15px}
.shop_table th{text-align:left;font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}
.shop_table td{padding:14px 8px;border-top:1px solid var(--line);vertical-align:middle}
.shop_table.cart{border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden}
.shop_table.cart thead th{background:var(--surface)}
.shop_table.cart tr:first-child td{border-top:0}
.shop_table.cart .product-thumbnail{width:72px}
.shop_table.cart .product-thumbnail img{width:56px;height:56px;object-fit:cover;border-radius:4px;background:var(--plate)}
.shop_table.cart .product-name a{color:var(--fg);font-weight:500}
.shop_table.cart .product-name dl.variation{margin:2px 0 0;font-size:12px;color:var(--muted);font-family:var(--font-mono);display:flex;gap:4px}
.shop_table.cart .product-name dl.variation dd,.shop_table.cart .product-name dl.variation p{margin:0}
.shop_table.cart .product-subtotal,.shop_table.cart .product-price{font-variant-numeric:tabular-nums;white-space:nowrap}
.shop_table.cart .product-subtotal{font-weight:600;text-align:right}
.shop_table.cart a.remove{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--muted);font-size:20px;line-height:1}
.shop_table.cart a.remove:hover{color:var(--danger);background:var(--surface);text-decoration:none}
.shop_table.cart td.actions{background:var(--surface);padding:12px}
.shop_table.cart td.actions .coupon{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.shop_table.cart td.actions .coupon .input-text{width:auto;min-width:160px}
.shop_table.cart td.actions>.button{float:right}
.cart-collaterals .cart_totals,.cart-collaterals .cross-sells{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:20px}
.cart-collaterals .cross-sells{margin-top:20px}
.cart-collaterals h2{font-size:18px;margin-bottom:10px}
.cart_totals .shop_table th,.cart_totals .shop_table td{border-top:1px solid var(--line);border-bottom:0;padding:8px 0;font-size:14px;text-transform:none;letter-spacing:0}
.cart_totals .shop_table tr:first-child th,.cart_totals .shop_table tr:first-child td{border-top:0}
.cart_totals .shop_table th{color:var(--muted);font-weight:400}
.cart_totals .shop_table td{text-align:right;font-variant-numeric:tabular-nums}
.cart_totals .order-total th,.cart_totals .order-total td{font-size:17px;font-weight:600;color:var(--fg)}
.wc-proceed-to-checkout .checkout-button{width:100%;height:46px;margin-top:16px}
.cart-empty.woocommerce-info{margin-bottom:18px}
.return-to-shop .button{background:var(--accent);color:var(--accent-ink)}
#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:4px;text-align:right}
#shipping_method li{display:flex;gap:6px;justify-content:flex-end;align-items:center}
#shipping_method input{accent-color:var(--accent)}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:13px;color:var(--muted);margin:6px 0 0}
.shipping-calculator-form{margin-top:10px;text-align:left}

/* ---------- checkout ---------- */
.co .woocommerce>.woocommerce-form-coupon-toggle,.co .woocommerce>.woocommerce-form-login-toggle{max-width:none}
.co form.checkout_coupon,.co form.woocommerce-form-login{border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:0 0 18px;background:var(--surface)}
.co form.checkout_coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.co form.checkout_coupon .form-row{margin:0;flex:1 1 200px}
.co .co-grid{margin-top:4px}
.co .co-main h1{font-size:30px;margin-bottom:6px}
.co #customer_details,.co .ruo-fieldset{border:0;padding:0;margin:0 0 26px}
.co #customer_details>legend,.co .ruo-fieldset>legend{font-size:17px;font-weight:600;margin-bottom:12px;padding:0}
.co .woocommerce-billing-fields>h3,.co .woocommerce-additional-fields>h3{display:none}
.co .woocommerce-shipping-fields h3{font-size:15px;font-weight:500;margin:4px 0 14px}
.co #ship-to-different-address label{display:flex;gap:10px;align-items:center;cursor:pointer}
.co .woocommerce-account-fields{margin:6px 0 10px}
.co .ruo-fieldset .form-row{margin:0}
.co .ruo-check input{accent-color:var(--accent)}
.co .summary #order_review_heading{font-size:18px;margin-bottom:10px}
.co .summary .shop_table{font-size:14px}
.co .summary .shop_table td,.co .summary .shop_table th{padding:0;border:0}
.co .summary .woocommerce-checkout-review-order-table tbody td{padding:12px 0;border-top:1px solid var(--line);vertical-align:top}
.co .summary .woocommerce-checkout-review-order-table tbody tr:first-child td{border-top:0}
.co .summary .woocommerce-checkout-review-order-table td.product-total{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}
.co .summary .bline{grid-template-columns:44px minmax(0,1fr);border:0;padding:0}
.co .summary .bline .sw{width:44px;height:44px}
.co .summary .bline .sw svg{width:32px}
.co .summary .bline .meta strong{font-weight:400}
.co .summary .bline dl.variation{display:none}
.co .summary tfoot th,.co .summary tfoot td{padding:6px 0;font-variant-numeric:tabular-nums}
.co .summary tfoot th{color:var(--muted);font-weight:400;text-align:left;text-transform:none;letter-spacing:0;font-size:14px}
.co .summary tfoot td{text-align:right}
.co .summary tfoot tr.cart-subtotal th,.co .summary tfoot tr.cart-subtotal td{padding-top:12px;border-top:1px solid var(--line)}
.co .summary tfoot .order-total th,.co .summary tfoot .order-total td{font-size:17px;font-weight:600;color:var(--fg);padding-top:10px;border-top:1px solid var(--line)}
.co .summary tfoot .order-total .includes_tax{display:block;font-size:12px;font-weight:400;color:var(--muted)}
/* payment methods (prototype .paym) */
#payment{margin-top:16px}
#payment ul.payment_methods{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#payment ul.payment_methods>li{border:1px solid var(--line);border-radius:6px;padding:14px;background:var(--bg)}
#payment ul.payment_methods>li:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
#payment ul.payment_methods>li>input{accent-color:var(--accent);margin-right:8px}
#payment ul.payment_methods>li>label{font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
#payment ul.payment_methods>li>label img{max-height:22px;width:auto}
#payment .payment_box{margin-top:10px;font-size:14px;color:var(--muted)}
#payment .payment_box p{margin:0 0 8px}
#payment .payment_box fieldset{border:0;padding:0;margin:8px 0 0}
#payment .place-order{margin:16px 0 0;display:block}
#payment .place-order .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--muted);margin-bottom:12px}
#payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row{margin:10px 0 0}
#place_order{width:100%;height:46px}
.woocommerce-checkout .blockUI.blockOverlay{background:var(--bg)!important;opacity:.6!important}

/* ---------- order received ---------- */
.woocommerce-order{max-width:760px}
.woocommerce-thankyou-order-received{font-size:20px;font-weight:600;color:var(--fg);margin-bottom:16px}
.woocommerce-order-overview{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--line);border-radius:6px}
.woocommerce-order-overview li{padding:14px 16px;border-left:1px solid var(--line);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.woocommerce-order-overview li:first-child{border-left:0}
.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:15px;letter-spacing:0;text-transform:none;color:var(--fg);font-variant-numeric:tabular-nums}
.woocommerce-order-overview__order strong{font-family:var(--font-mono)}
.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-customer-details h2{font-size:18px;margin:24px 0 12px}
.woocommerce-table--order-details{border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce-table--order-details thead th{background:var(--surface)}
.woocommerce-table--order-details td,.woocommerce-table--order-details tfoot th{padding:12px 14px}
.woocommerce-table--order-details tfoot th{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;font-size:14px;border-top:1px solid var(--line)}
.woocommerce-table--order-details td.product-total,.woocommerce-table--order-details tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.woocommerce-table--order-details .product-name a{color:var(--fg);font-weight:500}
.woocommerce-table--order-details .product-name .meta{font-size:13px;color:var(--muted);margin-top:2px}
.woocommerce-table--order-details .wc-item-meta{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:var(--muted)}
.woocommerce-table--order-details .wc-item-meta p{display:inline;margin:0}
.woocommerce-customer-details address{font-style:normal;border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--surface);line-height:1.6}
.woocommerce-customer-details .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-customer-details--phone,.woocommerce-customer-details--email{margin-top:6px;font-size:14px;color:var(--muted)}

/* ---------- my account (prototype .acct-*) ---------- */
.account-page .acct-head .btn{text-decoration:none}
.acct-nav a.is-active{color:var(--accent)}
.acct-main>h2:first-child,.acct-main>.woocommerce-notices-wrapper+h2{margin-top:0}
.woocommerce-orders-table{border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:14px}
.woocommerce-orders-table thead th{background:var(--surface)}
.woocommerce-orders-table td,.woocommerce-orders-table th{padding:12px 14px}
.woocommerce-orders-table tr:first-child td{border-top:0}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a{font-family:var(--font-mono);font-weight:500;color:var(--fg)}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-total{font-variant-numeric:tabular-nums}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{text-align:right}
.woocommerce-orders-table .button{padding:4px 12px;font-size:14px;margin-left:6px}
.woocommerce-orders-table__cell-order-status{white-space:nowrap}
.woocommerce-MyAccount-content mark{background:none;color:var(--fg);font-weight:600}
.woocommerce-MyAccount-content mark.order-number{font-family:var(--font-mono)}
.woocommerce-MyAccount-content>p:first-child{color:var(--muted)}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}
.woocommerce-Address{border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--bg)}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.woocommerce-Address-title h2,.woocommerce-Address-title h3{font-size:16px;margin:0}
.woocommerce-Address address{font-style:normal;font-size:14px;color:var(--muted);margin-top:8px;line-height:1.55}
.woocommerce-address-fields .button,.woocommerce-EditAccountForm .button{margin-top:6px}
.woocommerce-EditAccountForm fieldset{grid-column:1/-1}
.woocommerce-EditAccountForm fieldset .form-row{margin-bottom:10px}
.woocommerce-EditAccountForm em{font-size:12px;color:var(--muted);font-style:normal}
.woocommerce-MyAccount-content .woocommerce-pagination{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.woocommerce-MyAccount-content .order-again{margin-top:18px}
.woocommerce-MyAccount-content .cert-link,.woocommerce-table--order-details .cert-link{display:inline-block;font-size:13px;margin-top:4px}
/* log in / create account (prototype .auth) */
.account-page .auth{max-width:420px;margin:0 auto}
.account-page .auth h1{font-size:26px;margin-bottom:16px}
.account-page .auth-form{display:grid;gap:14px}
.account-page .auth-form .btn{justify-content:center;height:44px;width:100%}
.account-page .auth-form .field input{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);width:100%}
.account-page .auth-form .woocommerce-privacy-policy-text p{margin:0}
.woocommerce-ResetPassword p{margin:0}

@media (max-width:900px){
  .cart-page .woocommerce{grid-template-columns:minmax(0,1fr)}
  .cart-page .woocommerce>.woocommerce-cart-form,.cart-page .woocommerce>.cart-collaterals{grid-column:1;grid-row:auto}
}
@media (max-width:640px){
  .shop_table.cart thead{display:none}
  .shop_table.cart tr.cart_item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:4px 12px;padding:12px;border-top:1px solid var(--line)}
  .shop_table.cart tr.cart_item:first-child{border-top:0}
  .shop_table.cart tr.cart_item td{border:0;padding:0;display:block}
  .shop_table.cart tr.cart_item td::before{display:none}
  .shop_table.cart td.product-thumbnail{grid-row:1/span 3;grid-column:1}
  .shop_table.cart td.product-name{grid-column:2}
  .shop_table.cart td.product-remove{grid-column:3;grid-row:1;text-align:right}
  .shop_table.cart td.product-price{grid-column:2;font-size:13px;color:var(--muted)}
  .shop_table.cart td.product-quantity{grid-column:2}
  .shop_table.cart td.product-subtotal{grid-column:3;grid-row:3}
  .shop_table.cart td.actions{display:block}
  .shop_table.cart td.actions>.button{float:none;width:100%;margin-top:10px}
  .woocommerce .woocommerce-billing-fields__field-wrapper,.woocommerce .woocommerce-shipping-fields__field-wrapper,
  .woocommerce .woocommerce-address-fields__field-wrapper,.woocommerce-EditAccountForm{grid-template-columns:minmax(0,1fr)}
  .woocommerce-orders-table thead{display:none}
  .woocommerce-orders-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-top:1px solid var(--line)}
  .woocommerce-orders-table tr:first-child{border-top:0}
  .woocommerce-orders-table td{display:block;border:0;padding:0}
  .woocommerce-orders-table td::before{content:attr(data-title) ": ";color:var(--muted);font-size:12px}
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{grid-column:1/-1;text-align:left;margin-top:6px}
  .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{display:none}
  .woocommerce-orders-table .button{margin:0 6px 0 0}
  .woocommerce-customer-details .woocommerce-columns--addresses{grid-template-columns:minmax(0,1fr)}
  .woocommerce-order-overview li{border-left:0;border-top:1px solid var(--line)}
  .woocommerce-order-overview li:first-child{border-top:0}
}
.price small.from{display:inline}

/* "Added to basket" card */
.bio-added{position:fixed;top:84px;right:20px;z-index:70;width:360px;max-width:calc(100% - 32px);background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.06);padding:14px 16px 16px;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}
.bio-added.is-in{opacity:1;transform:none}
.bio-added-head{display:flex;align-items:center;gap:10px;font-size:15px}
.bio-added-tick{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ok);color:var(--bg);flex:none}
.bio-added-tick svg{width:15px;height:15px}
.bio-added-x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:4px}
.bio-added-x:hover{color:var(--fg)}
.bio-added-item{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.bio-added-item img,.bio-added-ph{width:52px;height:52px;border-radius:6px;object-fit:cover;flex:none;background:var(--plate,var(--line))}
.bio-added-txt{min-width:0;flex:1}
.bio-added-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bio-added-meta{font-size:13px;color:var(--muted)}
.bio-added-price{font-weight:600;white-space:nowrap}
.bio-added-sum{margin-top:10px;font-size:13px;color:var(--muted)}
.bio-added-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.bio-added-actions .btn{justify-content:center;width:100%}
@media (max-width:600px){.bio-added{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;left:16px;width:auto;max-width:none;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.bio-added{transition:none}}

/* Checkout errors are inserted into the form by WooCommerce: keep them in a full-width row above both columns. */
form.checkout.co-grid > .woocommerce-NoticeGroup,
form.checkout.co-grid > .woocommerce-error,
form.checkout.co-grid > .woocommerce-message,
form.checkout.co-grid > .woocommerce-info{grid-column:1/-1;margin:0 0 4px}

/* Checkout errors shown on each field (theme.js moves them out of WooCommerce's top list). */
.bio-js form.checkout > .woocommerce-NoticeGroup-checkout{display:none}
form.checkout .form-row.woocommerce-invalid input.input-text,
form.checkout .form-row.woocommerce-invalid select,
form.checkout .form-row.woocommerce-invalid textarea,
form.checkout .form-row.woocommerce-invalid .select2-selection{border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent);transition:box-shadow .2s ease,border-color .2s ease}
form.checkout .form-row.woocommerce-invalid label:not(.ruo-check){color:var(--danger)}
form.checkout .form-row.woocommerce-invalid .ruo-check{border-radius:6px;outline:2px solid var(--danger);outline-offset:6px;background:color-mix(in srgb,var(--danger) 8%,transparent)}
form.checkout .bio-err-msg,form.checkout .checkout-inline-error-message{color:var(--danger);font-size:13px;margin:6px 0 0;font-weight:500}
.bio-co-errors{border:1px solid var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--fg);border-radius:6px;padding:10px 12px;margin:0 0 14px;font-size:14px}
.bio-co-errors p{margin:0}
.bio-co-errors p+p{margin-top:4px}
