/* ============================================================
   MOUSEPADY — store.css
   Conversion layer styling: product grid, product page, cart,
   checkout and the blog. Loaded AFTER main.css so these rules
   win without needing !important everywhere.
   ============================================================ */

/* ------------------------------------------------------------------
   1. PRODUCT GRID — every card the same shape, every element on the
   same baseline. Images share one aspect ratio so rows never ragged.
   ------------------------------------------------------------------ */
body.theme-mousepady ul.products{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.6vw,22px);margin:0;padding:0;list-style:none;align-items:stretch}
body.theme-mousepady ul.products::before,
body.theme-mousepady ul.products::after{content:none!important;display:none!important}

body.theme-mousepady ul.products li.product{
  float:none!important;width:auto!important;clear:none!important;margin:0!important;padding:0!important;
  display:flex;flex-direction:column;position:relative;
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card);
  overflow:hidden;transition:border-color var(--d-base),transform var(--d-base),box-shadow var(--d-base)}
body.theme-mousepady ul.products li.product::before{display:none}
body.theme-mousepady ul.products li.product:hover{
  border-color:var(--c-accent-line);transform:translateY(-4px);box-shadow:var(--e-2)}

/* the whole card above the button is one link, stretched to fill the row height */
body.theme-mousepady ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex;flex-direction:column;flex:1 1 auto;padding:0;text-decoration:none}

/* one aspect ratio for every product image, whatever its source shape */
body.theme-mousepady ul.products li.product img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;
  display:block;margin:0;background:var(--c-tile);border-radius:0}

body.theme-mousepady ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-weight:700;text-transform:none;letter-spacing:0;
  font-size:1rem;line-height:1.3;color:var(--c-text);
  padding:var(--s-4) var(--s-4) 0;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(2 * 1.3em + var(--s-4))}
body.theme-mousepady ul.products li.product .mp-sizehint{
  padding:6px var(--s-4) 0;margin:0;font-size:var(--t-xs);color:var(--c-text-3);
  letter-spacing:.02em;min-height:1.5em}
body.theme-mousepady ul.products li.product .price{
  display:block;margin-top:auto;padding:10px var(--s-4) 0;
  color:var(--c-accent)!important;font-weight:700;font-size:1.0625rem;font-family:var(--font-display)}
body.theme-mousepady ul.products li.product .price del{color:var(--c-text-3);font-weight:400;font-size:.9em}
body.theme-mousepady ul.products li.product .price ins{text-decoration:none}
body.theme-mousepady ul.products li.product .button,
body.theme-mousepady ul.products li.product .added_to_cart{
  margin:var(--s-4);width:calc(100% - 2 * var(--s-4));justify-content:center}
body.theme-mousepady ul.products li.product .onsale{
  position:absolute;top:10px;left:10px;z-index:2;background:var(--c-accent);color:var(--c-accent-ink);
  border-radius:var(--r-pill);padding:4px 10px;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;min-height:0;min-width:0;line-height:1.4}

@media(max-width:1200px){body.theme-mousepady ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){body.theme-mousepady ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){
  body.theme-mousepady ul.products{gap:10px}
  body.theme-mousepady ul.products li.product .woocommerce-loop-product__title{font-size:.9375rem;padding:12px 12px 0}
  body.theme-mousepady ul.products li.product .price{padding:8px 12px 0}
  body.theme-mousepady ul.products li.product .button{margin:12px;width:calc(100% - 24px);padding:12px 10px;font-size:var(--t-xs)}
}

/* shop / archive header */
body.theme-mousepady .woocommerce-products-header,
body.theme-mousepady .mp-page > .page-title,
body.theme-mousepady .mp-page > h1.page-title{margin:0 0 var(--s-4)}
body.theme-mousepady .term-description{color:var(--c-text-2);max-width:72ch;margin:0 0 var(--s-8)}
body.theme-mousepady .term-description p{margin-bottom:.8em}
body.theme-mousepady .mp-shoptools{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;
  padding:0 0 var(--s-6);margin-bottom:var(--s-6);border-bottom:1px solid var(--c-line)}

/* ------------------------------------------------------------------
   2. PRODUCT PAGE
   ------------------------------------------------------------------ */
body.theme-mousepady div.product{display:block}
/* Gallery + summary get their own grid so a sticky gallery is bounded by this
   row and can never travel down over the sections underneath it. */
body.theme-mousepady .mp-pdp-top{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(24px,3.4vw,56px);align-items:start;position:relative}
/* WooCommerce's stylesheet floats these two at ~48%; the grid needs them in flow. */
body.theme-mousepady .mp-pdp-top > .woocommerce-product-gallery,
body.theme-mousepady .mp-pdp-top > .summary,
body.theme-mousepady .mp-pdp-top > .images{float:none!important;width:auto!important;margin:0!important}
body.theme-mousepady .mp-pdp-top::before,
body.theme-mousepady .mp-pdp-top::after{content:none!important;display:none!important}
body.theme-mousepady div.product::before,
body.theme-mousepady div.product::after{content:none!important;display:none!important}

/* -- gallery -- */
body.theme-mousepady .mp-pdp-top .woocommerce-product-gallery{
  width:100%!important;margin:0;align-self:start;position:sticky;top:calc(var(--header-h) + 16px)}
body.theme-mousepady .woocommerce-product-gallery__wrapper{
  height:auto!important;transform:none!important;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%!important}
body.theme-mousepady .woocommerce-product-gallery__image{
  width:100%!important;float:none!important;border-radius:var(--r-card);overflow:hidden;
  background:var(--c-tile);border:1px solid var(--c-line);margin:0}
body.theme-mousepady .woocommerce-product-gallery__image:first-child{grid-column:1/-1;border-radius:var(--r-panel)}
body.theme-mousepady .woocommerce-product-gallery__image:first-child img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
body.theme-mousepady .woocommerce-product-gallery__image:not(:first-child) img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;
  transition:opacity var(--d-fast)}
body.theme-mousepady .woocommerce-product-gallery__image:not(:first-child):hover{border-color:var(--c-accent-line)}
body.theme-mousepady .woocommerce-product-gallery .flex-control-thumbs{display:none}
body.theme-mousepady .woocommerce-product-gallery__trigger{
  top:14px;right:14px;left:auto;background:rgba(10,10,10,.72);border:1px solid var(--c-line-strong);
  border-radius:999px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  color:var(--c-text);text-indent:0;font-size:0;z-index:3}
