/* Hallmark · component: shared WooCommerce card + quick view + notices · genre: editorial-commerce · theme: studied-DNA (Light Inspiration)
 * states: default · hover · focus · active · disabled · loading · error · success
 * pre-emit critique: P5 H5 E5 S5 R5 V5 · contrast: pass
 */
.li-product-card { min-width:0; list-style:none; }
.li-commerce-notices { position:sticky; z-index:var(--z-notice,100); top:calc(var(--wp-admin--admin-bar--height,0px) + var(--banner-h,2.5rem) + var(--bar-h,5rem)); display:none; width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin:var(--space-sm) auto 0; }
.li-commerce-notices.is-positioned.has-notices { display:grid; gap:var(--space-xs); }
.li-commerce-notices :where(.woocommerce-message,.woocommerce-error,.woocommerce-info,.wc-block-components-notice-banner) { position:relative; width:100%; min-height:3rem; margin:0 !important; padding:var(--space-sm) var(--space-md) !important; border:1px solid var(--rule) !important; border-radius:0 !important; color:var(--ink) !important; background:var(--paper-soft) !important; box-shadow:none !important; font-family:var(--font-body); font-size:var(--text-sm); line-height:1.4; }
.li-commerce-notices .woocommerce-error { border-color:var(--error) !important; }
.li-commerce-notices :where(a,button) { color:inherit !important; font-weight:700; text-underline-offset:.2em; }
.li-commerce-notices :where(a,button):focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-commerce-notices .woocommerce-message:has(.button.wc-forward) { display:flex; align-items:center; gap:var(--space-sm); }
.li-commerce-notices.li-commerce-notices .button.wc-forward { order:2; flex:0 0 auto; display:inline-flex !important; min-width:0; min-height:2.75rem; align-items:center; justify-content:center; margin:0 0 0 auto !important; padding:0 var(--space-sm) !important; border:1px solid var(--ink) !important; border-radius:0 !important; outline:2px solid transparent; outline-offset:2px; color:var(--on-dark) !important; background:var(--ink) !important; box-shadow:none !important; font-family:var(--font-body); font-size:var(--text-xs) !important; font-weight:700; line-height:1 !important; text-decoration:none !important; white-space:nowrap; cursor:pointer; transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out); }
.li-commerce-notices.li-commerce-notices .button.wc-forward:focus-visible,.li-commerce-notices.li-commerce-notices .button.wc-forward.is-focus { outline-color:var(--focus) !important; }
.li-commerce-notices.li-commerce-notices .button.wc-forward:active,.li-commerce-notices.li-commerce-notices .button.wc-forward.is-active { color:var(--ink) !important; background:var(--paper) !important; transform:translateY(1px); }
.li-commerce-notices.li-commerce-notices .button.wc-forward:disabled,.li-commerce-notices.li-commerce-notices .button.wc-forward[aria-disabled="true"] { opacity:.55; cursor:not-allowed; pointer-events:none; }
.li-commerce-notices.li-commerce-notices .button.wc-forward:is(.loading,[aria-busy="true"],[data-state="loading"]) { opacity:.72; cursor:wait; }
.li-commerce-notices.li-commerce-notices .button.wc-forward:is(.is-error,[data-state="error"]) { border-color:var(--error) !important; color:var(--error) !important; background:var(--paper) !important; }
.li-commerce-notices.li-commerce-notices .button.wc-forward:is(.added,.is-success,[data-state="success"]) { border-color:var(--success) !important; color:var(--success) !important; background:var(--paper) !important; }
.li-product-card__media { position:relative; min-width:0; aspect-ratio:1; overflow:hidden; background:transparent; }
.li-product-card__image { position:relative; display:block; width:100%; height:100%; overflow:hidden; }
.li-product-card__image img { position:absolute; inset:0; display:block; width:100%; height:100%; margin:0 !important; object-fit:contain; background:transparent !important; opacity:1; transition:opacity var(--dur-short) var(--ease-out); }
.li-product-card__image .li-product-card__image-hover { opacity:0; }
.li-product-card__badges { position:absolute; z-index:2; top:var(--space-xs); left:var(--space-xs); display:flex; flex-wrap:wrap; gap:var(--space-2xs); pointer-events:none; }
.li-product-badge { display:inline-flex; min-height:1.75rem; align-items:center; padding:var(--space-2xs) var(--space-xs); border:1px solid currentColor; color:var(--ink); background:#fff; font-size:var(--text-xs); font-weight:700; line-height:1; }
.li-product-badge--sale { color:var(--error); }
.li-product-card__actions { position:absolute; z-index:3; left:50%; bottom:var(--space-sm); display:grid; grid-template-columns:2.5rem minmax(max-content,auto) 2.5rem; width:max-content; max-width:calc(100% - (2 * var(--space-sm))); overflow:hidden; border:1px solid var(--accent); color:var(--ink); background:#fff; box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--ink) 12%,transparent); opacity:1; transform:translateX(-50%); transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out); }
.li-product-card__actions > .added_to_cart.wc-forward { display:none !important; }
.li-product-card__action,.li-product-card__wishlist,.li-product-card__wishlist :where(a,button) { display:flex !important; min-width:0 !important; width:100% !important; height:2.5rem !important; min-height:2.5rem !important; max-height:2.5rem !important; margin:0 !important; padding:0 var(--space-xs) !important; align-items:center; justify-content:center; gap:var(--space-2xs); border:0 !important; border-radius:0 !important; outline:2px solid transparent; outline-offset:-3px; color:var(--ink) !important; background:#fff !important; box-shadow:none !important; font-size:var(--text-xs); font-weight:700; line-height:1 !important; text-decoration:none; cursor:pointer; white-space:nowrap; }
.li-product-card__action--icon { padding:0 !important; }
.li-product-card__action--primary { min-width:5rem !important; border-right:1px solid var(--rule) !important; }
.li-product-card__wishlist > *,.li-product-card__wishlist .yith-add-to-wishlist-button-block { width:100% !important; height:2.5rem !important; min-height:2.5rem !important; max-height:2.5rem !important; margin:0 !important; padding:0 !important; }
.li-product-card__action + .li-product-card__action,.li-product-card__wishlist { border-left:1px solid var(--rule) !important; }
.li-product-card__action svg,.li-product-card__wishlist svg { width:1.25rem; height:1.25rem; }
.li-product-card__wishlist :where(.feedback,.yith-wcwl-add-to-wishlist-button__label,.separator,.view-wishlist) { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; }
.li-product-card__wishlist :where(svg,svg *) { color:var(--ink) !important; stroke:currentColor !important; }
.li-product-card__wishlist .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--anchor { width:100% !important; min-width:2.5rem !important; padding:0 !important; }
.li-product-card__wishlist .yith-wcwl-icon { flex:0 0 1.25rem !important; width:1.25rem !important; min-width:1.25rem !important; height:1.25rem !important; }
.li-product-card__action:focus-visible,.li-product-card__wishlist :where(a,button):focus-visible { outline-color:var(--focus); }
.li-product-card__action:active,.li-product-card__wishlist :where(a,button):active { color:var(--accent-deep) !important; background:var(--paper-soft) !important; transform:translateY(1px); }
.li-product-card__action[aria-disabled="true"],.li-product-card__action.loading { opacity:.55; cursor:not-allowed; }
.li-product-card__action.added { color:var(--success) !important; }
.li-product-card__action[data-state="error"] { color:var(--error) !important; }
.li-product-card__action[data-state="success"] { color:var(--success) !important; }
.li-product-card__body { padding-top:var(--space-sm); }
.li-product-card__brand { margin:0 0 var(--space-2xs); color:var(--muted); font-size:.6875rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.li-product-card h3 { margin:0 0 var(--space-xs) !important; padding:0 !important; font-family:var(--font-display); font-size:var(--text-md) !important; font-weight:400; line-height:1.3; }
.li-product-card h3 a { color:var(--ink); text-decoration:none; }
.li-product-card .price { margin:0 !important; color:var(--ink); font-family:var(--font-body); font-size:var(--text-sm) !important; font-weight:700; font-variant-numeric:tabular-nums; }
.li-product-template .li-product-card .price { font-size:var(--text-sm) !important; line-height:1.35 !important; }
.li-product-template .li-product-card .price :where(del,ins,.amount,bdi,.woocommerce-Price-currencySymbol) { font-family:inherit !important; font-size:inherit !important; line-height:inherit !important; }
.li-product-template .li-product-card .price > :where(del,ins) { display:inline-flex !important; align-items:baseline; margin:0 !important; }
.li-product-template .li-product-card .price > ins { margin-inline-start:.65em !important; }
.li-product-card .price del { color:var(--muted); font-weight:400; }
.li-product-card .price ins { color:var(--ink); font-weight:700; text-decoration:none; }
.li-price-from { display:inline-flex; align-items:baseline; flex-wrap:nowrap; gap:.45em; white-space:nowrap; }
.li-price-from :where(del,ins) { display:inline-flex; align-items:baseline; margin:0 !important; }
.li-price-from ins { margin-inline-start:.3em !important; }
.li-price-from__label { color:var(--muted); font-size:.78em; font-weight:600; }
.li-quick-view { width:min(62rem,calc(100% - (2 * var(--gutter)))); max-width:none; padding:0; border:1px solid var(--ink); border-radius:0; color:var(--ink); background:var(--paper); }
.li-quick-view::backdrop { background:color-mix(in oklch,var(--ink) 68%,transparent); }
.li-quick-view.li-quick-view .li-quick-view__close { position:absolute; z-index:3; top:var(--space-sm); right:var(--space-sm); display:grid !important; width:2.75rem !important; height:2.75rem !important; min-width:2.75rem !important; min-height:2.75rem !important; margin:0 !important; padding:0 !important; place-items:center !important; border:1px solid var(--ink) !important; border-radius:0 !important; color:var(--ink) !important; background:var(--paper) !important; box-shadow:none !important; line-height:1 !important; cursor:pointer; }
.li-quick-view__close svg { display:block; width:1.25rem; height:1.25rem; margin:auto; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:square; }
.li-quick-view.li-quick-view .li-quick-view__close:focus-visible { outline:2px solid var(--focus) !important; outline-offset:2px; }
.li-quick-view.li-quick-view .li-quick-view__close:active { color:var(--on-dark) !important; background:var(--ink) !important; transform:translateY(1px); }
.li-quick-view.li-quick-view .li-quick-view__close:disabled,.li-quick-view.li-quick-view .li-quick-view__close[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.li-quick-view.li-quick-view .li-quick-view__close[data-state="loading"] { cursor:wait; }
.li-quick-view.li-quick-view .li-quick-view__close[data-state="error"] { border-color:var(--error) !important; color:var(--error) !important; }
.li-quick-view.li-quick-view .li-quick-view__close[data-state="success"] { border-color:var(--success) !important; color:var(--success) !important; }
.li-quick-view__content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.li-quick-view__image { min-width:0; aspect-ratio:1; }
.li-quick-view__image img { width:100%; height:100%; object-fit:contain; }
.li-quick-view__copy { align-self:center; min-width:0; padding:var(--space-2xl); }
.li-quick-view__brand { color:var(--accent-deep); font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.li-quick-view h2 { margin:var(--space-xs) 0 var(--space-md); font-size:clamp(2rem,4vw,3.5rem); overflow-wrap:anywhere; }
.li-quick-view__price { margin-bottom:var(--space-md); font-size:var(--text-lg); font-weight:700; }
.li-quick-view__description { color:var(--ink-soft); }
.li-quick-view__link { display:inline-flex; min-height:2.75rem; align-items:center; margin-top:var(--space-lg); border-bottom:1px solid currentColor; color:var(--ink); font-weight:700; text-decoration:none; white-space:nowrap; }
.li-quick-view__link:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-quick-view__link:active { color:var(--ink-soft); transform:translateY(1px); }
.li-quick-view__link[aria-disabled="true"] { opacity:.55; cursor:not-allowed; pointer-events:none; }
.li-quick-view__status:not(:empty) { padding:var(--space-2xl); color:var(--muted); }
.li-quick-view[data-state="error"] .li-quick-view__status { color:var(--error); }
.li-product-purchase-extras { display:grid; gap:var(--space-md); margin-top:0; }
.li-product-payment-methods { display:grid; gap:var(--space-xs); padding-top:var(--space-md); border-top:1px solid var(--rule); }
.li-product-payment-methods > span { color:var(--muted); font-size:var(--text-xs); }
.li-product-payment-methods .li-footer-payments { justify-content:flex-start; }
.li-product-payment-methods .li-footer-payments li { min-width:3.5rem; min-height:2.25rem; padding:.375rem .5rem; }
.li-product-payment-methods .li-footer-payments img { width:auto; max-width:5rem; height:1.5rem; }
.li-lock-scroll { overflow:hidden; }
@media (hover:hover) and (pointer:fine) {
  .li-commerce-notices.li-commerce-notices .button.wc-forward:hover,.li-commerce-notices.li-commerce-notices .button.wc-forward.is-hover { border-color:var(--accent-deep) !important; color:var(--on-dark) !important; background:var(--accent-deep) !important; }
  .li-product-card__actions { pointer-events:none; opacity:0; transform:translate(-50%,.5rem); }
  .li-product-card__media:hover .li-product-card__actions,.li-product-card__media:focus-within .li-product-card__actions { pointer-events:auto; opacity:1; transform:translateX(-50%); }
  .li-product-card__media:hover .li-product-card__image.has-hover-image .li-product-card__image-primary,.li-product-card__image.has-hover-image:focus-visible .li-product-card__image-primary { opacity:0; }
  .li-product-card__media:hover .li-product-card__image.has-hover-image .li-product-card__image-hover,.li-product-card__image.has-hover-image:focus-visible .li-product-card__image-hover { opacity:1; }
  .li-product-card h3 a:hover,.li-quick-view__link:hover { color:var(--accent-deep); }
  .li-product-card__action:hover,.li-product-card__wishlist :where(a,button):hover { color:var(--accent-deep) !important; background:var(--paper-soft) !important; }
  .li-quick-view.li-quick-view .li-quick-view__close:hover { color:var(--on-dark) !important; background:var(--ink) !important; }
}
@media (max-width:47.99rem) {
  .li-commerce-notices .woocommerce-message:has(.button.wc-forward) { align-items:flex-start; flex-wrap:wrap; }
  .li-commerce-notices.li-commerce-notices .button.wc-forward { width:100%; margin-inline:0 !important; }
  .li-quick-view__content { grid-template-columns:minmax(0,1fr); }
  .li-quick-view__image { aspect-ratio:4/3; }
  .li-quick-view__copy { padding:var(--space-lg); }
}
@media (prefers-reduced-motion:reduce) {
  .li-commerce-notices.li-commerce-notices .button.wc-forward { transition-duration:.01ms; }
  .li-commerce-notices.li-commerce-notices .button.wc-forward:active,.li-commerce-notices.li-commerce-notices .button.wc-forward.is-active { transform:none; }
  .li-product-card__image img,.li-product-card__actions { transition-duration:.01ms; }
  .li-product-card__action:active { transform:none; }
}

