/* House of Gadgets 0.8 — product page, cart and notices. Loads after commerce.css. */

/* ---------- Notices ---------- */
.hog-store .woocommerce-message,
.hog-store .woocommerce-info,
.hog-store .woocommerce-error {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 14px 16px 14px 52px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: 0 10px 30px -22px rgba(20, 21, 24, .45);
  font-size: 15px;
}
.hog-store .woocommerce-message::before,
.hog-store .woocommerce-info::before { top: 50%; left: 16px; transform: translateY(-50%); color: var(--ink); }
.hog-store .woocommerce-message a.button,
.hog-store .woocommerce-info a.button {
  order: 2;
  float: none;
  min-height: 42px;
  margin: 0 0 0 auto;
  padding: 0 18px;
  border-radius: var(--r-pill);
  background: var(--ink);
  color: #fff;
  font: 650 14px/1 var(--display);
}
.hog-store .woocommerce-message a.button:hover { background: var(--ink-2); color: #fff; }
.hog-store .woocommerce-message a.restore-item { color: var(--ink); font-weight: 650; }
.hog-store [tabindex="-1"]:focus { outline: none; }

/* Breadcrumb: readable size and taller link targets. */
.hog-store .woocommerce-breadcrumb { margin-bottom: 20px; font-size: 13px; line-height: 1.6; }
.hog-store .woocommerce-breadcrumb a { display: inline-block; padding: 7px 0; }

/* ---------- Product page ---------- */
.hog-store.single-product .content-main { padding-top: 20px; }
.hog-store.single-product div.product .product-main { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 64px; align-items: start; }
.hog-store.single-product div.product .product-main > .onsale { position: absolute; }
.hog-store.single-product div.product div.images,
.hog-store.single-product div.product div.summary { float: none; width: auto; margin: 0; }
.hog-store.single-product div.product div.summary { position: sticky; top: calc(var(--header-h) + 24px); padding: 8px 0 0; }

/* Gallery: packshots contained on warm grey, campaign photos fill the frame. */
.hog-store div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--r-lg); background: var(--cloud); }
.hog-store div.product div.images .flex-viewport { border-radius: var(--r-lg); background: var(--cloud); }
.hog-store div.product div.images img { padding: 32px; filter: brightness(1.012); }
.hog-store div.product div.images img[src*="hog-sfeer"] { padding: 0; object-fit: cover; mix-blend-mode: normal; filter: none; }
.hog-store div.product div.images img.zoomImg { padding: 0; filter: none; }
.hog-store div.product div.images .woocommerce-product-gallery__trigger { top: 18px; right: 18px; width: 46px; height: 46px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px -8px rgba(20, 21, 24, .35); }
.hog-store div.product div.images .flex-control-thumbs { gap: 12px; margin-top: 14px; }
.hog-store div.product div.images .flex-control-thumbs li { width: 84px; border-radius: 14px; background: var(--cloud); }
.hog-store div.product div.images .flex-control-thumbs img { aspect-ratio: 1; padding: 8px; border: 2px solid transparent; border-radius: 14px; opacity: .7; object-fit: contain; cursor: pointer; }
.hog-store div.product div.images .flex-control-thumbs img[src*="hog-sfeer"] { padding: 0; object-fit: cover; }
.hog-store div.product div.images .flex-control-thumbs img.flex-active,
.hog-store div.product div.images .flex-control-thumbs img:hover { border-color: var(--ink); opacity: 1; }