body.theme-mousepady .woocommerce-product-gallery__trigger::after{
  content:"";width:18px;height:18px;display:block;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F6F5' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3M8 11h6M11 8v6'/%3E%3C/svg%3E") center/contain no-repeat}

/* -- summary column -- */
body.theme-mousepady div.product .summary{display:flex;flex-direction:column;gap:0}
body.theme-mousepady .mp-crumbs{
  display:flex;flex-wrap:wrap;gap:7px;align-items:center;
  font-size:var(--t-xs);color:var(--c-text-3);text-transform:uppercase;letter-spacing:var(--ls-caps);
  margin:0 0 var(--s-3)}
body.theme-mousepady .mp-crumbs a{color:var(--c-text-3)}
body.theme-mousepady .mp-crumbs a:hover{color:var(--c-accent)}
body.theme-mousepady div.product .product_title{
  text-transform:none;letter-spacing:-.01em;font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.12;margin:0 0 var(--s-3)}
body.theme-mousepady div.product p.price,
body.theme-mousepady div.product span.price{
  color:var(--c-accent);font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin:0 0 var(--s-4);line-height:1.1}
body.theme-mousepady div.product .woocommerce-variation-price span.price{font-size:1.75rem}

body.theme-mousepady .woocommerce-product-details__short-description{
  color:var(--c-text-2);font-size:var(--t-body-lg);line-height:1.55;margin:0 0 var(--s-5)}
body.theme-mousepady .woocommerce-product-details__short-description p{margin:0 0 .75em}
body.theme-mousepady .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
body.theme-mousepady .woocommerce-product-details__short-description ul{
  list-style:none;margin:0;padding:0;display:grid;gap:9px}
body.theme-mousepady .woocommerce-product-details__short-description li{
  position:relative;padding-left:26px;color:var(--c-text);font-size:var(--t-body);line-height:1.45}
body.theme-mousepady .woocommerce-product-details__short-description li::before{
  content:"";position:absolute;left:0;top:.28em;width:16px;height:16px;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='2.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
body.theme-mousepady .woocommerce-product-details__short-description li b,
body.theme-mousepady .woocommerce-product-details__short-description li strong{color:var(--c-text);font-weight:600}

/* variation block */
body.theme-mousepady div.product form.cart{margin:0 0 var(--s-4)}
body.theme-mousepady table.variations{width:100%;border:0;margin:0 0 var(--s-4)}
body.theme-mousepady table.variations tr{display:block;margin-bottom:var(--s-3)}
body.theme-mousepady table.variations th,body.theme-mousepady table.variations td{border:0;padding:0;display:block;width:100%}
body.theme-mousepady table.variations th.label label{
  color:var(--c-text-2);font-family:var(--font-display);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--ls-label);font-size:var(--t-xs);margin-bottom:8px;display:block}
body.theme-mousepady .reset_variations{display:none!important}
body.theme-mousepady .mp-sizeguide-link{
  display:inline-flex;align-items:center;gap:7px;color:var(--c-text-3);font-size:var(--t-sm);
  margin:0 0 var(--s-4);border-bottom:1px dotted var(--c-line-strong);padding-bottom:2px}
body.theme-mousepady .mp-sizeguide-link:hover{color:var(--c-accent);border-color:var(--c-accent-line)}

/* add to cart row */
body.theme-mousepady div.product form.cart .woocommerce-variation-add-to-cart,
body.theme-mousepady div.product form.cart:not(.variations_form){
  display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
body.theme-mousepady .quantity{display:flex}
body.theme-mousepady .quantity input.qty{
  width:74px;height:100%;min-height:54px;text-align:center;font-size:var(--t-body-lg);font-weight:600;
  background:var(--c-surface-2);border:1px solid var(--c-line-strong);border-radius:var(--r-control);color:var(--c-text)}
body.theme-mousepady div.product .single_add_to_cart_button{
  flex:1 1 220px;min-height:54px;padding:16px 28px;font-size:1rem;letter-spacing:.09em}

/* express checkout block that Stripe injects */
body.theme-mousepady .wc-stripe-payment-request-wrapper,
body.theme-mousepady #wc-stripe-express-checkout-element,
body.theme-mousepady .wc-block-components-express-payment{margin:var(--s-4) 0 0}
body.theme-mousepady .wc-stripe-payment-request-button-separator,
body.theme-mousepady .wc-block-components-express-payment-continue-rule{
  color:var(--c-text-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-caps)}

/* delivery estimate */
body.theme-mousepady .mp-delivery{
  display:flex;gap:11px;align-items:flex-start;margin:var(--s-5) 0 0;padding:13px 15px;
  background:var(--c-accent-soft);border:1px solid var(--c-accent-line);border-radius:var(--r-card);
  font-size:var(--t-sm);color:var(--c-text);line-height:1.45}
body.theme-mousepady .mp-delivery svg{flex:0 0 auto;margin-top:2px;color:var(--c-accent)}
body.theme-mousepady .mp-delivery b{color:var(--c-accent);font-weight:700}
body.theme-mousepady .mp-delivery em{display:block;font-style:normal;color:var(--c-text-2);font-size:var(--t-xs);margin-top:3px}

/* trust row */
body.theme-mousepady .mp-trustrow{
  list-style:none;margin:var(--s-5) 0 0;padding:var(--s-5) 0 0;border-top:1px solid var(--c-line);display:grid;gap:11px}
body.theme-mousepady .mp-trustrow li{display:flex;align-items:flex-start;gap:11px;font-size:var(--t-sm);color:var(--c-text-2);line-height:1.45}
body.theme-mousepady .mp-trustrow li svg{flex:0 0 auto;margin-top:1px;color:var(--c-accent)}
body.theme-mousepady .mp-trustrow li b{color:var(--c-text);font-weight:600}
body.theme-mousepady .mp-trustrow--wide{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px 28px;
  border:1px solid var(--c-line);border-radius:var(--r-card);background:var(--c-surface-1);
  padding:var(--s-5);margin:var(--s-8) 0}

/* payment marks */
body.theme-mousepady .mp-paymarks{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s-4) 0 0}
body.theme-mousepady .mp-paymarks span{
  border:1px solid var(--c-line);border-radius:4px;padding:4px 8px;font-size:9px;letter-spacing:.08em;
  color:var(--c-text-3);text-transform:uppercase;font-weight:600;background:var(--c-surface-2)}

/* product meta (sku / cat / tags) */
body.theme-mousepady .product_meta{
  margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--c-line);
  font-size:var(--t-xs);color:var(--c-text-3);display:flex;flex-direction:column;gap:5px;line-height:1.6}
body.theme-mousepady .product_meta > span{display:block}
body.theme-mousepady .product_meta a{color:var(--c-text-2)}
body.theme-mousepady .product_meta a:hover{color:var(--c-accent)}

/* ---- stacked content sections (replaces tabs) ---- */
body.theme-mousepady .mp-pdp-sections,
body.theme-mousepady .mp-set,
body.theme-mousepady .related.products,
body.theme-mousepady .up-sells{grid-column:1/-1}
body.theme-mousepady .mp-sec{
  margin-top:var(--s-16);padding-top:var(--s-10);border-top:1px solid var(--c-line)}
body.theme-mousepady .mp-pdp-sections > .mp-sec:first-child{margin-top:var(--s-16)}
body.theme-mousepady .mp-sec > h2{
  text-transform:uppercase;font-size:var(--t-h2);letter-spacing:.01em;margin:0 0 var(--s-6)}
