/* LeNi Shop archive — Figma layout */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag{background:#f5f0e6;}
.leni-shop-page{min-height:60vh;background:#f5f0e6;color:#151d2c;}
.leni-shop-hero{background:linear-gradient(110deg,#35180f 0%,#5a2b20 100%);color:#fff;text-align:center;}
.leni-shop-hero__inner{display:flex;min-height:230px;flex-direction:column;align-items:center;justify-content:center;padding-block:50px;}
.leni-shop-hero h1{margin:0;font-family:var(--leni-font-heading,'DM Serif Display',serif);font-size:46px;font-weight:400;line-height:1.05;}
.leni-shop-hero p{max-width:760px;margin:16px auto 0;color:rgba(255,255,255,.82);font-family:var(--leni-font-body,Inter,sans-serif);font-size:15px;line-height:1.55;}
.leni-shop-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;padding-block:54px 90px;align-items:start;}
.leni-shop-filters{position:sticky;top:96px;padding:26px 20px 24px;border-radius:6px;background:#fff;box-shadow:0 2px 10px rgba(25,28,35,.035);}
.leni-shop-filters__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;}
.leni-shop-filters__head h2{margin:0;color:#151d2c;font:600 14px/1.2 var(--leni-font-body,Inter,sans-serif);}
.leni-shop-filters__close{display:none;border:0;background:none;font-size:28px;line-height:1;}
.leni-filter-group{margin:0;padding:0 0 26px;border:0;border-bottom:1px solid #e5e7eb;}
.leni-filter-group+.leni-filter-group{padding-top:25px;}
.leni-filter-group:last-of-type{border-bottom:0;}
.leni-filter-group legend{margin-bottom:16px;padding:0;color:#273142;font:500 13px/1.2 var(--leni-font-body,Inter,sans-serif);}
.leni-filter-option{display:flex;align-items:center;gap:10px;margin:0 0 11px;color:#667085;font:400 12px/1.35 var(--leni-font-body,Inter,sans-serif);cursor:pointer;}
.leni-filter-option:last-child{margin-bottom:0;}
.leni-filter-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.leni-filter-option__box{display:grid;width:14px;height:14px;flex:0 0 14px;place-items:center;border:1px solid #aeb4bd;background:#fff;transition:border-color .18s ease,background-color .18s ease;}
.leni-filter-option input:checked+.leni-filter-option__box{border-color:#c39a16;background:#c39a16;}
.leni-filter-option input:checked+.leni-filter-option__box:after{content:'✓';color:#fff;font-size:10px;font-weight:700;line-height:1;}
.leni-filter-option input:focus-visible+.leni-filter-option__box{outline:2px solid #c39a16;outline-offset:2px;}
.leni-filter-stars{display:inline-flex;align-items:center;gap:2px;color:#c9cbd0;font-size:12px;line-height:1;letter-spacing:0;}
.leni-filter-stars .is-filled{color:#c39a16;}
.leni-shop-filters__actions{display:grid;gap:10px;margin-top:22px;}
.leni-shop-filters__apply{width:100%;min-height:40px;padding:9px 12px!important;border-radius:4px!important;background:#151d2c!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;}
.leni-shop-filters__reset{text-align:center;color:#7b818b;font-size:11px;text-decoration:underline;}
.leni-shop-filter-backdrop{display:none;}
.leni-shop-results{min-width:0;}
.leni-shop-toolbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:23px;}
.leni-shop-count .woocommerce-result-count{float:none;margin:0;color:#727986;font-size:12px;}
.leni-shop-ordering{display:flex;align-items:center;gap:11px;color:#374151;font-size:11px;}
.leni-shop-ordering .woocommerce-ordering{float:none;margin:0;}
.leni-shop-ordering select{min-width:145px;height:34px;padding:0 34px 0 12px;border:1px solid #ccd1d8;border-radius:4px;background:#fff;color:#667085;font-size:11px;}
.leni-shop-filter-toggle{display:none;align-items:center;gap:7px;border:1px solid #d4d0c8;border-radius:4px;background:#fff;padding:9px 13px;font-size:12px;}
.leni-shop-results ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(225px,1fr))!important;gap:24px 22px!important;margin:0!important;}
.leni-shop-results ul.products:before,.leni-shop-results ul.products:after{display:none!important;}
.leni-shop-results .leni-product-card{width:auto!important;min-width:0;min-height:0;margin:0!important;padding:14px 14px 12px;border-radius:6px;background:#fff;box-shadow:0 4px 13px rgba(18,27,42,.10);}
.leni-shop-results .leni-product-card__media{height:215px;padding:8px 14px;background:#f7f3eb;border-radius:5px;}
.leni-shop-results .leni-product-card__image{height:195px!important;max-width:100%;}
.leni-shop-results .leni-product-card__body{padding-top:12px;}
.leni-shop-results .leni-product-card__title{margin:0 0 6px;font-size:17px;}
.leni-shop-results .leni-product-card__meta{min-height:16px;margin-bottom:7px;font-size:10px;}
.leni-shop-results .leni-product-card__rating{margin-bottom:8px;font-size:12px;}
.leni-shop-results .leni-product-card__price{margin:0 0 12px;font-size:19px;}
.leni-shop-results .leni-product-card__action .button{min-height:38px;padding:9px 12px!important;border-radius:4px!important;font-size:11px!important;}
.leni-shop-results .woocommerce-pagination{margin-top:44px;}
.leni-shop-results .woocommerce-pagination ul.page-numbers{border:0;display:flex;justify-content:center;gap:6px;}
.leni-shop-results .woocommerce-pagination ul.page-numbers li{border:0;}
.leni-shop-results .woocommerce-pagination .page-numbers a,.leni-shop-results .woocommerce-pagination .page-numbers span{display:grid;min-width:38px;height:38px;place-items:center;border-radius:4px;background:#fff;color:#151d2c;}
.leni-shop-results .woocommerce-pagination .page-numbers .current{background:#c39a16;color:#fff;}
@media(max-width:820px){
  .leni-shop-layout{display:block;padding-block:32px 60px;}
  .leni-shop-toolbar{grid-template-columns:auto 1fr auto;}
  .leni-shop-filter-toggle{display:inline-flex;}
  .leni-shop-filters{position:fixed;z-index:1002;top:0;left:0;width:min(340px,88vw);height:100dvh;overflow:auto;border-radius:0;transform:translateX(-105%);transition:transform .25s ease;}
  .leni-shop-filters.is-open{transform:translateX(0);}
  .leni-shop-filters__close{display:block;}
  .leni-shop-filter-backdrop{position:fixed;z-index:1001;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;}
  .leni-shop-filter-backdrop.is-open{display:block;opacity:1;pointer-events:auto;}
  body.leni-filters-open{overflow:hidden;}
}
@media(max-width:560px){
  .leni-shop-hero__inner{min-height:190px;padding-block:40px;}
  .leni-shop-hero h1{font-size:38px;}
  .leni-shop-hero p{font-size:13px;}
  .leni-shop-toolbar{grid-template-columns:auto 1fr;}
  .leni-shop-count{justify-self:end;}
  .leni-shop-ordering{grid-column:1/-1;justify-content:flex-end;}
  .leni-shop-results ul.products{grid-template-columns:1fr!important;}
  .leni-shop-results .leni-product-card{width:min(100%,360px)!important;margin-inline:auto!important;}
}

/* v0.7.3.1 — Filter panel visual refinement only. No filter logic changes. */
@media (min-width:821px){
  .leni-shop-layout{
    grid-template-columns:248px minmax(0,1fr);
    gap:30px;
  }
}
.leni-shop-filters{
  padding:28px 22px 24px;
  border-radius:6px;
  box-shadow:none;
}
.leni-shop-filters__head{
  margin-bottom:30px;
}
.leni-shop-filters__head h2{
  color:#151d2c;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:16px;
  font-weight:600;
  line-height:1.25;
}
.leni-filter-group{
  padding-bottom:28px;
  border-bottom-color:#e1e4e8;
}
.leni-filter-group + .leni-filter-group{
  padding-top:27px;
}
.leni-filter-group:last-of-type{
  padding-bottom:0;
}
.leni-filter-group legend{
  margin-bottom:18px;
  color:#273142;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:14px;
  font-weight:500;
  line-height:1.25;
}
.leni-filter-option{
  gap:11px;
  margin-bottom:12px;
  color:#667085;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:13px;
  font-weight:400;
  line-height:1.35;
}
.leni-filter-option__box{
  width:15px;
  height:15px;
  flex-basis:15px;
  border-color:#aeb4bd;
}
.leni-filter-stars{
  gap:2px;
  font-size:13px;
}
.leni-shop-filters__actions{
  margin-top:28px;
}
.leni-shop-filters__apply{
  min-height:42px;
}
@media(max-width:820px){
  .leni-shop-filters{
    padding:28px 22px 24px;
  }
}

/* v0.7.3.2 — Match Figma filter group separators and vertical rhythm only. */
.leni-shop-filters__form{
  display:block;
}
.leni-filter-group{
  position:relative;
  display:block;
  min-width:0;
  margin:0 0 25px;
  padding:0 0 25px;
  border:0;
}
.leni-filter-group:not(:last-of-type)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:#e1e4e8;
}
.leni-filter-group + .leni-filter-group{
  padding-top:0;
}
.leni-filter-group:last-of-type{
  margin-bottom:0;
  padding-bottom:0;
}
.leni-filter-group legend{
  display:block;
  float:left;
  width:100%;
  margin:0 0 18px;
  padding:0;
}
.leni-filter-group legend + .leni-filter-option{
  clear:both;
}
.leni-filter-group::after{
  clear:both;
}
.leni-filter-option{
  margin-bottom:12px;
}
.leni-filter-option:last-child{
  margin-bottom:0;
}
.leni-shop-filters__actions{
  clear:both;
  margin-top:28px;
}

/* v0.7.3.3 — Figma vertical rhythm: equal title/option gaps and detached separators. */
.leni-filter-group{
  position:relative;
  display:block;
  margin:0 0 24px;
  padding:0 0 24px;
  border:0;
}
.leni-filter-group:not(:last-of-type)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:#e1e4e8;
}
.leni-filter-group + .leni-filter-group{
  padding-top:0;
}
.leni-filter-group:last-of-type{
  margin-bottom:0;
  padding-bottom:0;
}
.leni-filter-group legend{
  float:none;
  clear:none;
  display:block;
  width:100%;
  margin:0 0 14px;
  padding:0;
}
.leni-filter-group legend + .leni-filter-option{
  clear:none;
}
.leni-filter-option{
  margin-bottom:12px;
}
.leni-filter-option:last-child{
  margin-bottom:0;
}

/* v0.7.3.4 — Shop results toolbar visual refinement only. */
.leni-shop-toolbar{
  min-height:40px;
  margin-bottom:32px;
  gap:24px;
}
.leni-shop-count{
  align-self:center;
}
.leni-shop-count .woocommerce-result-count{
  margin:0;
  color:#596273;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:14px;
  font-weight:400;
  line-height:20px;
}
.leni-shop-ordering{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:#273142;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:14px;
  font-weight:500;
  line-height:20px;
  white-space:nowrap;
}
.leni-shop-ordering .woocommerce-ordering{
  display:block;
  margin:0;
}
.leni-shop-ordering select{
  width:156px;
  min-width:156px;
  height:40px;
  margin:0;
  padding:0 38px 0 13px;
  border:1px solid #d2d7df;
  border-radius:8px;
  background-color:#fff;
  color:#596273;
  font-family:var(--leni-font-body,Inter,sans-serif);
  font-size:14px;
  font-weight:400;
  line-height:40px;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.leni-shop-ordering select:hover{
  border-color:#c39a16;
}
.leni-shop-ordering select:focus{
  border-color:#c39a16;
  outline:0;
  box-shadow:0 0 0 2px rgba(195,154,22,.14);
}
@media(max-width:820px){
  .leni-shop-toolbar{
    gap:14px;
    margin-bottom:26px;
  }
}
@media(max-width:560px){
  .leni-shop-count .woocommerce-result-count,
  .leni-shop-ordering{
    font-size:13px;
  }
  .leni-shop-ordering{
    width:100%;
  }
  .leni-shop-ordering .woocommerce-ordering{
    flex:1;
  }
  .leni-shop-ordering select{
    width:100%;
    min-width:0;
  }
}

/* v0.7.5 — Shop product cards: equal-height, Figma-aligned visual layout. */
.leni-shop-results ul.products{
  grid-auto-rows:1fr;
  align-items:stretch;
}
.leni-shop-results .leni-product-card{
  display:flex;
  width:100%!important;
  height:100%;
  min-height:430px;
  flex-direction:column;
  padding:14px 14px 12px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 5px 14px rgba(21,29,44,.12);
}
.leni-shop-results .leni-product-card__media{
  display:flex;
  width:100%;
  height:215px;
  flex:0 0 215px;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:7px;
  background:#f3ede2;
  overflow:hidden;
}
.leni-shop-results .leni-product-card__image{
  display:block;
  width:100%!important;
  max-width:100%;
  height:191px!important;
  margin:0!important;
  object-fit:contain;
  object-position:center;
}
.leni-shop-results .leni-product-card__body{
  display:flex;
  min-height:0;
  flex:1;
  flex-direction:column;
  padding-top:12px;
  text-align:center;
}
.leni-shop-results .leni-product-card__title{
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  margin:0 0 5px;
  font-family:var(--leni-font-heading,'DM Serif Display',serif);
  font-size:17px;
  font-weight:400;
  line-height:1.18;
}
.leni-shop-results .leni-product-card__title a{
  display:-webkit-box;
  overflow:hidden;
  color:#111827;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.leni-shop-results .leni-product-card__meta{
  display:flex;
  min-height:17px;
  align-items:center;
  justify-content:center;
  margin:0 0 7px;
  color:#818894;
  font-size:10px;
  line-height:1.3;
}
.leni-shop-results .leni-product-card__rating{
  min-height:14px;
  margin:0 0 8px;
  gap:2px;
  color:#d5d0c5;
  font-size:13px;
  line-height:1;
}
.leni-shop-results .leni-product-card__price{
  display:flex;
  min-height:25px;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:auto 0 12px;
  color:#111827;
  font-size:20px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
}
.leni-shop-results .leni-product-card__price del{
  margin:0;
  color:#8a8a8a;
  font-size:12px;
  font-weight:400;
}
.leni-shop-results .leni-product-card__price ins{
  text-decoration:none;
}
.leni-shop-results .leni-product-card__action{
  margin-top:0;
}
.leni-shop-results .leni-product-card__action .button{
  min-height:39px;
  padding:9px 12px!important;
  border-radius:5px!important;
  font-size:11px!important;
  line-height:1!important;
}
@media(max-width:560px){
  .leni-shop-results .leni-product-card{
    min-height:430px;
  }
}

/* v0.7.7 — Fixed three-column Shop grid and final universal card dimensions. */
@media (min-width:1101px){
  .leni-shop-results ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (min-width:641px) and (max-width:1100px){
  .leni-shop-results ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:640px){
  .leni-shop-results ul.products{
    grid-template-columns:1fr!important;
  }
}
.leni-shop-results .leni-product-card{
  min-height:438px!important;
  padding:18px 18px 14px!important;
  border-radius:14px!important;
  background:#f7f4f1!important;
  box-shadow:none!important;
}
.leni-shop-results .leni-product-card:hover{
  box-shadow:0 18px 38px rgba(0,0,0,.16)!important;
}
.leni-shop-results .leni-product-card__media{
  height:210px!important;
  flex-basis:210px!important;
  padding:0 18px!important;
  border-radius:0!important;
  background:transparent!important;
}
.leni-shop-results .leni-product-card__image{
  width:auto!important;
  max-width:100%!important;
  height:185px!important;
}
.leni-shop-results .leni-product-card__body{
  padding-top:0!important;
}
.leni-shop-results .leni-product-card__title{
  min-height:48px!important;
  margin:1px 0 8px!important;
  font-size:20px!important;
  font-weight:600!important;
}
.leni-shop-results .leni-product-card__meta{
  min-height:20px!important;
  margin:0 0 11px!important;
  font-size:14px!important;
}
.leni-shop-results .leni-product-card__rating{
  min-height:20px!important;
  margin:0 0 14px!important;
  font-size:15.75px!important;
}
.leni-shop-results .leni-product-card__price{
  min-height:28px!important;
  margin:auto 0 14px!important;
  font-size:24px!important;
  font-weight:700!important;
}
.leni-shop-results .leni-product-card__action .button{
  min-height:42px!important;
  padding:11px 14px!important;
  border-radius:5px!important;
  font-size:16px!important;
  font-weight:500!important;
}

/* v0.7.8 — Shop hero slideshow with a gentle zoom-out effect. */
.leni-shop-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(110deg,#35180f 0%,#5a2b20 100%);
}
.leni-shop-hero__slides,
.leni-shop-hero__overlay{
  position:absolute;
  inset:0;
}
.leni-shop-hero__slides{z-index:-2;}
.leni-shop-hero__overlay{
  z-index:-1;
  background:rgba(0,0,0,.50);
}
.leni-shop-hero__slide{
  position:absolute;
  inset:-5%;
  opacity:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  transform:scale(1.12);
  transition:opacity 1.2s ease;
  will-change:opacity,transform;
}
.leni-shop-hero__slide.is-active{
  opacity:1;
  animation:leni-shop-hero-zoom-out var(--leni-shop-hero-duration,20s) linear forwards;
}
.leni-shop-hero__inner{
  position:relative;
  z-index:1;
}
@keyframes leni-shop-hero-zoom-out{
  from{transform:scale(1.12);}
  to{transform:scale(1);}
}
@media (prefers-reduced-motion:reduce){
  .leni-shop-hero__slide{
    transform:scale(1)!important;
    animation:none!important;
    transition:opacity .25s linear;
  }
}

/* v0.7.8.1 — Taller Shop hero image area and 50% black overlay. */
.leni-shop-hero__inner{min-height:460px;}
.leni-shop-hero__overlay{background:rgba(0,0,0,.50);}
@media (max-width:767px){.leni-shop-hero__inner{min-height:380px;}}

/* v0.9.9.2 — Premium shop pagination */
.leni-shop-results .woocommerce-pagination ul.page-numbers{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.leni-shop-results .woocommerce-pagination ul.page-numbers li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.leni-shop-results .woocommerce-pagination ul.page-numbers li::marker{content:"";font-size:0;}
.leni-shop-results .woocommerce-pagination .page-numbers a,
.leni-shop-results .woocommerce-pagination .page-numbers span{
  box-sizing:border-box;
  display:grid;
  min-width:42px;
  height:42px;
  padding:0 12px;
  place-items:center;
  border:1px solid rgba(195,154,22,.30);
  border-radius:8px;
  background:#fff;
  color:#2b2924;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(31,26,16,.045);
  transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.leni-shop-results .woocommerce-pagination .page-numbers a:hover,
.leni-shop-results .woocommerce-pagination .page-numbers a:focus-visible{
  border-color:#c39a16;
  color:#8b6910;
  background:#fffdf7;
  box-shadow:0 7px 18px rgba(81,61,10,.10);
  transform:translateY(-1px);
  outline:none;
}
.leni-shop-results .woocommerce-pagination .page-numbers .current{
  border-color:#c39a16;
  background:#c39a16;
  color:#17130a;
  box-shadow:0 7px 18px rgba(139,105,16,.16);
}
.leni-shop-results .woocommerce-pagination .page-numbers .prev,
.leni-shop-results .woocommerce-pagination .page-numbers .next{
  position:relative;
  width:42px;
  min-width:42px;
  padding:0;
  overflow:hidden;
  font-size:0;
  color:#8b6910;
}
.leni-shop-results .woocommerce-pagination .page-numbers .prev::before,
.leni-shop-results .woocommerce-pagination .page-numbers .next::before{
  content:"";
  width:9px;
  height:9px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
}
.leni-shop-results .woocommerce-pagination .page-numbers .prev::before{transform:rotate(-135deg) translate(-1px,-1px);}
.leni-shop-results .woocommerce-pagination .page-numbers .next::before{transform:rotate(45deg) translate(-1px,1px);}
@media(max-width:520px){
  .leni-shop-results .woocommerce-pagination ul.page-numbers{gap:7px;}
  .leni-shop-results .woocommerce-pagination .page-numbers a,
  .leni-shop-results .woocommerce-pagination .page-numbers span{min-width:40px;height:40px;padding:0 10px;}
  .leni-shop-results .woocommerce-pagination .page-numbers .prev,
  .leni-shop-results .woocommerce-pagination .page-numbers .next{width:40px;min-width:40px;}
}


/* v0.9.9.7 — Premium pagination arrow optical centering */
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
}
.woocommerce nav.woocommerce-pagination ul li a.prev svg,
.woocommerce nav.woocommerce-pagination ul li a.next svg,
.woocommerce-pagination .page-numbers.prev svg,
.woocommerce-pagination .page-numbers.next svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 18px;
}


/* v0.9.10.0 — Editable full-width Shop Banner */
.leni-shop-banner{grid-column:1/-1;width:100%;margin:0 0 2px;overflow:hidden;border-radius:8px;background:#fff;}
.leni-shop-banner__link{display:block;width:100%;}
.leni-shop-banner__image{display:block;width:100%;height:auto;margin:0;object-fit:contain;}
@media(max-width:820px){.leni-shop-banner{margin-bottom:24px;border-radius:6px;}}