/* Summary: brand, title, price, fit check, facts, buy box. */
.hog-store .single-brand { margin: 0 0 10px; color: var(--muted); font: 600 13px/1.4 var(--body); letter-spacing: .06em; text-transform: uppercase; }
.hog-store div.product .product_title { margin: 0 0 14px; font: 800 clamp(30px, 2.8vw, 42px)/1.04 var(--display); letter-spacing: -.035em; }
.hog-store div.product p.price,
.hog-store div.product span.price { margin: 0 0 18px; font: 750 30px/1 var(--display); letter-spacing: -.025em; }
.hog-store div.product .woocommerce-product-details__short-description { margin-bottom: 22px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.hog-store div.product .woocommerce-product-details__short-description p { margin: 0; }
.fit-check { display: flex; gap: 14px; margin: 0 0 18px; padding: 16px 18px; border: 1px solid #cfe5d8; border-radius: var(--r-md); background: #edf6f0; }
.fit-check > .icon { width: 26px; height: 26px; margin-top: 1px; color: #1e6b45; }
.fit-check-title { margin: 0; font: 750 17px/1.3 var(--display); letter-spacing: -.01em; }
.fit-check-text { margin: 4px 0 0; color: #3e4a44; font-size: 14px; line-height: 1.5; }
.fit-check-text a { color: var(--ink); font-weight: 600; }
.hog-store .product-key-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 22px; padding: 0; border: 0; }
.hog-store .product-key-facts > div { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.hog-store .product-key-facts dt { color: var(--muted); font-size: 12.5px; line-height: 1.3; }
.hog-store .product-key-facts dd { margin: 0; font: 650 15px/1.3 var(--display); letter-spacing: -.01em; overflow-wrap: anywhere; }
.hog-store div.product .stock { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--ink); font-size: 14px; }
.hog-store div.product .stock::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #2f9e62; box-shadow: 0 0 0 4px #dcefe4; }
.hog-store div.product form.cart { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 10px; margin: 0 0 18px; }
.hog-store div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 56px; border-radius: var(--r-pill); font: 700 17px/1 var(--display); letter-spacing: -.01em; }
.hog-store div.product form.cart .single_add_to_cart_button:hover { background: var(--ink-2); }

/* Quantity stepper (product page and cart). Buttons appear once JavaScript is active. */
.hog-store .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--line-strong); border-radius: var(--r-pill); background: #fff; }
.hog-store .quantity .qty { width: 46px; min-height: 0; height: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); font: 650 16px/1 var(--display); text-align: center; -moz-appearance: textfield; }
.hog-store .quantity .qty::-webkit-outer-spin-button,
.hog-store .quantity .qty::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.hog-store .quantity .qty:focus { outline: none; }
.hog-store .quantity:focus-within { border-color: var(--ink); }
.hog-store .qty-step { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink); }
.hog-store .qty-step:hover { background: var(--cloud); }
.hog-store .qty-step .icon { width: 18px; height: 18px; stroke-width: 2.2; }
.hog-store .qty-step:disabled { color: #b5b1aa; cursor: default; background: transparent; }
.hog-store div.product form.cart .quantity { min-height: 56px; padding: 0 4px; }
.hog-store:not(.js-qty) .quantity .qty { width: 64px; }

.buy-notes { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.buy-notes li { display: flex; align-items: center; gap: 10px; color: var(--ink); font-size: 14px; }
.buy-notes .icon { width: 20px; height: 20px; color: var(--accent-ink); }
.buy-notes a { color: var(--ink); font-weight: 600; }
.hog-store .demo-product-note { margin: 0 0 20px; padding: 12px 14px; border-radius: var(--r-sm); background: var(--cloud); color: var(--muted); font-size: 13px; line-height: 1.5; }

.fit-extras { margin: 4px 0 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.fit-extras h2 { margin: 0 0 12px; font: 700 16px/1.3 var(--display); letter-spacing: -.01em; }
.fit-extras ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fit-extras li { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; transition: border-color .2s var(--ease); }
.fit-extras li:hover, .fit-extras li:focus-within { border-color: var(--ink); }
.fit-extras-link { display: grid; grid-template-columns: 56px minmax(0, 1fr); flex: 1; min-width: 0; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; }
.fit-extras-copy { min-width: 0; overflow-wrap: anywhere; }
.fit-extras-photo { display: grid; place-items: center; width: 56px; height: 56px; overflow: hidden; border-radius: 10px; background: var(--cloud); }
.fit-extras-photo img { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.012); }
.fit-extras-name { display: block; font: 650 15px/1.3 var(--display); }
.fit-extras-fact { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.fit-extras-price { font: 750 16px/1 var(--display); white-space: nowrap; }
.fit-extras-price del { display: none; }
.fit-extras-buy { display: flex; flex-shrink: 0; align-items: center; gap: 12px; }
.hog-store .fit-extras .button { min-height: 44px; padding: 10px 12px; font-size: 14px; }
.hog-store .fit-extras .button.add-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ink); border-radius: 50%; background: var(--ink); color: #fff; }
.hog-store .fit-extras .button.add-button:hover { border-color: var(--accent-deep); background: var(--accent-deep); }
.fit-extras .add-button .icon { grid-area: 1 / 1; width: 20px; height: 20px; stroke-width: 2.2; }
.fit-extras .add-button .icon-added, .fit-extras .add-button.added .icon-add { opacity: 0; }
.fit-extras .add-button.added .icon-added { opacity: 1; }
.fit-extras .button.loading { opacity: .6; }
.fit-extras .button.loading::after, .fit-extras .button.added::after { display: none; }
/* WooCommerce shows this extra link with an inline display style after adding. */
.fit-extras .added_to_cart { display: none !important; }
@media (max-width: 760px) {
  .fit-extras-link { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; }
  .fit-extras-photo { width: 44px; height: 44px; }
  .fit-extras-photo img { width: 40px; height: 40px; }
  .fit-extras-buy { flex-direction: column; gap: 8px; }
  .hog-store .fit-extras .button:not(.add-button) { max-width: 100px; white-space: normal; }
}

.hog-store div.product .product_meta { gap: 4px; padding-top: 16px; font-size: 13px; }
.hog-store div.product .product_meta a { color: var(--muted); }

/* Details: specifications and help, no tabs. */
.product-details { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--line); }
.product-details:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.product-details > .product-specs:only-child { max-width: 760px; }
.product-details h2 { margin: 0 0 18px; font: 800 clamp(24px, 2.2vw, 30px)/1.1 var(--display); letter-spacing: -.03em; }
.product-specs dl { margin: 0; border-top: 1px solid var(--line); }
.product-specs dl > div { display: grid; grid-template-columns: minmax(140px, .8fr) 1.2fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.product-specs dt { color: var(--muted); font-size: 15px; }
.product-specs dd { margin: 0; font-size: 15px; font-weight: 550; }
.product-about-text { margin-bottom: 28px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.product-help { padding: 26px; border-radius: var(--r-md); background: var(--cloud); }
.product-help h2 { font-size: 22px; margin-bottom: 10px; }
.product-help p { margin: 0 0 8px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.product-help .link-arrow { white-space: normal; }
.hog-store div.product .related,
.hog-store div.product .up-sells { margin-top: 72px; padding-top: 0; border: 0; }
.hog-store div.product .related > h2,
.hog-store div.product .up-sells > h2 { margin: 0 0 24px; font: 800 clamp(26px, 2.6vw, 36px)/1.05 var(--display); letter-spacing: -.035em; }

/* Fixed buy bar once the real button is out of view. */
.buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; border-top: 1px solid var(--line); background: rgba(255, 255, 255, .96); box-shadow: 0 -12px 30px -24px rgba(20, 21, 24, .5); transform: translateY(110%); transition: transform .28s var(--ease); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.buybar.is-visible { transform: none; }
.buybar-inner { display: flex; align-items: center; gap: 14px; min-height: 76px; }
.buybar-photo { display: grid; place-items: center; flex-shrink: 0; width: 52px; height: 52px; overflow: hidden; border-radius: 12px; background: var(--cloud); }
.buybar-photo img { width: 46px; height: 46px; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.012); }
.buybar-copy { display: flex; flex-direction: column; min-width: 0; margin-right: auto; }
.buybar-name { overflow: hidden; font: 700 16px/1.25 var(--display); text-overflow: ellipsis; white-space: nowrap; }
.buybar-price { font: 750 16px/1.3 var(--display); }
.buybar-price del { display: none; }
.buybar-add { min-height: 50px; padding: 0 24px; }
.buybar-add .icon { width: 19px; height: 19px; }
.single-product .site-footer { padding-bottom: 76px; }

/* ---------- Cart ---------- */
.hog-store.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; grid-template-areas: "notices notices" "form summary"; gap: 0 40px; align-items: start; }
/* On the cart itself a "view cart" button in the notice leads nowhere new. */
.hog-store.woocommerce-cart .woocommerce-message a.wc-forward { display: none; }
.hog-store.woocommerce-cart .woocommerce-notices-wrapper { grid-area: notices; }
.hog-store.woocommerce-cart .woocommerce-cart-form { grid-area: form; min-width: 0; }
.hog-store.woocommerce-cart .cart-collaterals { grid-area: summary; position: sticky; top: calc(var(--header-h) + 24px); padding: 0; }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: auto; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: 0 20px 50px -36px rgba(20, 21, 24, .45); }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals > h2 { margin: 0 0 14px; font: 800 26px/1.1 var(--display); letter-spacing: -.03em; }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals table th,
.hog-store.woocommerce-cart .cart-collaterals .cart_totals table td { padding: 12px 0; font-size: 15px; }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.hog-store.woocommerce-cart .cart-collaterals .cart_totals .order-total td { padding-top: 18px; font: 750 22px/1.2 var(--display); }
.hog-store.woocommerce-cart .wc-proceed-to-checkout { padding: 18px 0 0; }
.hog-store.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 56px; margin: 0; border-radius: var(--r-pill); font: 700 17px/1 var(--display); }
.buy-notes-cart { margin: 18px 0 0; }
.cart-demo-note { margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.hog-store.woocommerce-cart .cart-collaterals .cross-sells { display: none; }

/* Cart rows as cards: photo, name with model, stepper, subtotal, remove. */
.hog-store table.shop_table.cart { display: block; margin: 0; border: 0; border-radius: 0; background: transparent; }
.hog-store table.shop_table.cart thead { display: none; }
.hog-store table.shop_table.cart tbody { display: grid; gap: 12px; }
.hog-store table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 104px 44px; grid-template-areas: "thumb name qty subtotal remove"; align-items: center; gap: 0 20px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-md); background: #fff; }
/* WooCommerce's small-screen sheet right-aligns every cell with !important. */
.hog-store table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; background: transparent; text-align: left !important; }
.hog-store table.shop_table.cart tr.cart_item td::before { display: none; }
.hog-store table.shop_table.cart tr.cart_item td.product-price { display: none; }
.hog-store table.shop_table.cart td.product-thumbnail { grid-area: thumb; width: auto; }
/* Grey well on the link, multiply on the photo: the white packshot background disappears. */
.hog-store table.shop_table.cart td.product-thumbnail a { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 12px; background: var(--cloud); }
.hog-store table.shop_table.cart td.product-thumbnail img { width: 78px; height: 78px; padding: 0; border-radius: 0; background: transparent; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.012); }
.hog-store table.shop_table.cart td.product-name { grid-area: name; max-width: none; }
.hog-store table.shop_table.cart td.product-name a { color: var(--ink); font: 700 17px/1.3 var(--display); letter-spacing: -.01em; text-decoration: none; }
.hog-store table.shop_table.cart td.product-name a:hover { text-decoration: underline; }
.cart-item-facts { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; }
.hog-store table.shop_table.cart td.product-quantity { grid-area: qty; }
.hog-store table.shop_table.cart td.product-quantity .quantity { height: 48px; padding: 0 2px; }
.hog-store table.shop_table.cart tr.cart_item td.product-subtotal { grid-area: subtotal; text-align: right !important; font: 750 18px/1 var(--display); }
.hog-store table.shop_table.cart td.product-remove { grid-area: remove; width: auto; }
.hog-store table.shop_table.cart a.remove { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--muted) !important; font-size: 26px; line-height: 1; }
.hog-store table.shop_table.cart a.remove:hover { background: #fbeae6; color: #a33a22 !important; }
.hog-store table.shop_table.cart td.actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 0 0; border: 0; background: transparent; }
.hog-store table.shop_table.cart tr:not(.cart_item) { display: block; }
.coupon-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--ink); font: 600 15px/1 var(--display); text-decoration: underline; text-underline-offset: 4px; }
.hog-store table.cart td.actions .coupon { display: flex; gap: 8px; }
.hog-store table.cart td.actions .coupon .input-text { width: 220px; min-height: 48px; border-radius: var(--r-pill); padding: 0 18px; }
.hog-store table.cart td.actions .coupon .button { min-height: 48px; border-radius: var(--r-pill); background: #fff; color: var(--ink); }
.js-cart-auto .woocommerce-cart-form button[name="update_cart"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hog-store .woocommerce-cart-form.is-updating { opacity: .55; pointer-events: none; transition: opacity .15s; }
.cart-continue { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 10px; color: var(--ink); font: 600 15px/1 var(--display); text-decoration: underline; text-underline-offset: 4px; }
.cart-continue:hover { text-decoration-thickness: 2px; }
.cart-continue .icon { width: 18px; height: 18px; transform: rotate(180deg); }

/* Empty cart. */
.cart-empty-state { max-width: 680px; margin: 24px auto 0; padding: 48px 24px 8px; text-align: center; }
.cart-empty-icon { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 22px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-ink); }
.cart-empty-icon .icon { width: 34px; height: 34px; }
.cart-empty-state h2 { margin: 0 0 10px; font: 800 32px/1.05 var(--display); letter-spacing: -.035em; }
.cart-empty-state p { color: var(--muted); font-size: 16px; }
.cart-empty-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.cart-empty-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); color: var(--ink); font: 600 15px/1 var(--display); text-decoration: none; }
.cart-empty-links a:hover { border-color: var(--ink); }
.hog-store.woocommerce-cart .return-to-shop { margin: 26px 0 40px; text-align: center; }
.hog-store.woocommerce-cart .return-to-shop .button { border-radius: var(--r-pill); }