body.theme-mousepady .mp-sec-head{margin-bottom:var(--s-6)}
body.theme-mousepady .mp-sec-head h2{text-transform:uppercase;font-size:var(--t-h2);margin:0 0 6px}
body.theme-mousepady .mp-sec-head p{color:var(--c-text-2);margin:0;max-width:62ch}
body.theme-mousepady .mp-prose{max-width:72ch;color:var(--c-text-2);font-size:var(--t-body-lg);line-height:1.68}
body.theme-mousepady .mp-prose h2{font-size:var(--t-h3);text-transform:none;margin:var(--s-8) 0 var(--s-3);color:var(--c-text)}
body.theme-mousepady .mp-prose h2:first-child{margin-top:0}
body.theme-mousepady .mp-prose h3{font-size:var(--t-h4);text-transform:uppercase;letter-spacing:var(--ls-caps);margin:var(--s-8) 0 var(--s-3);color:var(--c-text)}
body.theme-mousepady .mp-prose p{margin:0 0 1em}
body.theme-mousepady .mp-prose strong{color:var(--c-text)}
body.theme-mousepady .mp-prose ul{list-style:none;padding:0;margin:0 0 1.2em;display:grid;gap:10px}
body.theme-mousepady .mp-prose ul li{position:relative;padding-left:26px}
body.theme-mousepady .mp-prose ul li::before{
  content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='2.6'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}

body.theme-mousepady .mp-spectable{width:100%;max-width:640px;border-collapse:collapse;font-size:var(--t-body)}
body.theme-mousepady .mp-spectable tr{border-bottom:1px solid var(--c-line)}
body.theme-mousepady .mp-spectable th{
  text-align:left;padding:13px 0;width:38%;color:var(--c-text-2);font-family:var(--font-display);
  font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--t-sm)}
body.theme-mousepady .mp-spectable td{padding:13px 0;color:var(--c-text)}

body.theme-mousepady .mp-twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--s-10)}
body.theme-mousepady .mp-twocol h3{
  font-size:var(--t-h4);text-transform:uppercase;letter-spacing:var(--ls-caps);margin:0 0 var(--s-4);color:var(--c-text)}
body.theme-mousepady .mp-ticks{list-style:none;padding:0;margin:0;display:grid;gap:11px}
body.theme-mousepady .mp-ticks li{position:relative;padding-left:26px;color:var(--c-text-2);font-size:var(--t-body);line-height:1.5}
body.theme-mousepady .mp-ticks li::before{
  content:"";position:absolute;left:0;top:.35em;width:15px;height:15px;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='2.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
body.theme-mousepady .mp-ticks li b{color:var(--c-text)}
body.theme-mousepady .mp-fineprint{color:var(--c-text-3);font-size:var(--t-sm);margin:var(--s-4) 0 0}

body.theme-mousepady .mp-noreviews{
  border:1px solid var(--c-line);border-radius:var(--r-card);background:var(--c-surface-1);
  padding:var(--s-8);max-width:640px}
body.theme-mousepady .mp-noreviews .stars{color:var(--c-text-3);letter-spacing:.22em;font-size:1.3rem;margin-bottom:10px}
body.theme-mousepady .mp-noreviews p{color:var(--c-text-2);margin:0;line-height:1.6}
body.theme-mousepady .mp-noreviews b{color:var(--c-text)}

/* ---- complete the set / cart cross-sell ---- */
body.theme-mousepady .mp-setgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--s-4)}
@media(max-width:520px){body.theme-mousepady .mp-setgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
body.theme-mousepady .mp-setcard{
  display:flex;flex-direction:column;background:var(--c-surface-1);border:1px solid var(--c-line);
  border-radius:var(--r-card);overflow:hidden;text-decoration:none;
  transition:border-color var(--d-base),transform var(--d-base)}
body.theme-mousepady .mp-setcard:hover{border-color:var(--c-accent-line);transform:translateY(-3px)}
body.theme-mousepady .mp-setcard .art{display:block;background:var(--c-tile)}
body.theme-mousepady .mp-setcard .art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
body.theme-mousepady .mp-setcard .meta{display:flex;flex-direction:column;gap:4px;padding:var(--s-4) var(--s-4) 0}
body.theme-mousepady .mp-setcard .meta b{
  font-family:var(--font-display);font-size:1rem;color:var(--c-text);line-height:1.25}
body.theme-mousepady .mp-setcard .meta i{font-style:normal;color:var(--c-accent);font-weight:600;font-size:var(--t-sm)}
body.theme-mousepady .mp-setcard .go{
  margin-top:auto;padding:var(--s-3) var(--s-4) var(--s-4);
  font-family:var(--font-display);font-size:var(--t-xs);text-transform:uppercase;
  letter-spacing:var(--ls-caps);color:var(--c-accent)}
body.theme-mousepady .mp-cart-cross{border-top:1px solid var(--c-line);margin-top:var(--s-12);padding-top:var(--s-10)}

/* ---- sticky add to cart ---- */
body.theme-mousepady .mp-stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(10,10,10,.94);backdrop-filter:blur(12px);
  border-top:1px solid var(--c-line-strong);
  transform:translateY(110%);transition:transform var(--d-base) var(--ease);
  padding:10px 0;box-shadow:0 -10px 30px rgba(0,0,0,.4)}
