/* Catalogue */
.lp-commerce-shell { padding: 1.65rem 0 4.5rem; background: #fff; }
.woocommerce .term-description { color: var(--lp-color-muted); font-size: .94rem; }
.lp-catalogue-toolbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin: 0 0 1.4rem; padding: .65rem .75rem .65rem 1rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); background: var(--lp-color-surface-soft); }
.lp-catalogue-toolbar__count { min-width: 0; }
.woocommerce .lp-catalogue-toolbar .woocommerce-result-count { margin: 0; color: var(--lp-color-muted); font-size: .82rem; }
.lp-catalogue-toolbar__sort { display: flex; align-items: center; gap: .65rem; color: var(--lp-brand-primary); font-size: .76rem; font-weight: 800; white-space: nowrap; }
.woocommerce .lp-catalogue-toolbar .woocommerce-ordering { margin: 0; }
.woocommerce .lp-catalogue-toolbar .woocommerce-ordering select { width: auto; min-width: 210px; min-height: 40px; padding: .4rem 2.2rem .4rem .75rem; border: 1px solid var(--lp-color-border-strong); border-radius: var(--lp-radius-md); background-color: #fff; color: var(--lp-color-text); font-family: var(--lp-font-ui); font-size: .82rem; font-weight: 650; }

/* Product detail: gallery + purchase summary form one bounded commercial stage. */
.single-product .lp-commerce-shell { padding-top: 1.35rem; }
.single-product div.product { position: relative; display: block; }
.single-product div.product::after { display: none; }
.lp-pdp-top { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(400px,.92fr); gap: clamp(2rem,4vw,3.4rem); align-items: start; }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { width: auto; float: none; margin: 0; }
.single-product div.product .woocommerce-product-gallery { min-width: 0; }
.single-product div.product .woocommerce-product-gallery__wrapper { overflow: hidden; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-xl); background: #fff; box-shadow: var(--lp-shadow-soft); }
.single-product div.product .woocommerce-product-gallery__image { overflow: hidden; border-radius: inherit; }
.single-product div.product .woocommerce-product-gallery__image a { display: block; cursor: zoom-in; }
.single-product div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; object-fit: contain; }
.single-product .woocommerce-product-gallery__trigger { display: none; }
.single-product div.product ol.flex-control-thumbs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .6rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.single-product div.product ol.flex-control-thumbs li { width: auto; float: none; margin: 0; padding: 0; list-style: none; }
.single-product div.product ol.flex-control-thumbs li::marker { content: ''; }
.single-product div.product ol.flex-control-thumbs img { width: 100%; aspect-ratio: 1; padding: .18rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-md); background: #fff; object-fit: contain; opacity: .72; transition: opacity .16s ease,border-color .16s ease,box-shadow .16s ease; }
.single-product div.product ol.flex-control-thumbs img.flex-active,
.single-product div.product ol.flex-control-thumbs img:hover { border-color: var(--lp-brand-accent); box-shadow: 0 0 0 2px rgba(75,167,8,.12); opacity: 1; }

.single-product div.product .summary { position: sticky; top: calc(var(--lp-header-height, 96px) + 1.1rem); padding: clamp(1.45rem,2.3vw,1.9rem); border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-xl); background: #fff; box-shadow: var(--lp-shadow-card); }
.single-product .product_title { max-width: 720px; margin: 0 0 .7rem; color: var(--lp-brand-primary); font-size: clamp(2.45rem,3.7vw,3.5rem); line-height: .98; }
.single-product .woocommerce-product-rating { display: flex; align-items: center; gap: .5rem; margin-bottom: .8rem; font-size: .84rem; }
.single-product .price { margin: 0 0 .9rem; color: var(--lp-brand-primary); font-size: 1.62rem; font-weight: 800; }
.single-product .price del { color: var(--lp-color-subtle); font-size: 1rem; font-weight: 500; }
.single-product .price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { margin: 0 0 1.05rem; color: var(--lp-color-muted); font-size: .94rem; line-height: 1.65; }
.single-product .stock { display: inline-flex; align-items: center; gap: .4rem; margin: .55rem 0 .2rem; padding: .36rem .62rem; border-radius: var(--lp-radius-pill); font-size: .78rem; font-weight: 800; }
.single-product .stock.in-stock { background: var(--lp-color-success-soft); color: var(--lp-color-success); }
.single-product .stock.out-of-stock { background: var(--lp-color-danger-soft); color: var(--lp-color-danger); }
.single-product form.cart { display: flex; flex-wrap: wrap; gap: .7rem; align-items: stretch; margin: 1rem 0; }
.single-product form.cart .quantity { display: inline-flex; }
.single-product form.cart .quantity .qty { width: 76px; min-height: 44px; text-align: center; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-width: 210px; }
.single-product .product_meta { display: grid; gap: .28rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--lp-color-border); color: var(--lp-color-muted); font-size: .78rem; }
.single-product .product_meta a { font-weight: 700; }

/* B2B commercial information remains data-rich but visually belongs to the same summary. */
.lp-pdp-top--b2b .summary { border-top: 4px solid var(--lp-brand-accent); }
.lp-pdp-top--b2b .lp-b2b-commercial-info { display: grid; gap: .65rem; margin: .4rem 0 .9rem; padding: .85rem 1rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); background: var(--lp-color-surface-brand); }
.lp-pdp-top--b2b .lp-b2b-commercial-info > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.lp-pdp-top--b2b .lp-b2b-commercial-info > div:first-child span { color: var(--lp-color-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.lp-pdp-top--b2b .lp-b2b-commercial-info > div:first-child strong { color: var(--lp-brand-primary); font-size: 1rem; }
.lp-pdp-top--b2b .lp-b2b-tier-public { border-top: 1px solid var(--lp-color-border); padding-top: .55rem; }
.lp-pdp-top--b2b .lp-b2b-tier-public summary { cursor: pointer; color: var(--lp-brand-primary); font-size: .82rem; font-weight: 800; }
.lp-pdp-top--b2b .lp-b2b-tier-public ul { margin: .65rem 0 0; padding: 0; list-style: none; }
.lp-pdp-top--b2b .lp-b2b-tier-public li { display: flex; justify-content: space-between; gap: 1rem; padding: .42rem 0; border-top: 1px dashed var(--lp-color-border); font-size: .78rem; }

/* Product content navigation: editorial, not pill buttons. */
.single-product .woocommerce-tabs { margin-top: 3.4rem; padding-top: 1.2rem; border-top: 1px solid var(--lp-color-border); background: #fff; }
.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 0 0 1.65rem; padding: 0; border: 0; list-style: none; }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none; content: none; }
.single-product .woocommerce-tabs ul.tabs li { position: relative; margin: 0; padding: 0 0 .62rem; border: 0; border-radius: 0; background: transparent; list-style: none; }
.single-product .woocommerce-tabs ul.tabs li::marker { content: ''; }
.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 0; border: 0; color: var(--lp-color-muted); font-size: .88rem; font-weight: 800; }
.single-product .woocommerce-tabs ul.tabs li.active a { background: transparent; color: var(--lp-brand-primary); }
.single-product .woocommerce-tabs ul.tabs li.active { box-shadow: inset 0 -3px var(--lp-brand-accent); }
.single-product .woocommerce-Tabs-panel { max-width: 1080px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--lp-color-text); }
.single-product .woocommerce-Tabs-panel > h2:first-child { margin-top: 0; }
.single-product .woocommerce-Tabs-panel p { max-width: 900px; line-height: 1.75; }
.single-product .woocommerce-Tabs-panel table { overflow: hidden; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); background: #fff; }
.single-product .related.products,.single-product .upsells.products { margin-top: 3.2rem; padding-top: 2rem; border-top: 1px solid var(--lp-color-border); }
.single-product .related.products > h2,.single-product .upsells.products > h2 { margin-bottom: 1.25rem; color: var(--lp-brand-primary); font-size: clamp(2rem,3vw,2.65rem); }