/* ---------- Responsive ---------- */
@media (max-width: 1099px) {
  .hog-store.single-product div.product .product-main { column-gap: 36px; }
  .hog-store div.product div.images img { padding: 36px; }
  .hog-store.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr) 320px; gap: 0 24px; }
  .hog-store table.shop_table.cart tr.cart_item { grid-template-columns: 80px minmax(0, 1fr) auto 44px; grid-template-areas: "thumb name name remove" "thumb qty subtotal subtotal"; gap: 10px 16px; }
  .hog-store table.shop_table.cart td.product-thumbnail a { width: 80px; height: 80px; }
  .hog-store table.shop_table.cart td.product-thumbnail img { width: 64px; height: 64px; }
}
@media (max-width: 860px) {
  .hog-store.single-product div.product .product-main { display: block; }
  .hog-store.single-product div.product div.summary { position: static; padding-top: 24px; }
  .hog-store.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) { display: block; }
  .hog-store.woocommerce-cart .cart-collaterals { position: static; margin-top: 24px; }
  .product-details { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 760px) {
  .hog-store .woocommerce-breadcrumb { margin-bottom: 12px; font-size: 13px; }
  .hog-store.single-product div.product div.images { max-width: none; margin: 0 calc(-1 * var(--gutter)); }
  .hog-store div.product div.images .woocommerce-product-gallery__wrapper,
  .hog-store div.product div.images .flex-viewport { border-radius: 0; }
  .hog-store div.product div.images img { padding: 28px; }
  .hog-store div.product div.images .flex-control-thumbs { flex-wrap: nowrap; overflow-x: auto; padding: 0 var(--gutter); }
  .hog-store div.product div.images .flex-control-thumbs li { flex-shrink: 0; width: 64px; }
  .hog-store div.product .product_title { font-size: 28px; }
  .hog-store div.product p.price,
  .hog-store div.product span.price { font-size: 26px; }
  .hog-store div.product .woocommerce-product-details__short-description { font-size: 15px; }
  .fit-check { padding: 14px; }
  .hog-store div.product form.cart .single_add_to_cart_button { min-height: 54px; font-size: 16px; }
  .product-details { margin-top: 48px; padding-top: 32px; }
  .product-specs dl > div { grid-template-columns: minmax(0, .9fr) 1.1fr; }
  .product-help { padding: 20px; }
  .buybar-inner { gap: 10px; min-height: 68px; }
  .buybar-photo { display: none; }
  .buybar-name { font-size: 14px; }
  .buybar-add { min-height: 48px; padding: 0 18px; font-size: 15px; }
  .hog-store.woocommerce-cart .page-title { margin-bottom: 18px; }
  /* Stepper left and subtotal right share the second row. */
  .hog-store table.shop_table.cart tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) 44px; grid-template-areas: "thumb name remove" "thumb qty qty"; gap: 10px 12px; padding: 12px; }
  .hog-store table.shop_table.cart td.product-thumbnail a { width: 72px; height: 72px; }
  .hog-store table.shop_table.cart td.product-thumbnail img { width: 58px; height: 58px; }
  .hog-store table.shop_table.cart td.product-name a { font-size: 15px; }
  .cart-item-facts { font-size: 13px; }
  .hog-store table.shop_table.cart td.product-quantity { justify-self: start; }
  .hog-store table.shop_table.cart td.product-quantity .quantity { height: 44px; }
  .hog-store table.shop_table.cart tr.cart_item td.product-subtotal { grid-area: qty; justify-self: end; font-size: 16px; }
  .hog-store table.cart td.actions { flex-direction: column; align-items: stretch; }
  .coupon-toggle { align-self: flex-start; }
  .hog-store table.cart td.actions .coupon { flex-wrap: wrap; }
  .hog-store table.cart td.actions .coupon .input-text { flex: 1; width: auto; }
  .hog-store.woocommerce-cart .cart-collaterals .cart_totals { padding: 22px 18px; border-radius: var(--r-md); }
  .hog-store.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before { color: var(--muted); font: 400 15px/1.3 var(--body); }
  .hog-store.woocommerce-cart .cart_totals table.shop_table_responsive tr.order-total td::before { color: var(--ink); font: 750 20px/1.2 var(--display); }
}
@media (prefers-reduced-motion: reduce) {
  .buybar { transition: none; }
}