body.theme-mousepady .mp-stickybar.is-on{transform:translateY(0)}
body.theme-mousepady .mp-stickybar .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}
body.theme-mousepady .mp-stickybar .who{display:flex;align-items:center;gap:12px;min-width:0}
body.theme-mousepady .mp-stickybar .who img{width:44px;height:44px;border-radius:var(--r-control);object-fit:cover;flex:0 0 auto}
body.theme-mousepady .mp-stickybar .who b{
  display:block;font-family:var(--font-display);font-size:.9375rem;color:var(--c-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
body.theme-mousepady .mp-stickybar .mp-sticky-price,
body.theme-mousepady .mp-stickybar .mp-sticky-price .price{color:var(--c-accent);font-size:var(--t-sm);font-weight:600}
body.theme-mousepady .mp-stickybar .mp-sticky-buy{flex:0 0 auto;min-height:44px;padding:12px 26px}
@media(max-width:560px){
  body.theme-mousepady .mp-stickybar .who img{display:none}
  body.theme-mousepady .mp-stickybar .who b{max-width:38vw;font-size:.875rem}
}

/* ---- PDP responsive ---- */
@media(max-width:980px){
  body.theme-mousepady .mp-pdp-top{grid-template-columns:1fr;gap:var(--s-8)}
  body.theme-mousepady .mp-pdp-top .woocommerce-product-gallery{position:static}
  body.theme-mousepady .woocommerce-product-gallery__wrapper{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.theme-mousepady .mp-sec{margin-top:var(--s-12);padding-top:var(--s-8)}
}
@media(max-width:560px){
  body.theme-mousepady div.product .single_add_to_cart_button{flex:1 1 100%}
  body.theme-mousepady .quantity input.qty{min-height:50px}
}

/* ------------------------------------------------------------------
   3. CART & CHECKOUT (WooCommerce Blocks)
   ------------------------------------------------------------------ */
body.theme-mousepady .wp-block-woocommerce-cart,
body.theme-mousepady .wp-block-woocommerce-checkout{color:var(--c-text)}
body.theme-mousepady .wc-block-components-product-name,
body.theme-mousepady .wc-block-components-title,
body.theme-mousepady .wc-block-cart__submit-container{color:var(--c-text)}
body.theme-mousepady .wc-block-components-product-name{font-family:var(--font-display);font-weight:600}
body.theme-mousepady .wc-block-cart-items__row img,
body.theme-mousepady .wc-block-components-order-summary-item__image img{
  border-radius:var(--r-control);background:var(--c-tile)}
body.theme-mousepady .wc-block-cart__sidebar .wc-block-components-sidebar,
body.theme-mousepady .wp-block-woocommerce-checkout-order-summary-block{
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-5)}
body.theme-mousepady .wc-block-components-totals-item__label,
body.theme-mousepady .wc-block-components-totals-item__value{color:var(--c-text)}
body.theme-mousepady .wc-block-components-totals-footer-item{border-top:1px solid var(--c-line)}
body.theme-mousepady .wc-block-components-text-input input,
body.theme-mousepady .wc-block-components-text-input textarea,
body.theme-mousepady .wc-block-components-combobox input,
body.theme-mousepady .wc-block-components-select select,
body.theme-mousepady .wc-block-components-quantity-selector{
  background:var(--c-surface-2)!important;border:1px solid var(--c-line-strong)!important;
  color:var(--c-text)!important;border-radius:var(--r-control)!important}
body.theme-mousepady .wc-block-components-text-input label{color:var(--c-text-3)}
body.theme-mousepady .wc-block-components-button:not(.is-link){
  background:var(--c-accent)!important;color:var(--c-accent-ink)!important;border:0!important;
  border-radius:var(--r-control)!important;font-family:var(--font-display);font-weight:700;
  text-transform:uppercase;letter-spacing:var(--ls-caps);min-height:52px}
body.theme-mousepady .wc-block-components-button:not(.is-link):hover{background:var(--c-accent-hover)!important}
body.theme-mousepady .wc-block-components-radio-control__option,
body.theme-mousepady .wc-block-components-radio-control-accordion-option{
  border:1px solid var(--c-line);border-radius:var(--r-control);margin-bottom:8px;background:var(--c-surface-1)}
body.theme-mousepady .wc-block-components-radio-control__option-checked,
body.theme-mousepady .wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  border-color:var(--c-accent-line);background:var(--c-accent-soft)}
body.theme-mousepady .wc-block-components-panel__button,
body.theme-mousepady .wc-block-components-checkout-step__title{color:var(--c-text)}
body.theme-mousepady .wc-block-components-checkout-step__description{color:var(--c-text-3)}
body.theme-mousepady .mp-shipbar{
  margin:0 0 var(--s-6);padding:14px 17px;border:1px solid var(--c-accent-line);border-radius:var(--r-card);
  background:var(--c-accent-soft);color:var(--c-text);font-size:var(--t-body)}

/* ------------------------------------------------------------------
   4. BLOG — give the writing room to breathe.
   ------------------------------------------------------------------ */
body.theme-mousepady .posts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:stretch}
body.theme-mousepady .post{
  display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--r-card);
  overflow:hidden;background:var(--c-surface-1);
  transition:border-color var(--d-base),transform var(--d-base),box-shadow var(--d-base)}
body.theme-mousepady .post:hover{border-color:var(--c-accent-line);transform:translateY(-4px);box-shadow:var(--e-2)}
body.theme-mousepady .post .cover{aspect-ratio:16/10;background:var(--c-tile);display:block;overflow:hidden}
body.theme-mousepady .post .cover img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}
body.theme-mousepady .post:hover .cover img{transform:scale(1.04)}
body.theme-mousepady .post .body{
  padding:var(--s-6);display:flex;flex-direction:column;gap:9px;flex:1 1 auto}
body.theme-mousepady .post .cat{
  font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--c-accent);font-weight:600}
body.theme-mousepady .post h4{
  text-transform:none;font-size:1.1875rem;line-height:1.28;margin:0;color:var(--c-text);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.theme-mousepady .post p{
  font-size:var(--t-sm);color:var(--c-text-2);margin:0;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.theme-mousepady .post .more{
  margin-top:auto;padding-top:var(--s-3);font-family:var(--font-display);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-accent)}
@media(max-width:980px){body.theme-mousepady .posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.theme-mousepady .posts{grid-template-columns:1fr}}

/* single post — a proper reading column, not a boxed frame */
body.theme-mousepady .article{
  max-width:none;margin:0;padding:0 0 var(--section-y);background:transparent}
body.theme-mousepady .article .mp-article-head{
  padding:clamp(40px,6vw,84px) var(--gutter) clamp(28px,4vw,48px);
  max-width:calc(760px + 2 * var(--gutter));margin:0 auto}
body.theme-mousepady .article .meta{
  color:var(--c-text-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-label);
  margin:0 0 var(--s-4);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.theme-mousepady .article .meta .cat{color:var(--c-accent)}
body.theme-mousepady .article h1{
  text-transform:none;letter-spacing:-.015em;font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;margin:0}
body.theme-mousepady .article .lede{color:var(--c-text-2);font-size:var(--t-body-lg);margin:var(--s-5) 0 0;max-width:62ch}
body.theme-mousepady .article .hero-figure{
  max-width:1100px;margin:0 auto var(--s-12);padding:0 var(--gutter)}
body.theme-mousepady .article .hero-figure img{
  width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-panel);display:block}
body.theme-mousepady .article .entry{
  max-width:calc(720px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter);
  font-size:1.0625rem;line-height:1.75;color:var(--c-text-2)}
body.theme-mousepady .article .entry > *{max-width:100%}
body.theme-mousepady .article .entry h2{
  font-size:clamp(1.4rem,2.2vw,1.85rem);text-transform:none;letter-spacing:-.005em;
  color:var(--c-text);margin:var(--s-12) 0 var(--s-4);line-height:1.2}
body.theme-mousepady .article .entry h3{
  font-size:1.25rem;text-transform:none;color:var(--c-text);margin:var(--s-8) 0 var(--s-3)}
body.theme-mousepady .article .entry p{margin:0 0 1.35em;color:var(--c-text-2)}
body.theme-mousepady .article .entry strong{color:var(--c-text)}
body.theme-mousepady .article .entry a{border-bottom:1px solid var(--c-accent-line)}
body.theme-mousepady .article .entry ul,body.theme-mousepady .article .entry ol{margin:0 0 1.35em;padding-left:0;list-style:none}
body.theme-mousepady .article .entry ol{counter-reset:mpol}
body.theme-mousepady .article .entry li{position:relative;padding-left:28px;margin-bottom:11px}
body.theme-mousepady .article .entry ul li::before{
  content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--c-accent)}