.lp-product-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 0 1rem; color: var(--lp-color-muted); font-size: .82rem; }
.lp-product-breadcrumb a { color: var(--lp-color-muted); }
.lp-product-breadcrumb a:hover { color: var(--lp-brand-accent); }

/* Stock notification component. */
.lp-stock-notify { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .8rem 1rem; align-items: center; margin: 1rem 0 .2rem; padding: 1rem; border: 1px solid var(--lp-color-border-strong); border-radius: var(--lp-radius-lg); background: var(--lp-color-surface-brand); }
.lp-stock-notify__copy { display: grid; gap: .2rem; }
.lp-stock-notify__copy strong { color: var(--lp-brand-primary); font-size: .9rem; }
.lp-stock-notify__copy span { color: var(--lp-color-muted); font-size: .78rem; line-height: 1.45; }
.lp-stock-notify__feedback { grid-column: 1/-1; min-height: 0; color: var(--lp-color-success); font-size: .76rem; font-weight: 700; }
.lp-stock-notify__feedback.is-error,.lp-stock-modal__feedback.is-error { color: var(--lp-color-danger); }
.lp-stock-notify__cancel { justify-self: end; border: 0; background: transparent; }
.lp-stock-modal { position: fixed; z-index: 140; inset: 0; display: grid; place-items: center; padding: 1rem; visibility: hidden; pointer-events: none; }
.lp-stock-modal.is-open { visibility: visible; pointer-events: auto; }
.lp-stock-modal__backdrop { position: absolute; inset: 0; background: rgba(0,33,25,.58); opacity: 0; transition: opacity .18s ease; }
.lp-stock-modal.is-open .lp-stock-modal__backdrop { opacity: 1; }
.lp-stock-modal__dialog { position: relative; z-index: 1; width: min(520px,100%); padding: clamp(1.4rem,4vw,2rem); border-radius: var(--lp-radius-xl); background: #fff; box-shadow: 0 24px 80px rgba(0,42,32,.26); transform: translateY(12px); transition: transform .18s ease; }
.lp-stock-modal.is-open .lp-stock-modal__dialog { transform: none; }
.lp-stock-modal__dialog h2 { margin: .2rem 0 .65rem; color: var(--lp-brand-primary); font-size: 2.25rem; }
.lp-stock-modal__dialog > p { color: var(--lp-color-muted); font-size: .88rem; line-height: 1.6; }
.lp-stock-modal__dialog form { display: grid; gap: .8rem; margin-top: 1.15rem; }
.lp-stock-modal__dialog label { display: grid; gap: .35rem; color: var(--lp-color-text); font-size: .8rem; font-weight: 750; }
.lp-stock-modal__dialog small { color: var(--lp-color-muted); font-size: .72rem; line-height: 1.45; }
.lp-stock-modal__close { position: absolute; top: .7rem; right: .7rem; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--lp-color-surface-soft); color: var(--lp-brand-primary); font-size: 1.35rem; }

/* Two-phase purchase persistence: bounded summary first, compact bar afterwards. */
.lp-pdp-sticky { position: fixed; z-index: 95; right: 0; bottom: 0; left: 0; padding: .65rem 0; border-top: 1px solid var(--lp-color-border); background: rgba(255,255,255,.96); box-shadow: 0 -12px 34px rgba(0,42,32,.12); backdrop-filter: blur(10px); transform: translateY(110%); visibility: hidden; transition: transform .2s ease,visibility .2s ease; }
.lp-pdp-sticky.is-visible { transform: none; visibility: visible; }
.lp-pdp-sticky__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.15rem; align-items: center; }
.lp-pdp-sticky__product { min-width: 0; display: flex; align-items: center; gap: .75rem; }
.lp-pdp-sticky__product img { width: 52px; height: 52px; padding: .1rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-md); object-fit: contain; }
.lp-pdp-sticky__product > div { min-width: 0; display: grid; gap: .1rem; }
.lp-pdp-sticky__product strong { overflow: hidden; color: var(--lp-brand-primary); font-family: var(--lp-font-brand); font-size: 1.05rem; line-height: 1.08; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.lp-pdp-sticky__price-label { color: var(--lp-color-muted); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lp-pdp-sticky__product span { color: var(--lp-brand-primary); font-size: 1rem; font-weight: 800; }
.lp-pdp-sticky .lp-button { min-width: 220px; }

/* Side cart */
html.lp-cart-open { overflow: hidden; }
.lp-cart-drawer { position: fixed; z-index: 110; inset: 0; pointer-events: none; visibility: hidden; }
.lp-cart-drawer.is-open { pointer-events: auto; visibility: visible; }
.lp-cart-overlay { position: absolute; inset: 0; background: rgba(0,33,25,.5); opacity: 0; transition: opacity .2s ease; }
.lp-cart-drawer.is-open .lp-cart-overlay { opacity: 1; }
.lp-cart-drawer > aside { position: absolute; top: 0; right: 0; width: min(480px,100vw); height: 100%; display: flex; flex-direction: column; transform: translateX(100%); background: #fff; box-shadow: -20px 0 55px rgba(0,42,32,.18); transition: transform .24s ease; }
.lp-cart-drawer.is-open > aside { transform: none; }
.lp-cart-drawer > aside > header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.4rem; border-bottom: 1px solid var(--lp-color-border); }
.lp-cart-drawer > aside > header strong { color: var(--lp-brand-primary); font-family: var(--lp-font-brand); font-size: 1.8rem; text-transform: uppercase; }
.lp-cart-drawer > aside > header button { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: var(--lp-color-surface-soft); color: var(--lp-brand-primary); font-size: 1.45rem; }

.lp-shipping-progress { flex: 0 0 auto; margin: .75rem 0 1rem; padding: .9rem 1rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); background: var(--lp-color-surface-soft); }
.lp-shipping-progress__copy { display: grid; gap: .18rem; }
.lp-shipping-progress__copy strong { color: var(--lp-brand-primary); font-size: .86rem; }
.lp-shipping-progress__copy span { color: var(--lp-color-muted); font-size: .8rem; line-height: 1.4; }
.lp-progress-track { height: 8px; margin-top: .65rem; overflow: hidden; border-radius: 99px; background: var(--lp-color-surface-strong); }
.lp-progress-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--lp-brand-accent),var(--lp-brand-primary)); }

