/* Homepage-aligned shop archive */
:root{--sbrand:var(--brand,#c90068);--shover:var(--brand-hover,#df1678);--sink:#171216;--smuted:#81767c;--ssoft:#fcf9fb;--sline:#eee5ea;--sshell:min(calc(100% - 48px),1536px);--sease:var(--ease-premium,cubic-bezier(.22,1,.36,1))}
.shop-page,.shop-page button,.shop-page select,.shop-page input{font-family:"Poppins",Arial,sans-serif}.shop-page{background:#fff;color:var(--sink)}.shop-shell{width:var(--sshell);margin-inline:auto}.shop-hero{position:relative;overflow:hidden;background:#fff}.shop-hero:before{position:absolute;top:-190px;right:-150px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(201,0,104,.05),transparent 68%);content:"";pointer-events:none}.shop-hero__inner{position:relative;z-index:1;padding:82px 0 42px}.shop-hero__head{display:flex;align-items:flex-end;justify-content:space-between;gap:42px}.shop-hero__copy{max-width:680px}.shop-signature{display:inline-flex;align-items:center;gap:10px;margin-bottom:15px;color:#5f555a;font-size:12px;font-weight:500;letter-spacing:.075em;text-transform:uppercase}.shop-signature:before{width:7px;height:7px;flex:0 0 7px;background:var(--sbrand);box-shadow:0 0 0 4px rgba(201,0,104,.08);content:"";transform:rotate(45deg)}.shop-hero h1{margin:0;color:var(--sink);font-size:clamp(34px,3.1vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.08}.shop-hero__copy p{max-width:590px;margin:13px 0 0;color:var(--smuted);font-size:15px;line-height:1.75}.shop-category-nav{display:inline-flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--sline);border-radius:999px;background:var(--ssoft)}.shop-category-nav a{min-height:38px;padding:9px 17px;border-radius:999px;color:#786c72;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:.22s ease}.shop-category-nav a:hover,.shop-category-nav a:focus-visible{color:var(--sbrand);outline:none;transform:translateY(-1px)}.shop-category-nav a.is-active{background:var(--sbrand);color:#fff;box-shadow:0 8px 20px rgba(201,0,104,.18)}
.shop-catalog{padding:24px 0 100px}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.shop-toolbar__left,.shop-toolbar__right{display:flex;align-items:center}.shop-toolbar__left{gap:16px}.shop-filter-toggle{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 16px;border:0;border-radius:999px;background:var(--sbrand);color:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 8px 20px rgba(201,0,104,.16);transition:.22s ease}.shop-filter-toggle:hover{background:var(--shover);transform:translateY(-1px)}.shop-filter-toggle i{font-size:17px}.filter-count{display:grid;min-width:20px;height:20px;place-items:center;padding:0 6px;border-radius:999px;background:#fff;color:var(--sbrand);font-size:10px;font-weight:600}.shop-result-count{margin:0;color:#8a8185;font-size:13px}.shop-result-count strong{color:#211a1e;font-weight:600}.shop-sort{position:relative;display:flex;align-items:center;gap:10px;color:#8a8185;font-size:12px}.shop-sort select{min-width:190px;min-height:44px;padding:8px 42px 8px 16px;border:1px solid var(--sline);border-radius:999px;background:var(--ssoft);color:#655a60;font:inherit;font-size:13px;font-weight:500;appearance:none;cursor:pointer;outline:none}.shop-sort i{position:absolute;right:15px;font-size:17px;pointer-events:none}.shop-active-filters{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-4px 0 28px}.active-filter-list{display:flex;flex-wrap:wrap;gap:8px}.active-filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--sline);border-radius:999px;background:#fff;color:#6c6267;font:inherit;font-size:12px;cursor:pointer}.clear-all-filters{border:0;background:none;color:var(--sbrand);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.shop-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:58px clamp(18px,1.65vw,28px)}.shop-product[hidden]{display:none!important}.shop-product{min-width:0;animation:sr .43s var(--sease) both}@keyframes sr{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.shop-product .product-media{position:relative;overflow:hidden;aspect-ratio:.78;border-radius:0;background:#f4eff1;isolation:isolate}.shop-product-link{display:block;width:100%;height:100%}.shop-product .product-image{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--sease),filter .32s ease}.shop-product:hover .product-image{transform:scale(1.045);filter:saturate(1.03)}.shop-product .product-badge{position:absolute;z-index:3;top:14px;left:14px;display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#2a2226;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 18px rgba(45,23,34,.08);backdrop-filter:blur(8px)}.shop-product .product-badge--sale{background:var(--sbrand);color:#fff}.shop-product .product-wishlist{position:absolute;z-index:4;top:12px;right:12px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.9);color:#2a2226;cursor:pointer;font-size:18px;box-shadow:0 8px 20px rgba(44,21,32,.09);opacity:0;transform:translateY(6px);transition:.24s var(--sease);backdrop-filter:blur(8px)}.shop-product:hover .product-wishlist,.shop-product:focus-within .product-wishlist,.shop-product .product-wishlist[aria-pressed=true]{opacity:1;transform:none}.shop-product .product-wishlist[aria-pressed=true]{background:var(--sbrand);color:#fff}.shop-product .product-quick-actions{position:absolute;z-index:4;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:1fr 44px;gap:8px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.28s var(--sease)}.shop-product:hover .product-quick-actions,.shop-product:focus-within .product-quick-actions{opacity:1;transform:none;pointer-events:auto}.shop-product .product-add-cart,.shop-product .product-quick-view{min-height:44px;border:0;background:rgba(255,255,255,.94);color:#2a2226;cursor:pointer;box-shadow:0 8px 22px rgba(44,21,32,.1);backdrop-filter:blur(8px)}.shop-product .product-add-cart{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:12px;font-weight:600}.shop-product .product-quick-view{display:grid;place-items:center;font-size:17px}.shop-product .product-add-cart:hover,.shop-product .product-quick-view:hover{background:var(--sbrand);color:#fff}.shop-product .product-info{padding-top:15px}.shop-product .product-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.shop-product .product-category{color:#968b91;font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.shop-product .product-rating{display:flex;align-items:center;gap:4px;color:#7d7378;font-size:10px}.shop-product .product-rating i{color:#b68738}.shop-product .product-name{margin:0 0 8px;color:#221b1f;font-size:15px;font-weight:500;line-height:1.45}.shop-product .product-name a{color:inherit;text-decoration:none}.shop-product .product-name a:hover{color:var(--sbrand)}.shop-product .product-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-product .product-price{display:flex;align-items:center;gap:8px;color:#2a2226;font-size:13px;font-weight:600}.shop-product .product-price del{color:#a69ba1;font-size:11px;font-weight:400}.shop-product .product-swatches{display:flex;align-items:center;gap:7px}.shop-product .product-swatch{width:15px;height:15px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #d8cfd4}.shop-product .product-swatch.is-active{box-shadow:0 0 0 1px var(--sbrand)}
.shop-filters{position:fixed;z-index:170;inset:0 auto 0 0;width:min(420px,100vw);display:flex;flex-direction:column;background:#fff;overflow-y:auto;transform:translateX(-101%);visibility:hidden;box-shadow:22px 0 60px rgba(45,23,34,.14);transition:transform .43s var(--sease),visibility .43s}.filters-open .shop-filters{transform:none;visibility:visible}.filters-open{overflow:hidden}.filter-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:34px 30px 24px}.filter-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:10px;color:#5f555a;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.filter-kicker:before{width:6px;height:6px;background:var(--sbrand);box-shadow:0 0 0 3px rgba(201,0,104,.08);content:"";transform:rotate(45deg)}.filter-panel-head h2{margin:0;font-size:27px;font-weight:500;letter-spacing:-.035em}.filter-panel-head p{margin:8px 0 0;color:var(--smuted);font-size:13px;line-height:1.6}.filter-mobile-close{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:0;border-radius:50%;background:var(--ssoft);color:#2a2226;font-size:19px;cursor:pointer}.filter-group{margin:0 30px;border-top:1px solid var(--sline)}.filter-group__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:64px;padding:0;border:0;background:transparent;color:#2c2428;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.filter-group__trigger i{color:#8e8389;font-size:18px;transition:.28s var(--sease)}.filter-group.is-open .filter-group__trigger i{color:var(--sbrand);transform:rotate(45deg)}.filter-group__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--sease),padding .32s ease}.filter-group__body>*{min-height:0;overflow:hidden}.filter-group.is-open .filter-group__body{grid-template-rows:1fr;padding:0 0 22px}.filter-check{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;min-height:38px;color:#5d5358;font-size:13px;cursor:pointer}.filter-check input{width:16px;height:16px;margin:0;accent-color:var(--sbrand)}.filter-check small{color:#aaa0a5;font-size:11px}.price-copy{display:flex;justify-content:space-between;margin-bottom:14px;color:#968b91;font-size:11px}.price-copy strong{color:#2c2428;font-size:12px}.price-range{width:100%;accent-color:var(--sbrand)}.size-filter{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.size-filter button{min-height:38px;border:1px solid var(--sline);border-radius:999px;background:#fff;color:#675d62;font:inherit;font-size:11px;cursor:pointer}.size-filter button.is-active{border-color:var(--sbrand);background:var(--sbrand);color:#fff}.color-filter{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.color-choice{display:flex;align-items:center;gap:9px;min-height:36px;padding:0;border:0;background:none;color:#5d5358;font:inherit;font-size:12px;cursor:pointer}.color-choice>span{width:19px;height:19px;border:3px solid #fff;border-radius:50%;background:var(--choice);box-shadow:0 0 0 1px #d8cfd4}.color-choice[aria-pressed=true]{color:var(--sbrand)}.color-choice[aria-pressed=true]>span{box-shadow:0 0 0 2px var(--sbrand)}.filter-actions-mobile{position:sticky;bottom:0;display:grid;grid-template-columns:100px 1fr;gap:9px;margin-top:auto;padding:18px 30px 24px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.filter-clear-mobile,.filter-apply-mobile{min-height:46px;border:0;border-radius:999px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.filter-clear-mobile{background:var(--ssoft);color:#655a60}.filter-apply-mobile{background:var(--sbrand);color:#fff;box-shadow:0 8px 20px rgba(201,0,104,.16)}.filter-drawer-backdrop{position:fixed;z-index:165;inset:0;background:rgba(24,14,19,.34);opacity:0;visibility:hidden;backdrop-filter:blur(2px);transition:.28s ease}.filters-open .filter-drawer-backdrop{opacity:1;visibility:visible}.shop-empty{padding:100px 20px;text-align:center}.shop-empty i{color:var(--sbrand);font-size:34px}.shop-empty h2{margin:16px 0 8px;font-size:28px;font-weight:500}.shop-empty p{margin:0 0 22px;color:var(--smuted)}.empty-clear,#loadMore{min-height:44px;padding:0 19px;border-radius:999px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.empty-clear{border:0;background:var(--sbrand);color:#fff}.shop-load-more{display:flex;flex-direction:column;align-items:center;padding-top:72px}.shop-load-more p{margin:0 0 13px;color:#8a8185;font-size:12px}.load-progress{width:240px;height:3px;overflow:hidden;border-radius:999px;background:#f0e9ed}.load-progress span{display:block;height:100%;border-radius:inherit;background:var(--sbrand)}#loadMore{margin-top:19px;border:1px solid var(--sline);background:#fff;color:#655a60}
@media(max-width:1200px){.shop-hero__head{align-items:flex-start;flex-direction:column}.shop-category-nav{max-width:100%;overflow-x:auto}.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){:root{--sshell:min(calc(100% - 32px),680px)}.shop-hero__inner{padding:54px 0 32px}.shop-hero__head{gap:28px}.shop-signature{font-size:10px}.shop-hero h1{font-size:36px}.shop-hero__copy p{font-size:14px}.shop-category-nav{width:100%;overflow-x:auto}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 16px}.shop-product .product-wishlist,.shop-product .product-quick-actions{opacity:1;transform:none;pointer-events:auto}}@media(max-width:480px){:root{--sshell:min(calc(100% - 24px),390px)}.shop-hero__inner{padding-top:42px}.shop-hero h1{font-size:32px}.shop-category-nav{gap:4px;padding:4px}.shop-category-nav a{padding:8px 13px;font-size:11px}.shop-catalog{padding-top:16px}.shop-toolbar__left{gap:10px}.shop-filter-toggle{width:44px;min-height:44px;justify-content:center;padding:0}.shop-filter-toggle>span:not(.filter-count){display:none}.shop-result-count{font-size:11px}.shop-sort>span{display:none}.shop-sort select{width:44px;min-width:44px;padding:0;color:transparent}.shop-sort i{right:13px}.shop-product-grid{gap:38px 10px}.shop-product .product-badge{top:8px;left:8px;min-height:22px;padding:4px 7px;font-size:8px}.shop-product .product-wishlist{top:8px;right:8px;width:34px;height:34px;font-size:16px}.shop-product .product-quick-actions{right:8px;bottom:8px;left:8px;grid-template-columns:1fr 38px;gap:5px}.shop-product .product-add-cart,.shop-product .product-quick-view{min-height:38px}.shop-product .product-add-cart{padding-inline:7px;font-size:9px}.shop-product .product-add-cart i{display:none}.shop-product .product-info{padding-top:11px}.shop-product .product-category,.shop-product .product-rating{font-size:8px}.shop-product .product-name{font-size:12px}.shop-product .product-bottom-row{align-items:flex-start;flex-direction:column;gap:7px}.filter-panel-head{padding:28px 22px 20px}.filter-group{margin-inline:22px}.filter-actions-mobile{padding-inline:22px}}@media(hover:none),(pointer:coarse){.shop-product .product-wishlist,.shop-product .product-quick-actions{opacity:1;transform:none;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.shop-product,.shop-product .product-image,.shop-product .product-wishlist,.shop-product .product-quick-actions,.shop-filters,.filter-drawer-backdrop,.filter-group__body{animation:none!important;transition-duration:.01ms!important}}

/* v7 refinement: simplified hero + top-aligned filter drawer */
.shop-hero__head{
  display:block;
}

.shop-hero__copy{
  max-width:720px;
}

/* Category navigation removed from hero */
.shop-category-nav{
  display:none !important;
}

/* Filter drawer now starts from the top edge and fills viewport */
.shop-filters{
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  height:100dvh;
  max-height:100dvh;
  border-radius:0 !important;
}

/* Keep filter header visible and visually anchored at the top */
.filter-panel-head{
  position:sticky;
  top:0;
  z-index:4;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* Sticky actions remain anchored at the bottom */
.filter-actions-mobile{
  z-index:4;
}

@media(max-width:1200px){
  .shop-hero__head{
    display:block;
  }
}

@media(max-width:480px){
  .shop-filters{
    width:100vw;
  }
}


/* v8 filter drawer refinement */
.shop-filters{
  width:min(390px,100vw);
  background:#fff;
  box-shadow:24px 0 70px rgba(34,17,26,.16);
}

.filter-panel-head{
  padding:30px 26px 22px;
  border-bottom:0;
}

.filter-panel-head h2{
  font-size:30px;
  font-weight:500;
  letter-spacing:-.04em;
}

.filter-panel-head p{
  max-width:290px;
  margin-top:7px;
  font-size:12px;
  line-height:1.6;
}

.filter-group{
  margin:0 20px 10px;
  padding:0 16px;
  border:0;
  border-radius:16px;
  background:#fcf9fb;
}

.filter-group__trigger{
  min-height:58px;
  font-size:13px;
  font-weight:600;
}

.filter-group__trigger i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#8e8389;
  box-shadow:0 4px 14px rgba(45,23,34,.05);
}

.filter-group.is-open .filter-group__trigger i{
  color:var(--sbrand);
  background:#fff;
}

.filter-group.is-open .filter-group__body{
  padding:0 0 17px;
}

/* Single category / collection keyword selector */
.filter-keywords{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.filter-keyword{
  min-height:34px;
  padding:7px 13px;
  border:1px solid #eee5ea;
  border-radius:999px;
  background:#fff;
  color:#6a5f65;
  font:inherit;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    color 200ms ease,
    transform 200ms var(--sease),
    box-shadow 200ms ease;
}

.filter-keyword:hover{
  border-color:rgba(201,0,104,.22);
  color:var(--sbrand);
  transform:translateY(-1px);
}

.filter-keyword.is-active,
.filter-keyword[aria-pressed="true"]{
  border-color:var(--sbrand);
  background:var(--sbrand);
  color:#fff;
  box-shadow:0 6px 16px rgba(201,0,104,.14);
}

/* Cleaner check rows for remaining filters */
.filter-check{
  min-height:36px;
  padding:2px 0;
  font-size:12px;
}

.filter-check input{
  width:15px;
  height:15px;
}

.price-copy{
  margin-bottom:11px;
}

.size-filter{
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.size-filter button{
  min-height:36px;
  background:#fff;
  font-size:11px;
}

.color-filter{
  gap:7px 12px;
}

.color-choice{
  min-height:34px;
  font-size:11px;
}

/* Better footer actions */
.filter-actions-mobile{
  grid-template-columns:96px 1fr;
  gap:10px;
  padding:14px 20px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),#fff 30%);
}

.filter-clear-mobile,
.filter-apply-mobile{
  min-height:44px;
}

.filter-apply-mobile{
  box-shadow:0 8px 18px rgba(201,0,104,.15);
}

@media(max-width:480px){
  .filter-panel-head{padding:26px 20px 18px}
  .filter-panel-head h2{font-size:27px}
  .filter-group{margin-inline:14px;padding-inline:14px}
  .filter-actions-mobile{padding-inline:14px}
}


/* v9 — robust interactive filter drawer */
.shop-filters{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#ded2d8 transparent;
}

.shop-filters::-webkit-scrollbar{width:6px}
.shop-filters::-webkit-scrollbar-track{background:transparent}
.shop-filters::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#ded2d8;
}

.filters-open .shop-filters{
  pointer-events:auto;
}

.filter-drawer-backdrop{
  cursor:pointer;
  touch-action:none;
}

.filter-panel-head{
  flex:0 0 auto;
}

.filter-group__trigger{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.filter-keyword,
.size-filter button,
.color-choice,
.filter-clear-mobile,
.filter-apply-mobile,
.filter-mobile-close,
.shop-filter-toggle{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.filter-keyword:focus-visible,
.size-filter button:focus-visible,
.color-choice:focus-visible,
.filter-clear-mobile:focus-visible,
.filter-apply-mobile:focus-visible,
.filter-mobile-close:focus-visible,
.shop-filter-toggle:focus-visible{
  outline:2px solid var(--sbrand);
  outline-offset:3px;
}

.filter-actions-mobile{
  flex:0 0 auto;
}

@media(max-width:760px){
  .shop-filters{
    width:min(390px,92vw);
  }
}

@media(max-width:480px){
  .shop-filters{
    width:100vw;
    max-width:none;
  }

  .filter-panel-head{
    padding-top:max(22px,env(safe-area-inset-top));
  }

  .filter-actions-mobile{
    padding-bottom:max(18px,env(safe-area-inset-bottom));
  }
}


/* v10 — complete filter drawer layout */
.shop-filters{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.filter-panel-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 0 12px;
  scrollbar-width:thin;
  scrollbar-color:#ddcfd6 transparent;
}

.filter-panel-scroll::-webkit-scrollbar{width:5px}
.filter-panel-scroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#ddcfd6;
}

.filter-panel-head{
  position:relative;
  top:auto;
  z-index:2;
  flex:0 0 auto;
  padding:34px 26px 24px;
  background:#fff;
}

.filter-panel-head h2{
  max-width:250px;
  font-size:29px;
}

.filter-group{
  margin:0 18px 10px;
  padding:0 16px;
  border:0;
  border-radius:16px;
  background:#fcf9fb;
}

.filter-group__trigger{
  min-height:58px;
}

.filter-group__trigger i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 14px rgba(45,23,34,.05);
}

.filter-keywords{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.filter-keyword{
  min-height:35px;
  padding:7px 13px;
  border:1px solid #eee5ea;
  border-radius:999px;
  background:#fff;
  color:#6a5f65;
  font:inherit;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
  transition:.2s ease;
}

.filter-keyword:hover{
  border-color:rgba(201,0,104,.25);
  color:var(--sbrand);
  transform:translateY(-1px);
}

.filter-keyword.is-active{
  border-color:var(--sbrand);
  background:var(--sbrand);
  color:#fff;
  box-shadow:0 6px 16px rgba(201,0,104,.14);
}

.price-filter{
  padding:2px 2px 7px;
}

.price-range{
  height:22px;
  cursor:pointer;
}

.size-filter{
  grid-template-columns:repeat(5,1fr);
}

.color-filter{
  grid-template-columns:1fr 1fr;
}

.filter-actions-mobile{
  position:relative;
  bottom:auto;
  z-index:3;
  flex:0 0 auto;
  padding:14px 18px max(18px,env(safe-area-inset-bottom));
  background:#fff;
  box-shadow:0 -12px 30px rgba(44,21,32,.05);
}

.filter-clear-mobile,
.filter-apply-mobile{
  min-height:46px;
}

@media(max-width:760px){
  .shop-filters{
    width:min(400px,94vw);
  }
}

@media(max-width:480px){
  .shop-filters{
    width:100vw;
    max-width:none;
  }
  .filter-panel-head{
    padding:calc(24px + env(safe-area-inset-top)) 20px 20px;
  }
  .filter-panel-head h2{font-size:27px}
  .filter-group{
    margin-inline:12px;
    padding-inline:14px;
  }
  .filter-actions-mobile{
    padding-inline:12px;
  }
}

@media(max-height:620px){
  .filter-panel-head{
    padding-top:20px;
    padding-bottom:16px;
  }
  .filter-panel-head p{
    display:none;
  }
}


/* v12 — filter drawer aligned to homepage branding */
.shop-filters{
  width:min(420px,100vw);
  background:#fff;
  box-shadow:18px 0 50px rgba(35,18,27,.12);
}

.filter-panel-head{
  padding:36px 30px 24px;
  background:#fff;
}

.filter-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
  color:#5f555a;
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.filter-kicker::before{
  width:6px;
  height:6px;
  flex:0 0 6px;
  background:var(--sbrand);
  box-shadow:0 0 0 3px rgba(201,0,104,.08);
  content:"";
  transform:rotate(45deg);
}

.filter-panel-head h2{
  margin:0;
  max-width:none;
  color:#171216;
  font-size:29px;
  font-weight:500;
  letter-spacing:-.04em;
  line-height:1.1;
}

.filter-panel-head p{
  max-width:330px;
  margin:8px 0 0;
  color:#81767c;
  font-size:12px;
  line-height:1.65;
}

.filter-mobile-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:0;
  border-radius:50%;
  background:#fbf8fa;
  color:#2a2226;
  box-shadow:none;
}

.filter-mobile-close:hover{
  background:#f5edf1;
  color:var(--sbrand);
}

/* Flatter grouping: no card-like blocks */
.filter-panel-scroll{
  padding:0 30px 10px;
}

.filter-group{
  margin:0;
  padding:0;
  border:0;
  border-top:1px solid #f0e8ec;
  border-radius:0;
  background:transparent;
}

.filter-group:first-child{
  border-top:0;
}

.filter-group__trigger{
  min-height:64px;
  color:#2b2327;
  font-size:13px;
  font-weight:600;
}

.filter-group__trigger i{
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#958a90;
  font-size:18px;
}

.filter-group.is-open .filter-group__trigger i{
  background:transparent;
  color:var(--sbrand);
}

.filter-group.is-open .filter-group__body{
  padding:0 0 22px;
}

/* Category badges echo homepage tab language */
.filter-keywords{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.filter-keyword{
  min-height:34px;
  padding:7px 13px;
  border:1px solid #eee5ea;
  border-radius:999px;
  background:#fff;
  color:#6a5f65;
  font:inherit;
  font-size:11px;
  font-weight:500;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--sease);
}

.filter-keyword:hover{
  border-color:rgba(201,0,104,.22);
  color:var(--sbrand);
  transform:translateY(-1px);
}

.filter-keyword.is-active,
.filter-keyword[aria-pressed="true"]{
  border-color:var(--sbrand);
  background:var(--sbrand);
  color:#fff;
  box-shadow:none;
}

/* Price */
.price-filter{
  padding-bottom:4px;
}

.price-copy{
  margin-bottom:10px;
}

.price-copy span{
  color:#9a8f95;
  font-size:11px;
}

.price-copy strong{
  color:#2d2529;
  font-size:12px;
  font-weight:600;
}

.price-range{
  height:20px;
  accent-color:var(--sbrand);
}

/* Size */
.size-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.size-filter button{
  min-width:44px;
  min-height:36px;
  padding:0 12px;
  border:1px solid #eee5ea;
  border-radius:999px;
  background:#fff;
  color:#695e64;
  font-size:11px;
  font-weight:500;
  box-shadow:none;
}

.size-filter button:hover{
  border-color:rgba(201,0,104,.22);
  color:var(--sbrand);
}

.size-filter button.is-active,
.size-filter button[aria-pressed="true"]{
  border-color:var(--sbrand);
  background:var(--sbrand);
  color:#fff;
}

/* Colour */
.color-filter{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 18px;
}

.color-choice{
  min-height:34px;
  color:#61575c;
  font-size:11px;
  font-weight:500;
}

.color-choice>span{
  width:18px;
  height:18px;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #d8cfd4;
}

.color-choice[aria-pressed="true"]{
  color:var(--sbrand);
}

.color-choice[aria-pressed="true"]>span{
  box-shadow:0 0 0 2px var(--sbrand);
}

/* Footer actions match homepage CTA language */
.filter-actions-mobile{
  padding:16px 30px 22px;
  background:#fff;
  box-shadow:0 -8px 22px rgba(44,21,32,.035);
}

.filter-clear-mobile,
.filter-apply-mobile{
  min-height:44px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
}

.filter-clear-mobile{
  border:1px solid #eee5ea;
  background:#fff;
  color:#655a60;
}

.filter-clear-mobile:hover{
  border-color:rgba(201,0,104,.22);
  color:var(--sbrand);
}

.filter-apply-mobile{
  background:var(--sbrand);
  color:#fff;
  box-shadow:0 8px 20px rgba(201,0,104,.14);
}

.filter-apply-mobile:hover{
  background:var(--shover);
}

/* Backdrop kept subtle */
.filter-drawer-backdrop{
  background:rgba(24,14,19,.28);
  backdrop-filter:blur(1.5px);
}

@media(max-width:480px){
  .filter-panel-head{
    padding:calc(26px + env(safe-area-inset-top)) 20px 20px;
  }

  .filter-panel-scroll{
    padding-inline:20px;
  }

  .filter-actions-mobile{
    padding-inline:20px;
  }

  .filter-panel-head h2{
    font-size:27px;
  }
}


/* v13 — accordion icon refinement + responsive filter trigger */

/* Accordion: use one chevron that rotates, no cross/minus state */
.filter-group__trigger i{
  width:auto !important;
  height:auto !important;
  display:block !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#978c92 !important;
  font-size:18px !important;
  line-height:1;
  transform:rotate(0deg);
  transition:transform 240ms var(--sease),color 200ms ease !important;
}

.filter-group.is-open .filter-group__trigger i{
  color:var(--sbrand) !important;
  transform:rotate(180deg) !important;
}

/* Filter button: stable sizing and content behavior */
.shop-filter-toggle{
  width:auto;
  min-width:118px;
  min-height:44px;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  white-space:nowrap;
}

.shop-filter-toggle > span:not(.filter-count){
  display:inline;
}

.filter-count{
  flex:0 0 auto;
}

@media(max-width:900px){
  .shop-toolbar{
    align-items:center;
    gap:14px;
  }

  .shop-toolbar__left{
    min-width:0;
    gap:12px;
  }

  .shop-result-count{
    white-space:nowrap;
  }

  .shop-filter-toggle{
    min-width:106px;
    padding-inline:14px;
  }
}

@media(max-width:640px){
  .shop-toolbar{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:12px;
  }

  .shop-toolbar__left{
    min-width:0;
    gap:10px;
  }

  .shop-toolbar__right{
    justify-self:end;
  }

  .shop-filter-toggle{
    min-width:44px;
    width:44px;
    height:44px;
    padding:0;
    border-radius:50%;
  }

  .shop-filter-toggle > span:not(.filter-count){
    display:none !important;
  }

  .shop-filter-toggle i{
    font-size:18px;
  }

  .filter-count{
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    font-size:9px;
    border:2px solid #fff;
  }

  .shop-filter-toggle{
    position:relative;
  }

  .shop-result-count{
    max-width:160px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:11px;
  }

  .shop-sort select{
    min-width:132px;
    width:132px;
    color:#655a60;
    padding-right:36px;
  }

  .shop-sort > span{
    display:none;
  }
}

@media(max-width:420px){
  .shop-toolbar{
    grid-template-columns:1fr auto;
  }

  .shop-toolbar__left{
    gap:8px;
  }

  .shop-result-count{
    max-width:120px;
  }

  .shop-sort select{
    min-width:118px;
    width:118px;
    font-size:11px;
  }
}


/* v14 — final drawer refinements */

/* No pink kicker/title above heading */
.filter-kicker{
  display:none !important;
}

.filter-panel-head h2{
  margin:0;
  font-size:30px;
  font-weight:500;
  letter-spacing:-.04em;
}

.filter-panel-head p{
  margin-top:8px;
}

/* Square size controls */
.size-filter button{
  border-radius:0 !important;
}

/* Square bottom action buttons */
.filter-clear-mobile,
.filter-apply-mobile{
  border-radius:0 !important;
}

/* Hide shop navbar smoothly while filters are active.
   Covers the common navbar/header selectors used in this project. */
.shop-page .site-header,
.shop-page .main-header,
.shop-page header.header,
.shop-page .header,
.shop-page .navbar,
.shop-page .main-nav{
  transition:
    opacity 280ms ease,
    transform 320ms var(--sease),
    visibility 280ms ease;
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}

body.filters-open .shop-page .site-header,
body.filters-open .shop-page .main-header,
body.filters-open .shop-page header.header,
body.filters-open .shop-page .header,
body.filters-open .shop-page .navbar,
body.filters-open .shop-page .main-nav{
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* If header sits outside .shop-page, support the site-level header too */
body.filters-open > .site-header,
body.filters-open > .main-header,
body.filters-open > header.header,
body.filters-open > .header{
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity 280ms ease,
    transform 320ms var(--sease),
    visibility 280ms ease;
}

@media(prefers-reduced-motion:reduce){
  .shop-page .site-header,
  .shop-page .main-header,
  .shop-page header.header,
  .shop-page .header,
  .shop-page .navbar,
  .shop-page .main-nav,
  body.filters-open > .site-header,
  body.filters-open > .main-header,
  body.filters-open > header.header,
  body.filters-open > .header{
    transition:none !important;
  }
}