body.theme-mousepady .article .entry ol li{counter-increment:mpol}
body.theme-mousepady .article .entry ol li::before{
  content:counter(mpol);position:absolute;left:0;top:0;color:var(--c-accent);
  font-family:var(--font-display);font-weight:700;font-size:.9em}
body.theme-mousepady .article .entry img{border-radius:var(--r-card);margin:var(--s-8) 0}
body.theme-mousepady .article .entry table{
  width:100%;border-collapse:collapse;margin:var(--s-8) 0;font-size:var(--t-body)}
body.theme-mousepady .article .entry table th{
  text-align:left;padding:12px 14px;background:var(--c-surface-2);color:var(--c-text);
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--t-sm);
  border-bottom:1px solid var(--c-line-strong)}
body.theme-mousepady .article .entry table td{padding:12px 14px;border-bottom:1px solid var(--c-line);color:var(--c-text-2)}
body.theme-mousepady .article .entry blockquote{
  margin:var(--s-8) 0;padding:var(--s-5) var(--s-6);border-left:3px solid var(--c-accent);
  background:var(--c-surface-1);border-radius:0 var(--r-card) var(--r-card) 0;color:var(--c-text)}
body.theme-mousepady .article .entry .disclosure{
  margin-top:var(--s-10);padding-top:var(--s-5);border-top:1px solid var(--c-line);
  font-size:var(--t-sm);color:var(--c-text-3)}

/* article footer: keep reading + shop */
body.theme-mousepady .mp-article-foot{
  max-width:calc(1100px + 2 * var(--gutter));margin:var(--s-16) auto 0;padding:0 var(--gutter)}
body.theme-mousepady .mp-article-foot h2{
  text-transform:uppercase;font-size:var(--t-h3);margin:0 0 var(--s-6);padding-top:var(--s-10);
  border-top:1px solid var(--c-line)}

/* static pages: readable column, no boxed frame */
body.theme-mousepady .page-narrow{
  max-width:calc(820px + 2 * var(--gutter));margin:0 auto;padding:var(--section-y) var(--gutter)}
body.theme-mousepady .page-narrow h1{
  text-transform:none;letter-spacing:-.015em;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1;margin:0 0 var(--s-8)}
body.theme-mousepady .page-narrow .entry{font-size:1.0625rem;line-height:1.72;color:var(--c-text-2)}
body.theme-mousepady .page-narrow .entry h2{
  font-size:clamp(1.3rem,2vw,1.7rem);text-transform:none;color:var(--c-text);margin:var(--s-12) 0 var(--s-4)}
body.theme-mousepady .page-narrow .entry h3{font-size:1.15rem;text-transform:none;color:var(--c-text);margin:var(--s-8) 0 var(--s-3)}
body.theme-mousepady .page-narrow .entry p{margin:0 0 1.3em}
body.theme-mousepady .page-narrow .entry strong{color:var(--c-text)}
body.theme-mousepady .page-narrow .entry ul,body.theme-mousepady .page-narrow .entry ol{margin:0 0 1.3em;padding-left:0;list-style:none}
body.theme-mousepady .page-narrow .entry li{position:relative;padding-left:26px;margin-bottom:10px}
body.theme-mousepady .page-narrow .entry ul li::before{
  content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--c-accent)}
body.theme-mousepady .page-narrow .entry ol{counter-reset:mppol}
body.theme-mousepady .page-narrow .entry ol li{counter-increment:mppol}
body.theme-mousepady .page-narrow .entry ol li::before{
  content:counter(mppol);position:absolute;left:0;top:0;color:var(--c-accent);font-family:var(--font-display);font-weight:700}
body.theme-mousepady .page-narrow .entry table{width:100%;border-collapse:collapse;margin:var(--s-8) 0}
body.theme-mousepady .page-narrow .entry table th{
  text-align:left;padding:12px 14px;background:var(--c-surface-2);color:var(--c-text);
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--ls-caps);
  font-size:var(--t-sm);border-bottom:1px solid var(--c-line-strong)}
body.theme-mousepady .page-narrow .entry table td{padding:12px 14px;border-bottom:1px solid var(--c-line);color:var(--c-text-2)}
body.theme-mousepady .page-narrow .entry figure{margin:var(--s-8) 0;max-width:100%;overflow-x:auto}
body.theme-mousepady .page-narrow .entry img{border-radius:var(--r-card)}