/* Promotions in the cart (inc/promotions.php): old price above the new one, discount lines get the room they need. */
.hog-store table.shop_table.cart td.product-subtotal del { display: block; margin-bottom: 5px; color: var(--muted); font: 500 13px/1 var(--body); }
.hog-store table.shop_table.cart td.product-subtotal ins { text-decoration: none; }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals table th { width: auto; }
.hog-store.woocommerce-cart .cart-collaterals .cart_totals table td { white-space: nowrap; }
/* WooCommerce stacks the totals below 768px and puts the label in td::before; a long deal name may wrap there, the amount stays whole. */
@media (max-width: 768px) {
  .hog-store.woocommerce-cart .cart-collaterals .cart_totals tr.fee td { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; white-space: normal; text-align: left !important; }
  .hog-store.woocommerce-cart .cart-collaterals .cart_totals tr.fee td::before { float: none; flex: 1 1 auto; }
  .hog-store.woocommerce-cart .cart-collaterals .cart_totals tr.fee td .amount { white-space: nowrap; }
}
/* WooCommerce dims the old price with opacity .5 through a more specific selector; that fails contrast. */
.hog-store.single-product div.product p.price del,
.hog-store.single-product div.product span.price del { opacity: 1; color: var(--muted); font-size: 18px; font-weight: 500; letter-spacing: -.01em; }