/* Woo Blocks cart/checkout */
.wc-block-cart,.wc-block-checkout { font-family: var(--lp-font-ui); }
.wc-block-cart__main,.wc-block-cart__sidebar,.wc-block-checkout__main,.wc-block-checkout__sidebar { min-width: 0; }
.wc-block-cart-items { border: 0; }
.wc-block-cart-items thead th { padding: .75rem 0; border-bottom: 1px solid var(--lp-color-border); color: var(--lp-color-muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.woocommerce-cart .wc-block-cart-items thead th:first-child { padding-left: 1rem; }
.woocommerce-cart .wc-block-cart-items thead th:last-child { padding-right: 1rem; }
.wc-block-cart-items .wc-block-cart-items__row { border-bottom: 1px solid var(--lp-color-border); }
.wc-block-cart-items .wc-block-cart-item__image { width: 112px; padding: 1.25rem .65rem 1.25rem 1rem; }
.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product { padding: 1.25rem .85rem 1.25rem .65rem; }
.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total { padding: 1.25rem 1rem 1.25rem .75rem; }
.woocommerce-cart .wc-block-cart-item__wrap { display:grid; gap:.34rem; align-content:center; }
.woocommerce-cart .wc-block-cart-item__quantity { margin-top:.35rem; }
.woocommerce-cart .wc-block-components-product-metadata__description { display:none!important; }
.wc-block-cart-items .wc-block-cart-item__image img { border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-md); background: #fff; object-fit: contain; }
.wc-block-components-product-name { color: var(--lp-brand-primary); font-family: var(--lp-font-brand); font-size: 1.18rem; font-weight: 700; line-height: 1.15; text-transform: uppercase; }
.wc-block-components-product-price { color: var(--lp-color-text); font-weight: 550; }
.wc-block-components-product-metadata { color: var(--lp-color-muted); font-size: .82rem; }
.wc-block-components-quantity-selector { display:inline-grid!important; grid-template-columns:26px 30px 26px; align-items:center; width:82px!important; min-width:82px!important; max-width:82px!important; min-height:30px!important; overflow:hidden; border:1px solid var(--lp-color-border)!important; border-radius:var(--lp-radius-md)!important; background:#fff; box-shadow:none!important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { min-width:30px!important; width:30px!important; max-width:30px!important; height:30px!important; min-height:30px!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; font-size:.72rem!important; font-weight:650!important; line-height:30px!important; text-align:center; box-shadow:none!important; }
.wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button { min-width:26px!important; width:26px!important; max-width:26px!important; height:30px!important; min-height:30px!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; font-size:.9rem!important; line-height:1!important; box-shadow:none!important; }
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 1.2rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-xl); background: var(--lp-color-surface-soft); }
.wc-block-components-totals-wrapper { border-top-color: var(--lp-color-border); }
.wc-block-components-totals-item__label { color: var(--lp-color-text); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--lp-brand-primary); font-size: 1.18rem; font-weight: 800; }
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button { min-height: 52px; border-radius: var(--lp-radius-md); background: var(--lp-brand-highlight); color: var(--lp-brand-dark); font-weight: 800; }
.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover { background: var(--lp-brand-highlight-strong); color: var(--lp-brand-dark); }
.wc-block-components-button:not(.is-link) { border-radius: var(--lp-radius-md); }
.woocommerce-cart .lp-shipping-progress { max-width: 100%; margin: 0 0 1.3rem; }

/* Alpha 7: final stock-alert, review and catalogue polish. */
.woocommerce ul.products li.product .lp-product-add--notify,
.woocommerce ul.products li.product a.lp-product-add--notify {
  min-height: 48px;
  height: 48px;
  padding: .6rem .8rem;
  font-size: .82rem;
  line-height: 1.05;
  white-space: nowrap;
}