/* nudge the size picker when someone taps the sticky buy button too early */
@keyframes mpNudge{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
body.theme-mousepady .mp-swatches.mp-nudge{animation:mpNudge 500ms var(--ease)}
body.theme-mousepady .mp-swatches.mp-nudge .mp-swatch{border-color:var(--c-accent)}

/* ------------------------------------------------------------------
   5. FIXES
   overflow-x:hidden on html/body turns them into scroll containers,
   which silently kills every position:sticky on the page. clip does
   the same visual job without that side effect.
   ------------------------------------------------------------------ */
/* overflow-x on html or body is what was killing position:sticky: either value
   turns the root (or body) into its own scroll container, and sticky descendants
   then have nothing to stick to. clip is worse still — on the root it propagates
   to the viewport and the page stops scrolling entirely.
   So: no overflow clamp here. Nothing on the site actually overflows
   horizontally (verified at 1280 and 375), and anything that ever does gets
   clipped on the element itself, not globally. */
html,body{overflow-x:visible}
/* decorative full-bleed layers are the only things that can spill — clip them locally */
body.theme-mousepady .hero,
body.theme-mousepady .mp-bar,
body.theme-mousepady .mp-footer{overflow-x:clip}

body.theme-mousepady .mp-pdp-top .woocommerce-product-gallery{position:sticky!important;align-self:start}
@media(max-width:980px){body.theme-mousepady .mp-pdp-top .woocommerce-product-gallery{position:static!important}}
/* WooCommerce's zoom layer is a full-size, invisible duplicate — keep it inside the box. */
body.theme-mousepady img.zoomImg{max-width:100%!important;height:auto!important}

/* ------------------------------------------------------------------
   6. Cart & checkout render through page.php, so the editorial page
   rules were leaking into them. Give those pages their own width and
   keep the prose bullet styling off our icon lists.
   ------------------------------------------------------------------ */
body.woocommerce-cart .page-narrow,
body.woocommerce-checkout .page-narrow,
body.woocommerce-account .page-narrow{max-width:none;padding-left:0;padding-right:0}
body.woocommerce-cart .page-narrow > h1,
body.woocommerce-checkout .page-narrow > h1,
body.woocommerce-account .page-narrow > h1,
body.woocommerce-cart .page-narrow > .entry,
body.woocommerce-checkout .page-narrow > .entry,
body.woocommerce-account .page-narrow > .entry{
  max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}

body.theme-mousepady .entry .mp-trustrow li::before,
body.theme-mousepady .entry .mp-ticks li::before,
body.theme-mousepady .entry .mp-setgrid li::before,
body.theme-mousepady .mp-trustrow li::before,
body.theme-mousepady .mp-ticks li::before{background:none!important;content:none!important}
body.theme-mousepady .entry .mp-trustrow,
body.theme-mousepady .entry .mp-ticks{list-style:none;padding-left:0}
body.theme-mousepady .entry .mp-trustrow li,
body.theme-mousepady .entry .mp-ticks li{padding-left:0;margin-bottom:0}
body.theme-mousepady .entry .mp-ticks li{padding-left:26px}
body.theme-mousepady .entry .mp-ticks li::before{
  content:""!important;position:absolute;left:0;top:.35em;width:15px;height:15px;background:
  url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='2.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat!important;border-radius:0}

/* block buttons: no inherited underline from prose link styling */
body.theme-mousepady .wc-block-components-button,
body.theme-mousepady .wc-block-cart__submit-button,
body.theme-mousepady .wc-block-components-checkout-place-order-button{text-decoration:none!important;border-bottom:0!important}
body.theme-mousepady .wc-block-components-button__text{text-decoration:none!important}

/* the cart/checkout sections we inject sit in the content flow */
body.theme-mousepady .entry > .mp-sec,
body.theme-mousepady .entry > .mp-trustrow--wide{max-width:var(--wrap);margin-left:auto;margin-right:auto}

/* prose list styling must never leak into WooCommerce Blocks markup */
body.theme-mousepady .wp-block-woocommerce-cart li::before,
body.theme-mousepady .wp-block-woocommerce-checkout li::before{content:none!important;background:none!important}
body.theme-mousepady .wp-block-woocommerce-cart ul:not(.mp-trustrow):not(.mp-ticks),
body.theme-mousepady .wp-block-woocommerce-checkout ul:not(.mp-trustrow):not(.mp-ticks),
body.theme-mousepady .wp-block-woocommerce-cart li,
body.theme-mousepady .wp-block-woocommerce-checkout li{padding-left:0;list-style:none}

/* order summary: readable line, styled quantity badge */
body.theme-mousepady .wc-block-components-order-summary-item__quantity{
  background:var(--c-accent)!important;color:var(--c-accent-ink)!important;border:2px solid var(--c-canvas)!important;
  font-weight:700;font-size:11px;min-width:22px;height:22px;line-height:18px;box-shadow:none}
body.theme-mousepady .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  font-size:.9375rem;line-height:1.3}
body.theme-mousepady .wc-block-components-order-summary-item__image{width:56px;min-width:56px}
body.theme-mousepady .wc-block-components-order-summary-item__total-price{font-weight:700;color:var(--c-text)}
body.theme-mousepady .wc-block-components-product-details__sizes,
body.theme-mousepady .wc-block-components-product-details li{color:var(--c-text-3);font-size:var(--t-xs)}
body.theme-mousepady .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--c-accent);font-family:var(--font-display);font-size:1.5rem}
/* Stick the sidebar COLUMN, not the summary block inside it: the block is only
   as tall as the column, so sticking it there gives it nowhere to travel. */
body.theme-mousepady .wc-block-checkout__sidebar,
body.theme-mousepady .wc-block-cart__sidebar{
  position:sticky;top:calc(var(--header-h) + 16px);align-self:flex-start}
@media(max-width:1000px){
  body.theme-mousepady .wc-block-checkout__sidebar,
  body.theme-mousepady .wc-block-cart__sidebar{position:static}}

/* free-shipping option reads as the good news it is */
body.theme-mousepady .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option-checked{
  border-color:var(--c-accent)!important;background:var(--c-accent-soft)!important}

/* form labels sit above the field, not floating over the border */
body.theme-mousepady .wc-block-components-text-input.is-active label,
body.theme-mousepady .wc-block-components-text-input input:focus + label{color:var(--c-accent)}
body.theme-mousepady .wc-block-components-country-input select,
body.theme-mousepady .wc-block-components-state-input select{
  background:var(--c-surface-2)!important;color:var(--c-text)!important}

/* ------------------------------------------------------------------
   7. LANA — she is a destination, not a footnote.
   ------------------------------------------------------------------ */
body.theme-mousepady .hero-stats{
  display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,44px);margin:var(--s-8) 0 var(--s-6);
  padding-top:var(--s-6);border-top:1px solid var(--c-line)}
body.theme-mousepady .hero-stats div{display:flex;flex-direction:column;gap:2px}
body.theme-mousepady .hero-stats b{
  font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1;color:var(--c-accent)}
body.theme-mousepady .hero-stats span{
  font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--c-text-3)}

body.theme-mousepady .strip a.item{text-decoration:none;color:inherit;transition:color var(--d-fast)}
body.theme-mousepady .strip a.item:hover h4{color:var(--c-accent)}

body.theme-mousepady .lana-inner{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,4vw,64px);align-items:center}
body.theme-mousepady .lana-photo{position:relative;border-radius:var(--r-panel);overflow:hidden;background:var(--c-tile)}
body.theme-mousepady .lana-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
body.theme-mousepady .lana-photo .ph{
  display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;color:var(--c-text-3);
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--ls-label)}
body.theme-mousepady .lana-tag{
  position:absolute;left:14px;bottom:14px;background:rgba(10,10,10,.78);backdrop-filter:blur(6px);
  border:1px solid var(--c-line-strong);border-radius:var(--r-pill);padding:6px 13px;
  font-family:var(--font-display);font-size:var(--t-xs);text-transform:uppercase;
  letter-spacing:var(--ls-label);color:var(--c-text-2)}
body.theme-mousepady .lana-body h2.sec{margin:10px 0 var(--s-4);max-width:22ch}
body.theme-mousepady .lana-body .lead{
  color:var(--c-text);font-size:var(--t-body-lg);line-height:1.6;margin:0 0 var(--s-6);max-width:56ch;
  border-left:2px solid var(--c-accent-line);padding-left:var(--s-5)}
body.theme-mousepady .lana-does{list-style:none;padding:0;margin:0 0 var(--s-6);display:grid;gap:11px;max-width:60ch}
body.theme-mousepady .lana-does li{position:relative;padding-left:26px;color:var(--c-text-2);line-height:1.5}
body.theme-mousepady .lana-does li b{color:var(--c-text);font-weight:600}
body.theme-mousepady .lana-does li::before{
  content:"";position:absolute;left:0;top:.42em;width:15px;height:15px;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='2.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
body.theme-mousepady .lana-quote{
  margin:0 0 var(--s-6);padding:var(--s-5) var(--s-6);background:var(--c-surface-1);
  border:1px solid var(--c-line);border-left:3px solid var(--c-accent);border-radius:0 var(--r-card) var(--r-card) 0;max-width:60ch}
body.theme-mousepady .lana-quote p{margin:0 0 8px;color:var(--c-text-2);line-height:1.55}
body.theme-mousepady .lana-quote strong{color:var(--c-text)}
body.theme-mousepady .lana-quote cite{
  font-style:normal;font-family:var(--font-display);font-weight:600;color:var(--c-accent);
  font-size:var(--t-sm);text-transform:uppercase;letter-spacing:var(--ls-caps)}
body.theme-mousepady .lana-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:var(--s-6)}
body.theme-mousepady .lana-body .disclosure{
  color:var(--c-text-3);font-size:var(--t-sm);max-width:64ch;margin:0;
  padding-top:var(--s-5);border-top:1px solid var(--c-line)}
