/* ===========================================================
   PetLumos brand layer  (mu-plugin asset, loaded last)
   =========================================================== */

:root{
  --pl-ink:#2A2420;
  --pl-body:#5C534B;
  --pl-cream:#FFFBF7;
  --pl-sand:#F6EEE4;
  --pl-line:#EDE3D7;
  --pl-terra:#E0765A;
  --pl-terra-d:#C75F45;
  --pl-sage:#8AA68F;
  --pl-gold:#E9B872;
  --pl-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --pl-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --pl-radius:18px;
  --pl-shadow:0 10px 30px rgba(42,36,32,.07);
  --pl-shadow-h:0 20px 46px rgba(42,36,32,.14);
}

/* ---------- base ---------- */
body{
  background:var(--pl-cream);
  color:var(--pl-body);
  font-family:var(--pl-sans);
  font-size:16.5px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6,.wp-block-heading{
  font-family:var(--pl-serif);
  color:var(--pl-ink);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.22;
}
a{color:var(--pl-terra);transition:color .2s ease}
a:hover{color:var(--pl-terra-d)}
::selection{background:rgba(224,118,90,.22)}
img{max-width:100%;height:auto}

/* ---------- header ---------- */
.ct-header{background:#fff!important;border-bottom:1px solid var(--pl-line)}
.ct-header [data-row]{border-color:var(--pl-line)}
.ct-header .site-title{
  font-family:var(--pl-serif)!important;
  font-size:1.62rem!important;
  font-weight:600;
  letter-spacing:-.025em;
  color:var(--pl-ink)!important;
}
.ct-header .site-description{
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pl-terra)!important;
  margin-top:.15rem;
}
.ct-header .ct-menu-link{
  font-family:var(--pl-sans);
  font-size:.95rem;
  font-weight:500;
  color:var(--pl-ink)!important;
  letter-spacing:.005em;
}
.ct-header .ct-menu-link:hover,
.ct-header .current-menu-item > .ct-menu-link,
.ct-header .current-menu-ancestor > .ct-menu-link{color:var(--pl-terra)!important}
.ct-header .ct-header-cart .ct-label{font-weight:600;color:var(--pl-ink)}
.ct-header .ct-icon{color:var(--pl-ink)}

/* ---------- page title bar ---------- */
.hero-section{background:var(--pl-sand);padding:3.4rem 0 3rem;border-bottom:1px solid var(--pl-line)}
.hero-section .page-title{
  font-family:var(--pl-serif);
  font-size:clamp(1.9rem,3.2vw,2.5rem);
  letter-spacing:-.02em;
  margin:0;
}
.hero-section .ct-breadcrumbs{font-size:.82rem;opacity:.62;margin-top:.6rem}
body.home .hero-section{display:none!important}

/* ---------- buttons ---------- */
.wp-block-button__link,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.ct-button,
button.single_add_to_cart_button{
  background:var(--pl-terra)!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  padding:.82em 1.55em!important;
  font-family:var(--pl-sans)!important;
  font-size:.95rem!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.005em;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(224,118,90,.24)!important;
  transition:background .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover,
button.single_add_to_cart_button:hover{
  background:var(--pl-terra-d)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(199,95,69,.3)!important;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;
  color:var(--pl-ink)!important;
  border:1.5px solid rgba(42,36,32,.28)!important;
  box-shadow:none!important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  border-color:var(--pl-ink)!important;
  background:rgba(42,36,32,.04)!important;
  transform:translateY(-2px);
}
.pl-hero .wp-block-button.is-style-outline .wp-block-button__link{
  color:#fff!important;
  border-color:rgba(255,255,255,.6)!important;
  background:rgba(255,255,255,.07)!important;
}
.pl-hero .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(255,255,255,.16)!important;
  border-color:#fff!important;
}

/* ---------- hero ---------- */
.pl-hero{padding-left:2rem!important;padding-right:2rem!important}
.pl-hero .wp-block-cover__background{
  opacity:1!important;
  background:linear-gradient(90deg,rgba(38,31,26,.88) 0%,rgba(38,31,26,.62) 44%,rgba(38,31,26,.14) 100%)!important;
}
.pl-hero .wp-block-cover__image-background{object-position:center 42%}
.pl-hero .wp-block-cover__inner-container{width:100%;max-width:1180px;margin:0 auto}
.pl-hero__eyebrow{
  font-family:var(--pl-sans);
  font-size:.76rem!important;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--pl-gold)!important;
  margin:0 0 1rem;
}
.pl-hero__title{
  font-size:clamp(2.2rem,4.8vw,3.85rem)!important;
  line-height:1.07!important;
  color:#fff!important;
  font-weight:600;
  letter-spacing:-.025em;
  margin:0 0 1.15rem!important;
  max-width:15ch;
}
.pl-hero__sub{
  font-size:1.12rem!important;
  line-height:1.62!important;
  color:rgba(255,255,255,.9)!important;
  max-width:31rem;
  margin:0 0 2.1rem!important;
}
.pl-hero__btns{display:flex;flex-wrap:wrap;gap:.9rem;margin:0!important}