.single-product .lp-stock-notify {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
  margin: 1rem 0 .25rem;
  padding: 1rem 1.05rem;
  background: linear-gradient(180deg,#f2faf7 0%,#edf7f3 100%);
}
.single-product .lp-stock-notify[hidden] { display: none; }
.single-product .lp-stock-notify__copy { gap: .25rem; }
.single-product .lp-stock-notify__copy strong { font-size: 1rem; line-height: 1.25; }
.single-product .lp-stock-notify__copy span { max-width: 42rem; font-size: .84rem; line-height: 1.5; }
.single-product .lp-stock-notify__button { width: 100%; min-height: 50px; }
.single-product .lp-stock-notify__cancel { align-self: flex-start; justify-self: auto; margin: -.1rem 0 0; padding: 0; }
.single-product .lp-stock-notify__feedback { width: 100%; }

/* Product reviews — Woo keeps the semantic/rating source; LivePets renders the visible control. */
.single-product #reviews{max-width:980px;padding-top:.25rem}
.single-product #reviews .woocommerce-Reviews-title{margin:0 0 .65rem;color:var(--lp-brand-primary);font-family:var(--lp-font-brand);font-size:clamp(1.7rem,2.3vw,2.1rem);line-height:1.08;text-transform:none}
.single-product #reviews #reply-title{display:block;max-width:760px;margin:.25rem 0 .45rem;color:var(--lp-brand-primary);font-family:var(--lp-font-brand);font-size:clamp(1.45rem,1.8vw,1.8rem);line-height:1.15;text-transform:none;letter-spacing:0}
.single-product #reviews .comment-notes,.single-product #reviews .comment-form>p:not(.comment-form-rating):not(.comment-form-comment):not(.form-submit){max-width:760px}
.single-product #reviews .comment-form-rating{margin:.85rem 0 1rem}.single-product #reviews .comment-form-rating>label{display:block;margin-bottom:.45rem;font-weight:800}
.comment-form-rating p.stars.lp-native-stars{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.single-product #reviews .lp-review-stars{display:inline-flex;align-items:center;gap:.18rem;padding:.2rem 0}
.single-product #reviews .lp-review-star{display:grid;place-items:center;width:38px;height:40px;padding:0;border:0;background:transparent;color:#c9ccc8;font-size:2rem;line-height:1;cursor:pointer;transition:color .15s ease,transform .15s ease}
.single-product #reviews .lp-review-star:hover,.single-product #reviews .lp-review-star:focus-visible,.single-product #reviews .lp-review-star.is-preview,.single-product #reviews .lp-review-star.is-selected{color:#e0ba00}.single-product #reviews .lp-review-star:focus-visible{outline:2px solid var(--lp-brand-primary);outline-offset:2px;border-radius:6px}.single-product #reviews .lp-review-star:hover{transform:translateY(-1px)}
.single-product #reviews .comment-form-comment{max-width:760px}.single-product #reviews .comment-form-comment label{display:block;margin-bottom:.35rem;font-weight:800}.single-product #reviews .comment-form-comment textarea{width:100%;min-height:132px;max-height:240px}.single-product #reviews .form-submit{margin-top:.85rem}.single-product #reviews .form-submit .submit{min-width:150px}
.single-product #reviews .commentlist{margin:1rem 0 1.5rem;padding:0;list-style:none}.single-product #reviews .commentlist li{margin:0 0 .75rem;padding:1rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-lg);background:#fff}.single-product #reviews .comment-text{margin:0!important;border:0!important;padding:0!important}.single-product #reviews .star-rating{color:#e0ba00}
.livepets-pending-price { display:inline-flex; max-width:250px; color:var(--lp-color-muted); font-size:.82rem; line-height:1.35; font-weight:700; }
.single-product #reviews .comment-form-comment textarea{box-sizing:border-box;padding:.8rem .9rem;border:1px solid var(--lp-color-border-strong);border-radius:var(--lp-radius-md);background:#fff;color:var(--lp-color-text);font-family:var(--lp-font-ui);font-size:.92rem;line-height:1.5;resize:vertical}.single-product #reviews .comment-form-comment textarea:focus{outline:3px solid rgba(75,167,8,.18);border-color:var(--lp-brand-accent)}
.single-product #reviews .form-submit .submit{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.62rem 1rem;border:0;border-radius:var(--lp-radius-md);background:var(--lp-brand-primary);color:#fff;font-family:var(--lp-font-ui);font-weight:800;cursor:pointer}.single-product #reviews .form-submit .submit:hover{background:var(--lp-brand-dark)}

/* alpha.13.1 — replenishment status on PDP. */
.lp-restocking-notice{display:grid;gap:.18rem;margin:.75rem 0;padding:.8rem .9rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-md);background:var(--lp-color-warning-soft)}.lp-restocking-notice strong{color:var(--lp-brand-primary);font-size:.95rem}.lp-restocking-notice span{color:var(--lp-color-muted);font-size:.84rem}


/* alpha.14 — locked professional price + safe retail purchase confirmation. */
.lp-professional-price-lock,.livepets-pending-price{display:inline-flex;align-items:center;gap:.55rem;min-height:34px;color:var(--lp-brand-primary);font-weight:800}.lp-professional-price-lock__mask,.livepets-price-mask{display:inline-flex;padding:.3rem .55rem;border-radius:var(--lp-radius-md);background:linear-gradient(90deg,#e6ebe8,#f4f6f5,#e6ebe8);color:#708079;filter:blur(.35px);letter-spacing:.08em;user-select:none}.lp-retail-purchase-modal{position:fixed;inset:0;z-index:99998;display:none;place-items:center;padding:1rem}.lp-retail-purchase-modal.is-open{display:grid}.lp-retail-purchase-modal__backdrop{position:absolute;inset:0;background:rgba(7,31,23,.62);backdrop-filter:blur(3px)}.lp-retail-purchase-modal__dialog{position:relative;width:min(560px,100%);padding:1.5rem;border-radius:var(--lp-radius-xl);background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.25)}.lp-retail-purchase-modal__dialog h2{margin:.25rem 0 .55rem}.lp-retail-purchase-modal__dialog>p{margin:0;color:var(--lp-color-muted);line-height:1.65}.lp-retail-purchase-modal__close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border:0;border-radius:50%;background:var(--lp-color-surface-soft);font-size:1.35rem;cursor:pointer}.lp-retail-purchase-modal__note{display:grid;gap:.2rem;margin:1rem 0;padding:.85rem 1rem;border-left:4px solid var(--lp-brand-highlight);border-radius:0 var(--lp-radius-md) var(--lp-radius-md) 0;background:#fffbe8}.lp-retail-purchase-modal__note span{color:var(--lp-color-muted);font-size:.82rem}.lp-retail-purchase-modal .lp-actions{margin-top:1rem}

.woocommerce-notices-wrapper{display:grid;gap:.7rem;margin:0 0 1rem}.woocommerce-message,.woocommerce-info,.woocommerce-error{position:relative;margin:0!important;padding:1rem 1.1rem 1rem 3rem!important;border:1px solid var(--lp-color-border)!important;border-radius:var(--lp-radius-lg)!important;background:#fff!important;color:var(--lp-color-text)!important;box-shadow:var(--lp-shadow-soft);font-family:var(--lp-font-ui)}.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:absolute;left:1rem;top:1rem;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:.76rem;font-weight:900}.woocommerce-message{border-left:4px solid var(--lp-color-success)!important}.woocommerce-message::before{content:"✓"!important;background:var(--lp-color-success-soft);color:var(--lp-color-success)}.woocommerce-info{border-left:4px solid var(--lp-brand-accent)!important}.woocommerce-info::before{content:"i"!important;background:var(--lp-color-surface-brand);color:var(--lp-brand-primary)}.woocommerce-error{border-left:4px solid var(--lp-color-danger)!important}.woocommerce-error::before{content:"!"!important;background:var(--lp-color-danger-soft);color:var(--lp-color-danger)}.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-left:auto}
/* Order received — order truth remains Woo/Core, presentation is LivePets. */
.woocommerce-order-received .lp-commerce-shell{background:linear-gradient(180deg,#f7faf8 0,#fff 55%)}.lp-order-confirmation{display:grid;gap:1.35rem;margin:0 auto 2rem}.lp-order-confirmation__hero{display:flex;align-items:flex-start;gap:1rem;padding:1.45rem 1.55rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:#fff;box-shadow:var(--lp-shadow-soft)}.lp-order-confirmation__icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;background:var(--lp-color-success-soft);color:var(--lp-color-success);font-size:1.2rem;font-weight:900}.lp-order-confirmation.is-failed .lp-order-confirmation__icon{background:var(--lp-color-danger-soft);color:var(--lp-color-danger)}.lp-order-confirmation__hero h1{margin:.2rem 0 .4rem;font-size:clamp(2rem,4vw,3rem)}.lp-order-confirmation__hero p{max-width:720px;margin:0;color:var(--lp-color-muted)}.lp-order-confirmation__meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:var(--lp-color-border)}.lp-order-confirmation__meta>div{display:grid;gap:.22rem;padding:.9rem;background:#fff}.lp-order-confirmation__meta span{color:var(--lp-color-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.lp-order-confirmation__meta strong{font-size:.86rem}.lp-order-confirmation__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:1.15rem;align-items:start}.lp-order-confirmation__side{display:grid;gap:1rem}.lp-order-confirmation__card{padding:1.2rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:#fff}.lp-order-confirmation__card h2{margin:.15rem 0 .7rem;font-size:1.55rem}.lp-order-confirmation__card address{font-style:normal;line-height:1.65;color:var(--lp-color-text)}.lp-order-confirmation__card p{margin:.5rem 0 0;color:var(--lp-color-muted)}.lp-order-items{display:grid;gap:.15rem}.lp-order-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--lp-color-border)}.lp-order-item:last-child{border-bottom:0}.lp-order-item__image img{width:58px;height:58px;object-fit:contain;border-radius:var(--lp-radius-md);background:var(--lp-color-surface-soft)}.lp-order-item__copy{display:grid;gap:.18rem}.lp-order-item__copy span{color:var(--lp-color-muted);font-size:.78rem}.lp-order-item__total{font-weight:500}.lp-order-confirmation__next{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.35rem;border-radius:var(--lp-radius-xl);background:var(--lp-color-surface-brand)}.lp-order-confirmation__next h2{margin:.15rem 0 .3rem;font-size:1.5rem}.lp-order-confirmation__next p{margin:0;color:var(--lp-color-muted)}.woocommerce-order-received .woocommerce-bacs-bank-details,.woocommerce-order-received .wc-bacs-bank-details{margin:1rem 0;padding:1.2rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:#fff;box-shadow:var(--lp-shadow-soft)}.woocommerce-order-received .woocommerce-bacs-bank-details h2,.woocommerce-order-received .wc-bacs-bank-details h2{margin-top:0}.woocommerce-order-received ul.wc-bacs-bank-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;list-style:none;padding:0}.woocommerce-order-received ul.wc-bacs-bank-details li{padding:.75rem;border-radius:var(--lp-radius-md);background:var(--lp-color-surface-soft)}
.lp-order-confirmation__payment{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.35rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:var(--lp-color-surface-brand);box-shadow:var(--lp-shadow-soft)}
.lp-order-confirmation__payment-copy{min-width:0;flex:1}
.lp-order-confirmation__payment h2{margin:.15rem 0 .55rem;font-size:1.5rem}
.lp-order-confirmation__payment p{margin:.35rem 0 0;color:var(--lp-color-muted)}
.lp-order-confirmation__gateway-instructions{display:grid;gap:.55rem;color:var(--lp-color-muted)}
.lp-order-confirmation__gateway-instructions>p{margin:0}
.lp-order-confirmation__gateway-instructions .woocommerce-bacs-bank-details,
.lp-order-confirmation__gateway-instructions .wc-bacs-bank-details{margin:.7rem 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.lp-order-confirmation__gateway-instructions .woocommerce-bacs-bank-details h2,
.lp-order-confirmation__gateway-instructions .wc-bacs-bank-details h2{margin:.2rem 0 .65rem;font-size:1.3rem}
.lp-order-confirmation__gateway-instructions ul.wc-bacs-bank-details{margin:0}


.livepets-logistics-product-note{margin:.65rem 0 0;padding:.7rem .8rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-md);background:var(--lp-color-surface-soft);color:var(--lp-color-muted);font-size:.82rem}

/* alpha.20 — Approved B2B checkout contract + consolidated LivePets Checkout Blocks presentation.
 * Core owns identity, addresses, billing truth, fulfilment and Store API state.
 * Theme owns layout, conditional presentation and visual hierarchy.
 */
.woocommerce-checkout .lp-commerce-shell > .lp-container{
  width:min(var(--lp-container-wide),calc(100% - var(--lp-gutter)));
  max-width:none;
}
.woocommerce-checkout .wc-block-checkout{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  grid-template-columns:minmax(620px,1.55fr) minmax(390px,.88fr)!important;
  gap:clamp(1.75rem,3vw,3rem)!important;
  align-items:start;
}
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.woocommerce-checkout .wc-block-checkout__main{display:grid;min-width:0;gap:var(--lp-checkout-section-gap)}
.woocommerce-checkout .wc-block-checkout__main > *{margin-block:0!important}
.woocommerce-checkout .wc-block-checkout__form{display:grid;gap:var(--lp-checkout-section-gap);min-width:0}
.woocommerce-checkout .wc-block-checkout__form > *{margin-block:0!important}
.woocommerce-checkout .wp-block-woocommerce-checkout{margin-block-start:0!important;padding-top:0!important}
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block{display:grid;gap:var(--lp-checkout-section-gap)}
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block > *{margin-block:0!important}
/* alpha.43 corrective: do not infer/hide Woo Checkout outer wrappers with :has().
   Contact/Billing are hidden only by their canonical block classes below. The alpha.42
   wrapper-collapse experiment could hide the complete checkout-fields branch at runtime. */
/* Custom Checkout inner-block wrappers must not add a second spacing layer.
   The fields grid owns inter-section rhythm; the component roots own only their card surface. */
.woocommerce-checkout .wp-block-livepets-professional-fulfilment,
.woocommerce-checkout .wp-block-livepets-professional-post-address{
  margin:0!important;
  padding:0!important;
  min-height:0;
}
.woocommerce-checkout .lp-page-header{padding-bottom:.65rem}
.woocommerce-checkout .lp-commerce-shell{padding-top:.55rem}
.woocommerce-checkout .wc-block-checkout__sidebar{min-width:390px}

/* Approved contract: billing is fixed to the approved account; manual shipping is dropshipping-only. */
body.lp-b2b-approved-checkout.lp-checkout-mode-partner .wp-block-woocommerce-checkout-shipping-address-block,
body.lp-b2b-approved-checkout .wp-block-woocommerce-checkout-billing-address-block,
body.lp-b2b-approved-checkout .wp-block-woocommerce-checkout-contact-information-block,
body.lp-b2b-approved-checkout .wc-block-checkout__use-address-for-billing{
  display:none!important;
}
body.lp-b2b-approved-checkout.lp-checkout-mode-dropshipping .wp-block-woocommerce-checkout-shipping-address-block{
  display:block!important;
}

/* Woo steps use the established LivePets card language with a calmer hierarchy. */
.woocommerce-checkout .wc-block-components-checkout-step{
  width:100%;
  max-width:none;
  margin:0!important;
  padding:1rem 1.15rem!important;
  border:1px solid var(--lp-color-border);
  border-radius:var(--lp-radius-xl);
  background:var(--lp-color-surface);
  box-shadow:var(--lp-shadow-soft);
}
.woocommerce-checkout .wc-block-components-checkout-step__heading{margin:0 0 .7rem!important;padding:0!important}
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-checkout-step__heading h2{
  margin:0!important;
  color:var(--lp-brand-primary)!important;
  font-family:var(--lp-font-brand)!important;
  font-size:clamp(1.12rem,1.5vw,1.38rem)!important;
  font-weight:750!important;
  line-height:1.06!important;
  letter-spacing:.005em!important;
  text-transform:uppercase;
}
.woocommerce-checkout .wc-block-components-checkout-step__description{
  color:var(--lp-color-muted);
  font-size:.76rem;
  line-height:1.5;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-address-form input,
.woocommerce-checkout .wc-block-components-address-form select{
  border-color:var(--lp-color-border-strong)!important;
  border-radius:var(--lp-radius-md)!important;
  background:var(--lp-color-surface)!important;
  box-shadow:none!important;
}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-address-form input:focus,
.woocommerce-checkout .wc-block-components-address-form select:focus{
  border-color:var(--lp-brand-accent)!important;
  box-shadow:0 0 0 3px rgba(75,167,8,.14)!important;
}
.woocommerce-checkout .wc-block-components-text-input{position:relative}
.woocommerce-checkout .wc-block-components-text-input input{min-height:50px!important;padding:1.18rem .85rem .34rem!important;line-height:1.2!important}
.woocommerce-checkout .wc-block-components-text-input label{left:.85rem!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important;transform-origin:left top!important;color:var(--lp-color-muted)!important;font-size:.78rem!important;line-height:1!important;pointer-events:none}
.woocommerce-checkout .wc-block-components-text-input.is-active label,
.woocommerce-checkout .wc-block-components-text-input:focus-within label{top:.42rem!important;transform:none!important;font-size:.64rem!important;color:var(--lp-color-muted)!important}
.woocommerce-checkout .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  border-color:var(--lp-color-border)!important;
  border-radius:var(--lp-radius-lg)!important;
  overflow:hidden;
}
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  min-height:52px;
  border:1px solid var(--lp-color-border)!important;
  border-radius:var(--lp-radius-lg)!important;
  background:var(--lp-color-surface)!important;
  box-shadow:none!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked,
.woocommerce-checkout .wc-block-components-radio-control__option--checked,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option[aria-checked="true"],
.woocommerce-checkout .wc-block-components-radio-control__option[aria-checked="true"],
.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked){
  border-color:var(--lp-color-border-strong)!important;
  background:var(--lp-color-surface-brand)!important;
  box-shadow:inset 3px 0 0 var(--lp-brand-accent),var(--lp-shadow-soft)!important;
}

/* Payment descriptions need a distinct second reading level inside the selected method. */
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content{
  padding-top:.65rem!important;
  color:var(--lp-color-muted);
  line-height:1.5;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content > :first-child{margin-top:0!important}
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content p{margin-bottom:.35rem}

/* Professional fulfilment keeps the same site card/selected-state language. */
.woocommerce-checkout .lp-blocks-fulfilment{
  width:100%;
  max-width:none;
  margin:0!important;
  padding:1.15rem 1.2rem;
  border:1px solid var(--lp-color-border);
  border-radius:var(--lp-radius-xl);
  background:var(--lp-color-surface);
  box-shadow:var(--lp-shadow-soft);
}
.woocommerce-checkout .lp-blocks-fulfilment__head{gap:.3rem;margin-bottom:.9rem}
.woocommerce-checkout .lp-blocks-kicker{
  color:var(--lp-brand-accent);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.woocommerce-checkout .lp-blocks-fulfilment__head h3{
  margin:0;
  color:var(--lp-brand-primary);
  font-family:var(--lp-font-brand);
  font-size:clamp(1.45rem,2vw,1.8rem);
  font-weight:750;
  line-height:1.04;
  letter-spacing:.005em;
  text-transform:uppercase;
}
.woocommerce-checkout .lp-blocks-fulfilment__head p{
  max-width:72ch;
  margin:0;
  color:var(--lp-color-muted);
  font-size:.82rem;
  line-height:1.55;
}
.woocommerce-checkout .lp-blocks-delivery-grid{
  grid-template-columns:repeat(2,minmax(250px,1fr));
  gap:.75rem;
}
.woocommerce-checkout .lp-blocks-delivery-card{
  min-width:0;
  min-height:88px;
  padding:.9rem 1rem;
  align-items:flex-start;
  border:1px solid var(--lp-color-border-strong);
  border-radius:var(--lp-radius-lg);
  background:var(--lp-color-surface-soft);
  box-shadow:none;
}
.woocommerce-checkout .lp-blocks-delivery-card.is-active{
  border-color:var(--lp-color-border-strong);
  background:var(--lp-color-surface-brand);
  box-shadow:inset 3px 0 0 var(--lp-brand-accent),var(--lp-shadow-soft);
}
.woocommerce-checkout .lp-blocks-delivery-card input{accent-color:var(--lp-brand-accent)}
.woocommerce-checkout .lp-blocks-delivery-card strong,
.woocommerce-checkout .lp-blocks-delivery-card small{overflow-wrap:normal;word-break:normal;hyphens:none}
.woocommerce-checkout .lp-blocks-delivery-card strong{
  color:var(--lp-brand-primary);
  font-size:.86rem;
  font-weight:750;
  line-height:1.25;
}
.woocommerce-checkout .lp-blocks-delivery-card small{
  margin-top:.25rem;
  color:var(--lp-color-muted);
  font-size:.73rem;
  font-weight:500;
  line-height:1.45;
}

/* One content level under the selector: no card-within-card stack. */
.woocommerce-checkout .lp-blocks-mode-panel{
  margin-top:.9rem;
  padding:.85rem 0 0;
  border:0;
  border-top:1px solid var(--lp-color-border);
  border-radius:0;
  background:transparent;
}
.woocommerce-checkout .lp-blocks-mode-panel__title{max-width:100%}
.woocommerce-checkout .lp-blocks-mode-panel__title strong{
  color:var(--lp-brand-primary);
  font-size:.82rem;
  font-weight:800;
}
.woocommerce-checkout .lp-blocks-mode-panel__title span{
  color:var(--lp-color-muted);
  font-size:.74rem;
  font-weight:500;
  line-height:1.45;
}
.woocommerce-checkout .lp-blocks-field{color:var(--lp-color-text);font-size:.74rem;font-weight:750}
.woocommerce-checkout .lp-blocks-field input,
.woocommerce-checkout .lp-blocks-field select{
  width:100%;
  min-height:48px;
  padding:.62rem .7rem;
  border:1px solid var(--lp-color-border-strong);
  border-radius:var(--lp-radius-md);
  background:var(--lp-color-surface);
  color:var(--lp-color-text);
  font:inherit;
  font-weight:500;
  box-shadow:none;
}
.woocommerce-checkout .lp-blocks-field input:focus,
.woocommerce-checkout .lp-blocks-field select:focus{
  outline:0;
  border-color:var(--lp-brand-accent);
  box-shadow:0 0 0 3px rgba(75,167,8,.14);
}
.woocommerce-checkout .lp-blocks-address-preview{
  max-width:100%;
  padding:.7rem .8rem;
  border-left:3px solid var(--lp-brand-accent);
  border-radius:0 var(--lp-radius-md) var(--lp-radius-md) 0;
  background:var(--lp-color-surface-brand);
}
.woocommerce-checkout .lp-blocks-address-preview strong{color:var(--lp-brand-primary);font-size:.79rem;font-weight:800}
.woocommerce-checkout .lp-blocks-address-preview span{color:var(--lp-color-muted);font-size:.73rem;font-weight:500;line-height:1.45}
.woocommerce-checkout .lp-blocks-manage-link{
  color:var(--lp-brand-primary);
  font-size:.73rem;
  font-weight:750;
  text-decoration:none;
}
.woocommerce-checkout .lp-blocks-manage-link:hover{text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout .lp-blocks-check{font-size:.74rem;font-weight:650}
.woocommerce-checkout .lp-blocks-check input{accent-color:var(--lp-brand-accent)}

/* Approved checkout identity is read-only. Recipient logistics and account identity are
 * separate semantic surfaces inside the same registered Core Checkout block; no state or
 * Store API ownership is duplicated in Theme. */
.woocommerce-checkout .lp-blocks-post-address{
  width:100%;
  max-width:none;
  margin:0!important;
  padding:0;
  display:grid;
  gap:var(--lp-checkout-section-gap);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.woocommerce-checkout .lp-blocks-post-address > *{margin:0!important}
.woocommerce-checkout .lp-blocks-recipient-options,
.woocommerce-checkout .lp-blocks-order-identity{
  padding:1.15rem 1.2rem;
  border:1px solid var(--lp-color-border);
  border-radius:var(--lp-radius-xl);
  background:var(--lp-color-surface);
  box-shadow:var(--lp-shadow-soft);
}
.woocommerce-checkout .lp-blocks-recipient-options{display:grid;gap:.9rem}
.woocommerce-checkout .lp-blocks-recipient-options__head{display:grid;gap:.22rem}
.woocommerce-checkout .lp-blocks-recipient-options__head h3{
  margin:0;
  color:var(--lp-brand-primary);
  font-family:var(--lp-font-brand);
  font-size:clamp(1.45rem,2vw,1.8rem);
  font-weight:750;
  line-height:1.04;
  letter-spacing:.005em;
  text-transform:uppercase;
}
.woocommerce-checkout .lp-blocks-recipient-options__head p{max-width:72ch;margin:0;color:var(--lp-color-muted);font-size:.76rem;font-weight:500;line-height:1.5}
.woocommerce-checkout .lp-blocks-recipient-options .lp-blocks-field{font-weight:650}
.woocommerce-checkout .lp-blocks-recipient-options .lp-blocks-field>span{font-size:.73rem;font-weight:700}
.woocommerce-checkout .lp-blocks-recipient-options .lp-blocks-field small{color:var(--lp-color-muted);font-size:.68rem;font-weight:500;line-height:1.4}
.woocommerce-checkout .lp-blocks-recipient-options .lp-blocks-check{margin-top:.05rem;font-size:.72rem;font-weight:600}
.woocommerce-checkout .lp-blocks-recipient .lp-blocks-note{max-width:66ch;margin:.15rem 0 0;color:var(--lp-color-muted);font-size:.68rem;font-weight:450;line-height:1.45}
.woocommerce-checkout .lp-blocks-order-identity{display:grid;gap:1.05rem}
.woocommerce-checkout .lp-blocks-order-identity__head{display:grid;gap:.22rem}
.woocommerce-checkout .lp-blocks-order-identity__head h3{
  margin:0;
  color:var(--lp-brand-primary);
  font-family:var(--lp-font-brand);
  font-size:clamp(1.45rem,2vw,1.8rem);
  font-weight:750;
  line-height:1.04;
  letter-spacing:.005em;
  text-transform:uppercase;
}
.woocommerce-checkout .lp-blocks-order-identity__head p{max-width:72ch;margin:0;color:var(--lp-color-muted);font-size:.76rem;line-height:1.5}
.woocommerce-checkout .lp-blocks-order-identity__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.35rem,3vw,2.3rem);padding-top:.15rem}
.woocommerce-checkout .lp-blocks-contact-summary,
.woocommerce-checkout .lp-blocks-billing-summary{display:grid;align-content:start;gap:.34rem;min-width:0;padding:.15rem 0;border:0}
.woocommerce-checkout .lp-blocks-order-identity__label{color:var(--lp-brand-accent);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.woocommerce-checkout .lp-blocks-contact-summary__email{color:var(--lp-brand-primary);font-size:.8rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.woocommerce-checkout .lp-blocks-contact-summary small,
.woocommerce-checkout .lp-blocks-billing-summary__body span{color:var(--lp-color-muted);font-size:.72rem;font-weight:450;line-height:1.5}
.woocommerce-checkout .lp-blocks-billing-summary__body{display:grid;gap:.22rem}
.woocommerce-checkout .lp-blocks-billing-summary__body strong{color:var(--lp-brand-primary);font-size:.82rem;font-weight:650;line-height:1.4}
.woocommerce-checkout .lp-blocks-order-identity__note{margin:0;padding:.7rem .8rem;border-radius:var(--lp-radius-md);background:var(--lp-color-surface-soft);color:var(--lp-color-muted);font-size:.69rem;font-weight:500;line-height:1.5}

/* Dropshipping is the only Approved mode that exposes Woo's manual shipping form. */
body.lp-b2b-approved-checkout.lp-checkout-mode-dropshipping .wp-block-woocommerce-checkout-shipping-address-block{
  margin-top:var(--lp-checkout-section-gap)!important;
}
body.lp-b2b-approved-checkout.lp-checkout-mode-dropshipping .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__description{
  color:var(--lp-color-muted);
  font-size:.76rem;
  line-height:1.5;
}

/* Summary follows the side-cart rhythm and keeps amount geometry stable. */
.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{
  position:sticky;
  top:1.25rem;
  width:100%;
  padding:1rem 1.1rem;
  border:1px solid var(--lp-color-border);
  border-radius:var(--lp-radius-xl);
  background:var(--lp-color-surface-soft);
  box-shadow:var(--lp-shadow-soft);
}
.woocommerce-checkout .wc-block-components-checkout-order-summary__title{
  color:var(--lp-brand-primary);
  font-family:var(--lp-font-brand);
  font-size:1.3rem;
  font-weight:750;
  text-transform:uppercase;
}
.woocommerce-checkout .wc-block-components-order-summary-item{padding:.62rem 0!important}
.woocommerce-checkout .wc-block-components-order-summary-item__image{width:48px!important}
.woocommerce-checkout .wc-block-components-order-summary-item__description{min-width:0}
.woocommerce-checkout .wc-block-components-product-name{font-size:.86rem;line-height:1.2}
.woocommerce-checkout .wc-block-components-product-metadata{font-size:.68rem;line-height:1.35}
.woocommerce-checkout .wc-block-components-product-metadata__description{display:none}
.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content!important;
  column-gap:.9rem!important;
  align-items:start;
  padding-block:.45rem;
}
.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__label{min-width:0;overflow-wrap:normal!important;word-break:normal!important}
.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__value{min-width:max-content;justify-self:end;white-space:nowrap!important;text-align:right}
.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__description{grid-column:1/2;margin-top:.12rem;color:var(--lp-color-muted);font-size:.72rem;line-height:1.35}

@media(max-width:1180px){
  .woocommerce-checkout .wc-block-checkout{grid-template-columns:minmax(0,1.35fr) minmax(350px,.82fr)!important}
  .woocommerce-checkout .wc-block-checkout__sidebar{min-width:350px}
  .woocommerce-checkout .lp-blocks-delivery-grid{grid-template-columns:1fr}
}
@media(max-width:960px){
  .woocommerce-checkout .lp-commerce-shell > .lp-container{width:min(var(--lp-container),calc(100% - var(--lp-gutter)))}
  .woocommerce-checkout .wc-block-checkout{grid-template-columns:1fr!important}
  .woocommerce-checkout .wc-block-checkout__sidebar{min-width:0}
  .woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{position:static}
}
@media(max-width:680px){
  .woocommerce-checkout .wc-block-components-checkout-step,
  .woocommerce-checkout .lp-blocks-fulfilment{padding:.9rem!important}
  .woocommerce-checkout .lp-blocks-order-identity__grid{grid-template-columns:1fr;gap:.8rem}
  .woocommerce-checkout .lp-blocks-fulfilment__head h3{font-size:1.4rem}
  .woocommerce-checkout .lp-blocks-delivery-card{min-height:auto}
  .woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item{column-gap:.6rem!important}
}

/* alpha.20.1 — Checkout P0 feedback. Validation must never fail silently. */
.woocommerce-checkout .lp-blocks-feedback.is-error{
  margin-top:.8rem;
  padding:.75rem .85rem;
  border:1px solid #efc7c7;
  border-left:4px solid #b42318;
  border-radius:var(--lp-radius-md);
  background:#fff5f4;
  color:#7a271a;
  font-size:.76rem;
  font-weight:650;
  line-height:1.45;
}
.woocommerce-checkout .wc-block-components-validation-error,
.woocommerce-checkout .wc-block-components-notice-banner.is-error{
  color:#7a271a;
  font-family:var(--lp-font-ui);
}
.woocommerce-checkout .wc-block-components-notice-banner.is-error{
  border:1px solid #efc7c7;
  border-radius:var(--lp-radius-md);
  background:#fff5f4;
}


/* alpha.21 — modern Store API side cart. One cart state across drawer/Cart/Checkout. */
.lp-modern-cart{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 1.25rem 1.2rem}
.lp-modern-cart__loading{padding:2.2rem 1rem;color:var(--lp-color-muted);text-align:center}
.lp-modern-cart__items{flex:1 1 auto;min-height:0;overflow:auto;margin:0 -1.25rem;padding:0 1.25rem}
.lp-modern-cart__item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 30px;gap:.9rem;align-items:start;min-height:118px;padding:1.15rem 0;border-bottom:1px solid var(--lp-color-border);transition:opacity .18s ease,background .18s ease}
.lp-modern-cart__item.is-pending{opacity:.48;pointer-events:none}
.lp-modern-cart__image{display:grid;place-items:center;width:72px;height:72px;margin-top:.05rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-md);background:#fff;overflow:hidden}
.lp-modern-cart__image img{width:100%;height:100%;object-fit:contain}
.lp-modern-cart__copy{min-width:0;display:grid;gap:.28rem;padding-top:.02rem}
.lp-modern-cart__name{color:var(--lp-brand-primary);font-family:var(--lp-font-brand);font-size:.98rem;font-weight:700;line-height:1.16;text-transform:uppercase;text-decoration:none}
.lp-modern-cart__meta,.lp-modern-cart__qty{color:var(--lp-color-muted);font-size:.76rem;line-height:1.35}
.lp-modern-cart__line-total{margin-top:.12rem;color:var(--lp-color-text);font-size:.8rem;font-weight:550}
.lp-modern-cart__remove{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--lp-color-danger-soft);color:var(--lp-color-danger);font-size:1.08rem;line-height:1;cursor:pointer}
.lp-modern-cart__remove:hover{filter:brightness(.97)}
.lp-modern-cart__busy{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:lp-cart-busy 1.1s linear infinite}
@keyframes lp-cart-busy{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.lp-modern-cart__progress{margin:.85rem 0 .75rem}
.lp-modern-cart__footer{flex:0 0 auto;border-top:1px solid var(--lp-color-border);padding-top:.9rem}
.lp-modern-cart__subtotal{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem;color:var(--lp-color-text)}
.lp-modern-cart__subtotal strong{color:var(--lp-brand-primary);font-size:1rem;font-weight:700}
.lp-modern-cart__actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.lp-modern-cart__actions .lp-button{min-height:48px;justify-content:center;margin:0;text-align:center}
.lp-modern-cart__empty{margin:0;display:grid;justify-items:center;align-content:start;gap:.65rem;padding:2.35rem 1rem 1.5rem;text-align:center}
.lp-modern-cart__empty-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--lp-color-surface-brand);color:var(--lp-brand-primary);font-size:1.5rem}
.lp-modern-cart__empty strong{color:var(--lp-brand-primary);font-family:var(--lp-font-brand);font-size:1.35rem;text-transform:uppercase}
.lp-modern-cart__empty p{max-width:28ch;margin:0 0 .4rem;color:var(--lp-color-muted);font-size:.84rem;line-height:1.5}
.lp-modern-cart__error{margin:.8rem 0;padding:.7rem .8rem;border-radius:var(--lp-radius-md);background:var(--lp-color-danger-soft);color:var(--lp-color-danger);font-size:.78rem;font-weight:650}

/* Thermal packaging confirmation uses the same modal language as other LivePets decisions. */
.lp-logistics-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1rem}
.lp-logistics-modal__backdrop{position:absolute;inset:0;background:rgba(7,31,23,.62);backdrop-filter:blur(3px)}
.lp-logistics-modal__dialog{position:relative;width:min(560px,100%);padding:1.55rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:#fff;box-shadow:var(--lp-shadow-panel)}
.lp-logistics-modal__dialog h2{margin:.22rem 0 .55rem;color:var(--lp-brand-primary);font-family:var(--lp-font-brand);font-size:1.75rem;line-height:1.05;text-transform:uppercase}
.lp-logistics-modal__dialog>p{margin:0;color:var(--lp-color-muted);font-size:.9rem;font-weight:450;line-height:1.55}
.lp-logistics-modal__dialog .lp-actions{gap:.7rem;margin-top:1.2rem}
.lp-logistics-modal__close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border:0;border-radius:50%;background:var(--lp-color-surface-soft);color:var(--lp-brand-primary);font-size:1.35rem;cursor:pointer}

/* Empty Cart recommendations reuse the canonical Woo loop renderer owned by the Theme. */
.lp-empty-cart-recommendations{margin-top:2.2rem}
.lp-empty-cart-recommendations__head{margin-bottom:.7rem}
.lp-empty-cart-recommendations .products{margin-top:0!important}
.lp-empty-cart-recommendations__head .lp-kicker{font-size:.72rem}

/* Checkout edit action: supported fallback when inline Cart Item mutation has no stable slot. */
.lp-checkout-edit-cart{display:flex;justify-content:flex-end;margin:0 0 .35rem;padding-right:.15rem}
.lp-checkout-edit-cart a{color:var(--lp-color-muted);font-size:.7rem;font-weight:550;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.lp-checkout-edit-cart a:hover{color:var(--lp-brand-primary);text-decoration-color:currentColor}


/* Order received: one details representation + lighter monetary hierarchy. */
.lp-order-confirmation__totals{display:grid;gap:0;margin:.8rem 0 0;padding-top:.7rem;border-top:1px solid var(--lp-color-border)}
.lp-order-confirmation__totals>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:1rem;align-items:center;padding:.38rem 0}
.lp-order-confirmation__totals dt,.lp-order-confirmation__totals dd{margin:0;font-size:.82rem}
.lp-order-confirmation__totals dt{color:var(--lp-color-muted);font-weight:500}
.lp-order-confirmation__totals dd{color:var(--lp-color-text);font-weight:500;white-space:nowrap}
.lp-order-confirmation__totals .is-total{margin-top:.35rem;padding-top:.7rem;border-top:1px solid var(--lp-color-border)}
.lp-order-confirmation__totals .is-total dt,.lp-order-confirmation__totals .is-total dd{color:var(--lp-brand-primary);font-size:1rem;font-weight:800}
.lp-order-confirmation__tracking{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.2rem 1.35rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-xl);background:#fff;box-shadow:var(--lp-shadow-soft)}
.lp-order-confirmation__tracking h2{margin:.15rem 0 .25rem;font-size:1.45rem}
.lp-order-confirmation__tracking p{margin:0;color:var(--lp-color-muted);font-size:.84rem;line-height:1.5}

@media(max-width:680px){
  .woocommerce-checkout .lp-page-header{padding-bottom:.55rem}
  .woocommerce-checkout .lp-commerce-shell{padding-top:.45rem}
  .woocommerce-checkout .wc-block-checkout__main{gap:1.1rem}
  .woocommerce-checkout .wc-block-checkout__form{gap:1.1rem}
  .woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image{width:84px;padding-right:.7rem}
  .woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product{padding-right:.5rem}
  .lp-modern-cart__actions{grid-template-columns:1fr}
  .lp-logistics-modal__dialog{padding:1.25rem}
  .lp-order-confirmation__tracking{align-items:flex-start;flex-direction:column}
}
.lp-modern-cart__unit-price{color:var(--lp-color-muted);font-size:.7rem}
.lp-modern-cart__quantity{display:inline-grid;grid-template-columns:26px 30px 26px;align-items:center;width:max-content;margin-top:.1rem;border:1px solid var(--lp-color-border);border-radius:var(--lp-radius-md);overflow:hidden;background:#fff}
.lp-modern-cart__quantity button{width:26px;height:30px;padding:0;border:0;background:transparent;color:var(--lp-brand-primary);font-size:.9rem;cursor:pointer}
.lp-modern-cart__quantity button:disabled{opacity:.35;cursor:not-allowed}
.lp-modern-cart__quantity span{font-size:.72rem;font-weight:650;text-align:center}

/* Approved B2B PDP: Theme labels the Core-owned professional price; Core owns value/tax semantics. */
.lp-pdp-top--b2b .lp-pdp-professional-price { display: grid; gap: .15rem; margin: .25rem 0 .2rem; }
.lp-pdp-top--b2b .lp-pdp-professional-price > span { color: var(--lp-color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lp-pdp-top--b2b .lp-pdp-professional-price .price { margin: 0; }
/* 0.3.0-alpha.57 HOTFIX — WooCommerce 9.7+ / 10.x can render a second
 * auto-filled Order Summary near the place-order action on small checkout containers.
 * Keep the canonical sidebar summary because Woo turns that owner into the collapsible
 * summary at the top on mobile. Hide only Woo's duplicated fill-wrapper instance.
 * Do not hide/remove .wc-block-checkout__sidebar: it is part of the Checkout Blocks
 * composition and must remain mounted for submission/runtime integrity. */
.woocommerce-checkout .wc-block-checkout.is-mobile
  .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper,
.woocommerce-checkout .wc-block-checkout.is-small
  .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper{
  display:none!important;
}
@media(max-width:767px){
  .woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper{
    display:none!important;
  }
}

.lp-order-confirmation__pickup-hours{display:grid;gap:.25rem;margin:.65rem 0 0}.lp-order-confirmation__pickup-hours>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.lp-order-confirmation__pickup-hours dt,.lp-order-confirmation__pickup-hours dd{margin:0}.lp-order-confirmation__pickup-hours dt{color:var(--lp-color-muted)}.lp-order-confirmation__pickup-hours dd{font-weight:650;text-align:right}


/* PDP media normalization reuses the LivePets Fichas framing language.
 * Catalogue/listing media intentionally remains owned by components.css baseline. */
.single-product .woocommerce-product-gallery{width:100%!important;min-width:0}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery__image{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--lp-radius-xl);background:var(--lp-color-surface-soft);cursor:zoom-in}
.single-product .woocommerce-product-gallery__image>a{display:block;width:100%;height:100%;cursor:zoom-in}
.single-product .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;display:block;object-fit:cover;object-position:50% 50%;transform:scale(1);transition:transform .24s ease,object-position .08s linear}
@media(hover:hover) and (pointer:fine){.single-product .woocommerce-product-gallery__image:hover img:not(.zoomImg){transform:scale(1.045)}}
.single-product .woocommerce-product-gallery__image .zoomImg{display:none!important}
.lp-pdp-lightbox{z-index:100020}
.single-product .flex-control-thumbs img{aspect-ratio:1/1;object-fit:cover}

/* Single-product promotion chip: out-of-flow so it cannot become a third PDP grid cell. */
.lp-pdp-sale-badge{position:absolute;z-index:6;top:1rem;left:1rem;pointer-events:none;box-shadow:var(--lp-shadow-soft)}
@media (max-width: 767px){.lp-pdp-sale-badge{top:.75rem;left:.75rem}}