@media(max-width:900px){
  body.theme-mousepady .lana-inner{grid-template-columns:1fr;gap:var(--s-8)}
  body.theme-mousepady .lana-photo{max-width:420px}
}

/* callout used on the Meet Lana page for the honesty box */
body.theme-mousepady .mp-callout,
body.theme-mousepady .entry .mp-callout{
  border:1px solid var(--c-accent-line);background:var(--c-accent-soft);border-radius:var(--r-card);
  padding:var(--s-5) var(--s-6);margin:var(--s-8) 0}
body.theme-mousepady .mp-callout p{margin:0;color:var(--c-text);line-height:1.6}

/* real reviews, when a verified buyer has written one */
body.theme-mousepady .mp-revcount{
  display:block;font-family:var(--font-body);font-size:var(--t-sm);font-weight:400;
  color:var(--c-text-2);text-transform:none;letter-spacing:0;margin-top:6px}
body.theme-mousepady #reviews .commentlist{list-style:none;padding:0;margin:0 0 var(--s-8);display:grid;gap:var(--s-4)}
body.theme-mousepady #reviews .commentlist li{
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-5)}
body.theme-mousepady #reviews .comment-text{margin:0}
body.theme-mousepady #reviews .woocommerce-review__author{font-family:var(--font-display);color:var(--c-text);font-weight:600}
body.theme-mousepady #reviews .woocommerce-review__verified{color:var(--c-accent);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-caps)}
body.theme-mousepady #reviews .woocommerce-review__published-date{color:var(--c-text-3);font-size:var(--t-xs)}
body.theme-mousepady #reviews .star-rating,body.theme-mousepady .mp-noreviews .stars{color:var(--c-accent)}
body.theme-mousepady #review_form_wrapper{
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-6);max-width:640px}
body.theme-mousepady #reviews .comment-reply-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--t-body);color:var(--c-text);display:block;margin-bottom:var(--s-4)}
body.theme-mousepady #reviews .comment-form label{color:var(--c-text-2);font-size:var(--t-sm);display:block;margin-bottom:6px}
body.theme-mousepady #reviews .comment-form input[type=text],
body.theme-mousepady #reviews .comment-form input[type=email],
body.theme-mousepady #reviews .comment-form textarea{
  width:100%;background:var(--c-surface-2);border:1px solid var(--c-line-strong);color:var(--c-text);
  border-radius:var(--r-control);padding:12px 14px}
body.theme-mousepady #reviews .comment-form p{margin-bottom:var(--s-4)}
body.theme-mousepady .woocommerce-verification-required{color:var(--c-text-2)}

/* ------------------------------------------------------------------
   8. CHECKOUT FIXES
   ------------------------------------------------------------------ */

/* Field labels were --c-text-3 on a dark field: about 3.4:1, under the 4.5:1
   AA floor. At checkout that is the worst possible place for unreadable text. */
body.theme-mousepady .wc-block-components-text-input label,
body.theme-mousepady .wc-block-components-checkbox__label,
body.theme-mousepady .wc-block-components-select__label,
body.theme-mousepady .wc-block-components-combobox label,
body.theme-mousepady .wc-block-components-address-form label{color:var(--c-text-2)!important}
body.theme-mousepady .wc-block-components-text-input.is-active label,
body.theme-mousepady .wc-block-components-text-input input:focus ~ label{color:var(--c-accent)!important}
body.theme-mousepady .wc-block-components-text-input input:focus,
body.theme-mousepady .wc-block-components-combobox input:focus,
body.theme-mousepady select:focus{border-color:var(--c-accent)!important;outline:2px solid var(--c-accent-line);outline-offset:1px}

/* Terms + privacy line: it is a legal consent, make it readable */
body.theme-mousepady .wc-block-checkout__terms{color:var(--c-text-2);font-size:var(--t-sm);line-height:1.55}
body.theme-mousepady .wc-block-checkout__terms a{color:var(--c-accent);text-decoration:underline}

/* Express checkout: label the alternative properly */
body.theme-mousepady .wc-block-components-express-payment__title,
body.theme-mousepady .wc-block-components-express-payment__event-buttons + *{color:var(--c-text-2)}
body.theme-mousepady .wc-block-components-express-payment{
  border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-5);background:var(--c-surface-1)}
body.theme-mousepady .wc-block-components-express-payment__title-container::before,
body.theme-mousepady .wc-block-components-express-payment__title-container::after{border-color:var(--c-line)}

/* Trust block relocated into the sticky sidebar sits under the totals */
body.theme-mousepady .wc-block-checkout__sidebar .mp-trustrow--wide,
body.theme-mousepady .wc-block-cart__sidebar .mp-trustrow--wide{
  grid-template-columns:1fr;gap:12px;margin:var(--s-4) 0 0;padding:var(--s-5);
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card)}
body.theme-mousepady .wc-block-checkout__sidebar .mp-trustrow--wide li,
body.theme-mousepady .wc-block-cart__sidebar .mp-trustrow--wide li{font-size:var(--t-xs);line-height:1.5}

/* order-received / thank-you page */
body.theme-mousepady .woocommerce-order{max-width:820px}
body.theme-mousepady .woocommerce-thankyou-order-received{
  font-family:var(--font-display);font-size:var(--t-h2);text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--s-6)}
body.theme-mousepady ul.woocommerce-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-4);
  padding:var(--s-5);margin:0 0 var(--s-8);background:var(--c-surface-1);
  border:1px solid var(--c-line);border-radius:var(--r-card)}
body.theme-mousepady ul.woocommerce-order-overview li{
  border:0!important;padding:0;color:var(--c-text-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:var(--ls-label)}
body.theme-mousepady ul.woocommerce-order-overview li strong{
  display:block;margin-top:5px;color:var(--c-text);font-family:var(--font-display);font-size:var(--t-body-lg);text-transform:none;letter-spacing:0}
body.theme-mousepady .woocommerce-order-details__title,
body.theme-mousepady .woocommerce-column__title{text-transform:uppercase;font-size:var(--t-h3);margin:var(--s-10) 0 var(--s-4)}

/* order-received: what happens next */
body.theme-mousepady .mp-postbuy{max-width:760px}
body.theme-mousepady .mp-steps{list-style:none;counter-reset:mpstep;padding:0;margin:0;display:grid;gap:var(--s-5)}
body.theme-mousepady .mp-steps li{
  counter-increment:mpstep;position:relative;padding-left:52px;display:flex;flex-direction:column;gap:3px}
body.theme-mousepady .mp-steps li::before{
  content:counter(mpstep);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--c-accent-soft);border:1px solid var(--c-accent-line);color:var(--c-accent);
  font-family:var(--font-display);font-weight:700;font-size:var(--t-sm)}