/* ---------- trust strip ---------- */
.pl-trust{background:#fff;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
.pl-trust__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.6rem;
  margin:0 auto!important;
}
.pl-trust__grid > .wp-block-column{margin:0!important}
.pl-trust__item{
  margin:0!important;
  font-size:.88rem;
  line-height:1.5;
  color:var(--pl-body);
  border-top:2px solid var(--pl-terra);
  padding-top:.85rem;
}
.pl-trust__item strong{
  display:block;
  font-family:var(--pl-serif);
  font-size:1rem;
  color:var(--pl-ink);
  font-weight:600;
  margin-bottom:.3rem;
}

/* ---------- generic section ---------- */
.pl-sec{background:var(--pl-cream)}
.pl-shop-sec{background:#fff;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
.pl-sec__title{
  font-size:clamp(1.85rem,3.2vw,2.55rem)!important;
  margin:0 0 .6rem!important;
  letter-spacing:-.022em;
}
.pl-sec__sub{color:var(--pl-body)!important;font-size:1.03rem;margin:0 0 2.7rem!important}
.pl-eyebrow{
  font-size:.75rem!important;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--pl-terra)!important;
  margin:0 0 .85rem;
}

/* ---------- category cards ---------- */
.pl-cats .wp-block-column{margin:0!important}
.pl-catcard__img{
  margin:0 0 1.1rem!important;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--pl-shadow);
  transition:box-shadow .3s ease,transform .3s ease;
}
.pl-catcard__img img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.pl-catcard__img:hover{box-shadow:var(--pl-shadow-h);transform:translateY(-4px)}
.pl-catcard__img:hover img{transform:scale(1.055)}
.pl-catcard__title{font-size:1.42rem!important;margin:0 0 .25rem!important}
.pl-catcard__title a{color:var(--pl-ink);text-decoration:none}
.pl-catcard__title a:hover{color:var(--pl-terra)}
.pl-catcard__meta{font-size:.9rem!important;color:var(--pl-body);margin:0!important}

/* ---------- story ---------- */
.pl-story{background:var(--pl-sand)}
.pl-story__img{margin:0!important}
.pl-story__img img{
  border-radius:22px;
  box-shadow:0 22px 54px rgba(42,36,32,.15);
  display:block;
}
.pl-story__title{font-size:clamp(1.65rem,2.8vw,2.3rem)!important;margin:0 0 1.05rem!important}
.pl-story__text p{font-size:1.02rem;line-height:1.72;margin-bottom:1.05rem}
.pl-checks{list-style:none!important;padding-left:0!important;margin:1.5rem 0 0!important}
.pl-checks li{
  position:relative;
  padding-left:1.75rem;
  margin:0 0 .55rem!important;
  font-weight:500;
  color:var(--pl-ink);
}
.pl-checks li:before{
  content:"\2713";
  position:absolute;
  left:0;top:0;
  color:var(--pl-sage);
  font-weight:700;
  font-size:1.05rem;
}

/* ---------- reviews ---------- */
.pl-quote{
  background:#fff;
  border:1px solid var(--pl-line);
  border-radius:var(--pl-radius);
  box-shadow:var(--pl-shadow);
  padding:1.7rem 1.55rem!important;
  margin:0!important;
  font-family:var(--pl-serif);
  font-size:1.02rem!important;
  line-height:1.62!important;
  color:var(--pl-ink)!important;
  height:100%;
}
.pl-quote__by{
  display:block;
  margin-top:1.05rem;
  font-family:var(--pl-sans);
  font-size:.8rem;
  letter-spacing:.03em;
  color:var(--pl-body);
}

