.woocommerce-cart .eco-cart-empty { max-width: 820px; margin: 0 auto; }
.woocommerce-cart .eco-cart-empty h2 { margin: 0 0 10px; color: var(--navy); font-size: clamp(1.45rem, 3vw, 2rem); }
.woocommerce-cart .eco-cart-empty p { margin: 0 0 24px; color: var(--ink-soft); }
.woocommerce-cart .eco-cart-empty .button { display: inline-flex; align-items: center; gap: 10px; }
.woocommerce-cart .eco-cart-empty .button > i { display: inline-block; width: auto; height: auto; margin: 0; border-radius: 0; background: transparent; color: inherit; font-size: .85em; }

@media (max-width: 980px) {
  .woocommerce-cart .cart-summary { position: static; }
}

@media (max-width: 700px) {
  .woocommerce-cart .eco-cart-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .woocommerce-cart .eco-cart-actions .text-link { justify-content: center; }
  .woocommerce-cart .eco-cart-form .eco-update-cart { width: 100%; }
  .woocommerce-cart .cart-product__vial { flex-basis: 58px; width: 58px; height: 72px; }
  .woocommerce-cart .eco-cart-subtotal::before { display: block; margin-bottom: 2px; color: var(--ink-muted); content: attr(data-title); font-size: .59rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
}

@media (max-width: 520px) {
  .woocommerce-cart .eco-cart-row { gap: 14px; padding: 18px 15px; }
  .woocommerce-cart .cart-product { align-items: flex-start; }
  .woocommerce-cart .cart-product a { font-size: .78rem; line-height: 1.45; }
  .woocommerce-cart .cart-summary { padding: 24px 19px; }
  .woocommerce-cart .commerce-step { font-size: .65rem; }
}

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: 28px; align-items: start; }
.woocommerce-checkout #customer_details { display: grid; gap: 22px; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { margin: 0; padding: 0 4px; }
.woocommerce-checkout #payment { background: #f4f8fd; }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.eco-research-confirmation { padding: 14px; border: 1px solid #b8ceeb; border-radius: 7px; background: #fff; }
.eco-research-confirmation label { line-height: 1.5; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-MyAccount-navigation ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 6px; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--ice); color: var(--blue); }

.single-product .section--commerce { background: #fff; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(36px, 7vw, 90px); }
.single-product div.product div.images, .single-product div.product div.summary { float: none; width: auto; margin: 0; }
.single-product div.product div.images img { border-radius: 16px; background: var(--ice); }
.single-product div.product .summary { padding-top: 20px; }
.single-product div.product .product_title { color: var(--navy); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.single-product div.product p.price { color: var(--navy); font-size: 1.6rem; font-weight: 800; }
.single-product-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 24px 0; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.single-product-facts div { padding: 13px 15px; border-bottom: 1px solid var(--line); }
.single-product-facts div:nth-last-child(-n+2) { border-bottom: 0; }
.single-product-facts dt { color: var(--ink-muted); font-size: .65rem; text-transform: uppercase; letter-spacing: .06em; }
.single-product-facts dd { margin: 3px 0 0; color: var(--navy); font-size: .8rem; font-weight: 750; }
.coa-button { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: .8rem; font-weight: 800; }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 24px; }
.single-product .woocommerce-tabs ul.tabs { padding-left: 0 !important; }
.single-product .woocommerce-tabs ul.tabs::before { border-color: var(--line); }
.single-product .woocommerce-tabs ul.tabs li { border-color: var(--line); background: var(--ice); }
.single-product .related.products { grid-column: 1 / -1; }

/* Approved bespoke single-product design, powered by editable WooCommerce data. */
.single-product .eco-product-detail { padding: 70px 0 100px; background: #fff; }
.single-product .eco-product-shell { margin: 0; }
.single-product .eco-product-detail .product-summary { float: none; width: auto; margin: 0; padding-top: 4px; }
.single-product .eco-product-detail .product-summary .price { margin: 0 0 25px; color: var(--navy); font-size: 1.8rem; font-weight: 800; letter-spacing: -.04em; }
.single-product .eco-product-detail .product-summary .price del { color: var(--ink-muted); font-size: .8em; }
.single-product .eco-product-detail .product-summary .price ins { text-decoration: none; }
.single-product .eco-product-detail .product-hero-visual img { margin: 0; border-radius: 0; }
.single-product .eco-product-purchase .cart { margin: 0 0 24px; }
.single-product .eco-product-purchase .purchase-row { margin-bottom: 0; }
.single-product .eco-product-purchase .quantity-selector .quantity { display: contents; float: none; margin: 0; }
.single-product .eco-product-purchase .quantity-selector .qty { width: 100%; min-width: 0; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--navy); box-shadow: none; font-weight: 800; text-align: center; appearance: textfield; }