body.theme-mousepady .mp-steps li b{
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--ls-caps);
  font-size:var(--t-sm);color:var(--c-accent)}
body.theme-mousepady .mp-steps li span{color:var(--c-text-2);line-height:1.55}
body.theme-mousepady .mp-steps li strong{color:var(--c-text)}

/* Checkout is not an editorial page — reclaim the vertical space above the fold */
body.woocommerce-cart .page-narrow,
body.woocommerce-checkout .page-narrow{padding-top:clamp(20px,3vw,34px);padding-bottom:var(--s-16)}
body.woocommerce-cart .page-narrow > h1,
body.woocommerce-checkout .page-narrow > h1{
  font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 var(--s-5)}
body.theme-mousepady .mp-shipbar{margin-bottom:var(--s-5)}
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-components-panel__button{padding-top:12px;padding-bottom:12px}
body.theme-mousepady .wc-block-components-totals-wrapper{padding-top:12px;padding-bottom:12px}
body.theme-mousepady .wc-block-components-totals-wrapper:empty{display:none}

/* ------------------------------------------------------------------
   9. EXPRESS CHECKOUT + SIDEBAR ALIGNMENT
   ------------------------------------------------------------------ */

/* WooCommerce absolutely positions the "Express Checkout" title container over
   the whole block, expecting no padding on it. Our card padding pushed the
   label straight down onto the Apple Pay / Google Pay buttons. Put the label
   back in normal flow as a labelled divider instead of fighting the absolute. */
body.theme-mousepady .wc-block-components-express-payment__title-container{
  position:static!important;inset:auto!important;height:auto!important;width:auto!important;
  display:flex;align-items:center;gap:14px;margin:0 0 var(--s-4);padding:0;border:0}
body.theme-mousepady .wc-block-components-express-payment__title-container::before,
body.theme-mousepady .wc-block-components-express-payment__title-container::after{
  content:"";flex:1 1 auto;height:1px;background:var(--c-line);border:0;display:block;position:static}
body.theme-mousepady .wc-block-components-express-payment__title{
  position:static!important;transform:none!important;padding:0!important;margin:0!important;
  background:transparent!important;white-space:nowrap;
  font-family:var(--font-display);font-size:var(--t-xs);font-weight:600;line-height:1.2;
  text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--c-text-3)}
body.theme-mousepady .wc-block-components-express-payment__event-buttons{margin:0;padding:0}
body.theme-mousepady .wc-block-components-express-payment__event-buttons > li{margin:0;padding:0}
body.theme-mousepady .wc-block-components-express-payment-continue-rule{
  margin:var(--s-4) 0;color:var(--c-text-3);font-size:var(--t-xs);
  text-transform:uppercase;letter-spacing:var(--ls-label)}

/* Sidebar blocks must line up with each other: same width, same inner padding. */
body.theme-mousepady .wc-block-checkout__sidebar > *,
body.theme-mousepady .wc-block-cart__sidebar > *{box-sizing:border-box;width:100%}
body.theme-mousepady .wc-block-checkout__sidebar .mp-trustrow--wide,
body.theme-mousepady .wc-block-cart__sidebar .mp-trustrow--wide{
  padding:var(--s-5)!important;margin:var(--s-4) 0 0!important;
  grid-template-columns:1fr;gap:14px;align-items:start}
body.theme-mousepady .wc-block-checkout__sidebar .mp-trustrow--wide li,
body.theme-mousepady .wc-block-cart__sidebar .mp-trustrow--wide li{
  padding-left:0!important;margin:0;align-items:flex-start;gap:10px}
body.theme-mousepady .wc-block-checkout__sidebar .mp-trustrow--wide li svg,
body.theme-mousepady .wc-block-cart__sidebar .mp-trustrow--wide li svg{margin-top:2px}

/* ------------------------------------------------------------------
   10. "JUST DROPPED" HORIZONTAL RAIL + LANA VIDEO
   ------------------------------------------------------------------ */
body.theme-mousepady .dropstrip{padding:var(--section-y) 0 0;overflow:hidden}
body.theme-mousepady .dropstrip .sec-head{margin-bottom:var(--s-6)}
body.theme-mousepady .ds-tools{display:flex;align-items:center;gap:10px}
body.theme-mousepady .ds-nav{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--c-surface-2);border:1px solid var(--c-line-strong);color:var(--c-text);cursor:pointer;
  transition:border-color var(--d-fast),color var(--d-fast)}
body.theme-mousepady .ds-nav:hover{border-color:var(--c-accent-line);color:var(--c-accent)}
body.theme-mousepady .ds-nav[disabled]{opacity:.32;cursor:default}
body.theme-mousepady .ds-rail{
  display:flex;gap:clamp(12px,1.4vw,18px);overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  padding:4px var(--gutter) var(--s-4);
  /* start flush with .wrap but let cards bleed off the right edge */
  max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto}
body.theme-mousepady .ds-rail::-webkit-scrollbar{display:none}
body.theme-mousepady .ds-rail:focus-visible{outline:2px solid var(--c-accent);outline-offset:4px}
body.theme-mousepady .ds-card{
  flex:0 0 clamp(190px,21vw,258px);scroll-snap-align:start;display:flex;flex-direction:column;
  background:var(--c-surface-1);border:1px solid var(--c-line);border-radius:var(--r-card);
  overflow:hidden;text-decoration:none;
  transition:border-color var(--d-base),transform var(--d-base)}
body.theme-mousepady .ds-card:hover{border-color:var(--c-accent-line);transform:translateY(-4px)}
body.theme-mousepady .ds-card .art{display:block;background:var(--c-tile)}
body.theme-mousepady .ds-card .art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
body.theme-mousepady .ds-card .meta{display:flex;flex-direction:column;gap:4px;padding:var(--s-4)}
body.theme-mousepady .ds-card .meta b{
  font-family:var(--font-display);font-size:.9375rem;line-height:1.25;color:var(--c-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
body.theme-mousepady .ds-card .meta i{font-style:normal;color:var(--c-accent);font-weight:600;font-size:var(--t-sm)}
@media(max-width:700px){
  body.theme-mousepady .ds-nav{display:none}
  body.theme-mousepady .ds-card{flex-basis:62vw}
}

/* Lana intro film */
body.theme-mousepady .lana-video{
  width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--c-tile)}
body.theme-mousepady .lana-sound{
  position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;
  background:rgba(10,10,10,.72);backdrop-filter:blur(6px);
  border:1px solid var(--c-line-strong);color:var(--c-text);transition:border-color var(--d-fast)}
body.theme-mousepady .lana-sound:hover{border-color:var(--c-accent);color:var(--c-accent)}
body.theme-mousepady .lana-sound.is-on{border-color:var(--c-accent);color:var(--c-accent)}