/* ---------- dark CTA ---------- */
.pl-cta__title{color:#fff!important;font-size:clamp(1.8rem,3vw,2.5rem)!important;margin:0 0 .7rem!important}
.pl-cta__sub{color:rgba(255,255,255,.78)!important;max-width:34rem;margin:0 auto 2rem!important}
.pl-cta__btns{justify-content:center;margin:0!important}
.pl-sec__cta{justify-content:center;margin:2.8rem 0 0!important}

/* ---------- product grid ---------- */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.75rem;
  margin:0 0 2rem!important;
  padding:0!important;
}
.woocommerce ul.products:before,
.woocommerce ul.products:after{display:none!important;content:none!important}
.woocommerce ul.products li.product{
  width:auto!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  position:relative;
  background:#fff;
  border:1px solid var(--pl-line);
  border-radius:var(--pl-radius);
  overflow:hidden;
  padding:0 0 1.15rem!important;
  text-align:center;
  box-shadow:var(--pl-shadow);
  transition:transform .3s ease,box-shadow .3s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--pl-shadow-h)}
.woocommerce ul.products li.product a img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  margin:0 0 .95rem!important;
  border-radius:0;
  display:block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--pl-serif);
  font-size:1.04rem!important;
  line-height:1.36;
  color:var(--pl-ink);
  padding:0 1rem!important;
  margin-bottom:.4rem!important;
}
.woocommerce ul.products li.product .price{
  color:var(--pl-terra)!important;
  font-weight:700;
  font-size:1.06rem!important;
  padding:0 1rem!important;
  display:block;
  margin-bottom:.95rem!important;
}
.woocommerce ul.products li.product .price del{
  color:var(--pl-body);
  opacity:.55;
  font-weight:500;
  font-size:.9rem;
  margin-right:.4rem;
}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{
  margin:0 1rem!important;
  width:calc(100% - 2rem);
  text-align:center;
}
.woocommerce ul.products li.product .onsale{
  position:absolute!important;
  top:.85rem!important;
  right:.85rem!important;
  left:auto!important;
  margin:0!important;
  z-index:3;
  min-height:0!important;
  min-width:0!important;
  background:var(--pl-sage)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.42rem .8rem!important;
  font-size:.7rem!important;
  font-weight:700!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1!important;
}
.woocommerce ul.products li.product .star-rating{margin:0 auto .55rem}

/* ---------- shop toolbar ---------- */
.woocommerce .woocommerce-result-count{color:var(--pl-body);font-size:.9rem;margin:0 0 1.4rem}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select{
  border:1px solid var(--pl-line);
  border-radius:999px;
  background:#fff;
  padding:.55rem 1.1rem;
  font-size:.9rem;
  color:var(--pl-ink);
}

/* ---------- single product ---------- */
.single-product div.product .product_title{
  font-size:clamp(1.7rem,3vw,2.35rem)!important;
  line-height:1.18;
  margin-bottom:.55rem!important;
}
.single-product div.product p.price{
  color:var(--pl-terra)!important;
  font-weight:700;
  font-size:1.6rem!important;
  margin-bottom:1.15rem!important;
}
.single-product div.product p.price del{color:var(--pl-body);opacity:.55;font-size:1.05rem;font-weight:500}
.single-product div.product .woocommerce-product-details__short-description{
  color:var(--pl-body);
  font-size:1.02rem;
  line-height:1.72;
  margin-bottom:1.4rem;
}
.single-product div.product .woocommerce-product-gallery{border-radius:22px;overflow:hidden}
.single-product div.product form.cart{margin-bottom:1.6rem}
.single-product div.product form.cart .quantity input.qty{
  width:4.4rem;
  height:2.95rem;
  border-radius:999px;
  border:1px solid var(--pl-line);
  background:#fff;
  text-align:center;
  color:var(--pl-ink);
}
.single-product div.product .product_meta{font-size:.86rem;color:var(--pl-body);border-top:1px solid var(--pl-line);padding-top:1rem}
.single-product div.product .woocommerce-tabs ul.tabs{padding-left:0!important;border-bottom:1px solid var(--pl-line)}
.single-product div.product .woocommerce-tabs ul.tabs li a{font-weight:600;color:var(--pl-ink)}
.single-product div.product .woocommerce-tabs .panel{color:var(--pl-body);line-height:1.78}
.single-product div.product .related.products > h2,
.single-product div.product .upsells.products > h2,
.woocommerce .cross-sells > h2{
  font-family:var(--pl-serif);
  font-size:1.6rem;
  margin:0 0 1.5rem;
}

/* ---------- forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=search],
input[type=password],input[type=number],input[type=url],textarea,select{
  border:1px solid var(--pl-line);
  border-radius:12px;
  background:#fff;
  padding:.72rem .95rem;
  color:var(--pl-ink);
  font-family:var(--pl-sans);
  font-size:.96rem;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--pl-terra);
  box-shadow:0 0 0 3px rgba(224,118,90,.14);
}
.woocommerce form .form-row label{font-size:.88rem;color:var(--pl-ink);font-weight:500}

/* ---------- tables / cart / checkout ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--pl-line)!important;
  border-radius:14px!important;
  overflow:hidden;
  background:#fff;
}
.woocommerce table.shop_table th{background:var(--pl-sand);color:var(--pl-ink);font-weight:600}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3{font-family:var(--pl-serif);font-size:1.35rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:12px!important;
  border-top-color:var(--pl-sage)!important;
  background:#fff!important;
}

/* ---------- footer ---------- */
.ct-footer{background:#241F19!important;color:rgba(255,255,255,.72)}
.ct-footer [data-row]{border-color:rgba(255,255,255,.09)!important}
.ct-footer .ct-container{color:rgba(255,255,255,.72)}
.ct-footer a{color:rgba(255,255,255,.8)!important;text-decoration:none}
.ct-footer a:hover{color:var(--pl-gold)!important}
.ct-footer .ct-footer-copyright,
.ct-footer #copyright{color:rgba(255,255,255,.55)!important;font-size:.85rem}
.ct-footer ul{list-style:none;margin:0;padding:0}
.ct-footer .menu{display:flex;flex-wrap:wrap;gap:1.5rem}
.ct-footer .menu-item a{font-size:.9rem;font-weight:500}
.ct-footer h1,.ct-footer h2,.ct-footer h3{color:#fff}

/* ---------- misc ---------- */
.pl-pagehead{margin-bottom:0}
.pl-contact h3{margin-top:0}
.wp-block-group.alignfull{padding-left:2rem;padding-right:2rem}
.pl-hero.wp-block-cover{padding-left:2rem!important;padding-right:2rem!important}
.woocommerce nav.woocommerce-pagination ul{border:0!important}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0 .2rem}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:999px!important;
  border:1px solid var(--pl-line)!important;
  min-width:2.4rem;
  color:var(--pl-ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--pl-terra)!important;
  border-color:var(--pl-terra)!important;
  color:#fff!important;
}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pl-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:880px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
  .pl-hero__title{font-size:2.35rem!important}
  .pl-hero__sub{font-size:1.02rem!important}
  .pl-hero .wp-block-cover__inner-container{max-width:100%}
}
@media (max-width:600px){
  body{font-size:16px}
  .pl-trust__grid{grid-template-columns:1fr;gap:1.1rem}
  .woocommerce ul.products{grid-template-columns:1fr}
  .wp-block-group.alignfull{padding-left:1.15rem;padding-right:1.15rem}
  .pl-hero.wp-block-cover{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .pl-hero__title{font-size:2rem!important}
}

/* ===========================================================
   PetLumos layout pass 2
   =========================================================== */

body{background:var(--pl-cream)!important}

/* alignwide is a no-op in this theme (no --wp--style--global--wide-size),
   so every layout row gets an explicit measure */
.pl-trust__grid,
.pl-cats,
.pl-reviews__grid,
.pl-story__grid,
.pl-contact,
.pl-about-cols,
.woocommerce ul.products,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.pl-trust{padding-left:2rem!important;padding-right:2rem!important}
.woocommerce .woocommerce-ordering{float:none!important;text-align:right;margin-bottom:1.6rem}

/* story image */
.pl-story__img img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pl-story__grid{gap:3.4rem;align-items:center}

/* single product / cart breathing room */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.single-product div.product{max-width:1180px;margin-left:auto;margin-right:auto}

/* footer */
.ct-footer [data-row="bottom"]{padding:1.5rem 0}
.ct-footer-copyright{font-size:.85rem!important;color:rgba(255,255,255,.58)!important}

@media (max-width:640px){
  .pl-trust{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .pl-story__grid{gap:2rem}
}

/* ===========================================================
   PetLumos layout pass 3
   =========================================================== */

/* shop toolbar back to a single row */
.woocommerce .woocommerce-result-count{
  width:auto!important;
  max-width:none!important;
  float:left!important;
  margin:0 0 1.8rem!important;
  padding-top:.62rem;
}
.woocommerce .woocommerce-ordering{
  width:auto!important;
  max-width:none!important;
  float:right!important;
  margin:0 0 1.8rem!important;
  text-align:left;
}
.woocommerce ul.products{clear:both}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block}

/* closing call to action: warm, not another dark slab */
.pl-cta{
  background:linear-gradient(135deg,#E4815F 0%,#C75F45 100%)!important;
}
.pl-cta__title{color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.06)}
.pl-cta__sub{color:rgba(255,255,255,.92)!important}
.pl-cta .wp-block-button__link{
  background:#fff!important;
  color:var(--pl-ink)!important;
  box-shadow:0 10px 24px rgba(90,40,25,.22)!important;
}
.pl-cta .wp-block-button__link:hover{
  background:#FFF4EE!important;
  color:var(--pl-terra-d)!important;
}

/* footer composition */
.ct-footer [data-row="bottom"]{padding:1.7rem 0}
.ct-footer-copyright{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  gap:.55rem;
  text-align:center;
  font-size:.85rem!important;
  color:rgba(255,255,255,.58)!important;
  line-height:1.6;
}
.pl-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.pl-footer-links a{
  color:#fff!important;
  font-size:.88rem;
  font-weight:500;
  letter-spacing:.02em;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.22);
  padding-bottom:.1rem;
}
.pl-footer-links a:hover{color:var(--pl-gold)!important;border-bottom-color:var(--pl-gold)}
.pl-footer-line--muted{font-size:.78rem;opacity:.7}

@media (max-width:640px){
  .woocommerce .woocommerce-result-count{float:none!important;margin-bottom:.6rem!important}
  .woocommerce .woocommerce-ordering{float:none!important;margin-bottom:1.4rem!important}
}

/* ===========================================================
   PetLumos layout pass 4 - product cards & quantity control
   =========================================================== */

.woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column;
  height:100%;
}
.woocommerce ul.products li.product figure{margin:0!important;position:relative}
.woocommerce ul.products li.product figure img{
  aspect-ratio:1/1!important;      /* Blocksy inlines 4/3 - keep the square catalogue shot */
  object-fit:cover;
  width:100%;
  display:block;
  margin:0 0 .95rem!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  color:var(--pl-ink)!important;
  text-decoration:none;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a{color:var(--pl-terra)!important}

/* category line: keep it, but let it read as secondary */
.woocommerce ul.products li.product .entry-meta{
  list-style:none!important;
  margin:0 0 .95rem!important;
  padding:0 1rem!important;
  font-size:.7rem!important;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--pl-body);
  opacity:.72;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.woocommerce ul.products li.product .entry-meta a{color:inherit!important;text-decoration:none}
.woocommerce ul.products li.product .entry-meta a:hover{color:var(--pl-terra)!important}

/* keep the call to action on one line across the row */
.woocommerce ul.products li.product .button{margin-top:auto!important}

.woocommerce ul.products li.product .onsale{
  background:var(--pl-ink)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(42,36,32,.22);
}
.woocommerce div.product .onsale{
  position:absolute!important;
  top:1.1rem!important;
  right:1.1rem!important;
  left:auto!important;
  margin:0!important;
  min-height:0!important;
  min-width:0!important;
  background:var(--pl-ink)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.45rem .9rem!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1!important;
}

/* quantity stepper */
.woocommerce .quantity{
  display:inline-flex!important;
  align-items:center;
  gap:.1rem;
  border:1px solid var(--pl-line);
  border-radius:999px;
  background:#fff;
  padding:.22rem .35rem;
}
.woocommerce .quantity input.qty{
  width:3.4rem!important;
  height:2.5rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
  font-weight:600;
  font-size:1rem;
  color:var(--pl-ink);
  -moz-appearance:textfield;
  appearance:textfield;
}
.woocommerce .quantity input.qty:focus{box-shadow:none!important}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce .quantity button,
.woocommerce div.product form.cart .quantity button{
  background:transparent!important;
  color:var(--pl-ink)!important;
  border:0!important;
  box-shadow:none!important;
  padding:.3rem .4rem!important;
  border-radius:50%!important;
  font-size:1.05rem!important;
  line-height:1!important;
  min-width:1.7rem;
  transform:none!important;
}
.woocommerce .quantity button:hover{
  background:rgba(42,36,32,.06)!important;
  color:var(--pl-terra)!important;
  transform:none!important;
}

/* ---------- Woo Blocks buttons -> brand color (cart / checkout) ---------- */
.wc-block-cart__submit-button,
.wc-block-mini-cart__footer .wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.contained:not(.is-link):not(.has-transparent-background){
  background-color:var(--pl-terra)!important;
  color:#fff!important;
  border:none!important;
  border-radius:999px!important;
  transition:background-color .25s ease,transform .25s cubic-bezier(.22,.61,.36,1)!important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.contained:not(.is-link):not(.has-transparent-background):hover{
  background-color:var(--pl-terra-d)!important;
  transform:translateY(-2px);
}
.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active{transform:translateY(0) scale(.985)}
