.spa-catalog-page{background:#030303;color:#f4eee7}.spa-catalog-hero{min-height:360px;display:flex;align-items:center;padding:55px 5vw;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62) 44%,rgba(0,0,0,.1)),var(--spa-catalog-hero) 70% 45%/cover no-repeat;border-bottom:1px solid var(--sp-line)}.spa-catalog-hero>div{max-width:620px}.spa-catalog-hero>div>span{color:#d4af37;font-size:11px;letter-spacing:.17em}.spa-catalog-hero h1{font-family:Georgia,serif;font-weight:400;font-size:48px;margin:12px 0}.spa-catalog-hero p{font-size:13px;line-height:1.7;color:#d0c5bb;max-width:520px}.spa-catalog-signatures{display:flex;gap:28px;margin-top:24px;flex-wrap:wrap}.spa-catalog-signatures span{display:flex;align-items:center;gap:8px;color:#d7ab51;font-size:9px}.spa-catalog-signatures svg{width:26px;height:26px}.spa-catalog-promise{max-width:1440px;margin:-1px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--sp-line);background:#050505}.spa-catalog-promise>span{padding:16px 26px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;border-right:1px solid var(--sp-line)}.spa-catalog-promise>span:last-child{border-right:0}.spa-catalog-promise svg{grid-row:1/3;width:30px;height:30px;color:#d4af37}.spa-catalog-promise b{font-size:10px;color:#d7ab51;letter-spacing:.05em}.spa-catalog-promise small{font-size:9px;color:#a99e93;line-height:1.5}
.spa-catalog-shell{max-width:1460px;margin:24px auto 60px;display:grid;grid-template-columns:265px minmax(0,1fr);gap:24px;padding:0 24px}.spa-filter-panel{border-right:1px solid rgba(212,175,55,.18);padding-right:20px}.spa-filter-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(212,175,55,.18);padding-bottom:12px}.spa-filter-head h3{font-family:Georgia,serif;font-size:16px;font-weight:400;margin:0}.spa-filter-head a{font-size:9px;color:#a99e93;text-decoration:none}.spa-filter-close{display:none}.spa-filter-group{border-bottom:1px solid rgba(212,175,55,.14);padding:15px 0}.spa-filter-group h4{display:flex;justify-content:space-between;margin:0 0 12px;font-size:10px;letter-spacing:.07em;font-weight:400}.spa-filter-options{display:grid;gap:8px}.spa-filter-options label{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;color:#b9aea3;font-size:10px;cursor:pointer}.spa-filter-options input{position:absolute;opacity:0}.spa-filter-options i{width:14px;height:14px;border:1px solid #5f5851;display:block}.spa-filter-options input:checked+i{border-color:#d4af37;background:linear-gradient(135deg,transparent 42%,#d4af37 42%,#d4af37 58%,transparent 58%)}.spa-filter-options small{color:#81776e}.spa-filter-options.is-swatches{display:flex;flex-wrap:wrap;gap:10px}.spa-filter-options.is-swatches label{display:block}.spa-filter-options.is-swatches label span,.spa-filter-options.is-swatches label small{display:none}.spa-filter-options.is-swatches i{width:27px;height:27px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px #050505}.spa-filter-options.is-swatches input:checked+i{outline:1px solid #d4af37;outline-offset:2px}.spa-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spa-price-fields label{font-size:8px;color:#91867d}.spa-price-fields input{width:100%;height:37px;margin-top:5px;background:#080706;border:1px solid rgba(212,175,55,.18);color:#fff;padding:0 9px}.spa-filter-submit{width:100%;height:44px;margin-top:18px;border:1px solid #d4af37;background:transparent;color:#d7ab51;font-size:9px;letter-spacing:.08em;cursor:pointer}.spa-filter-mobile-toggle{display:none}
.spa-products-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.spa-products-head>div{display:flex;align-items:baseline;gap:14px}.spa-products-head h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0}.spa-products-head span{font-size:10px;color:#8e847a}.spa-products-head .woocommerce-ordering{margin:0!important}.spa-products-head select{background:#080706!important;border:1px solid rgba(212,175,55,.2)!important;color:#fff!important;height:40px!important;padding:0 34px 0 12px!important;font-size:10px!important}.spa-product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin:0!important;padding:0!important}
.spa-product-card-v3{width:auto!important;margin:0!important;float:none!important;list-style:none!important;position:relative!important;background:#050403!important;border:1px solid rgba(212,175,55,.48)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 18px 50px rgba(0,0,0,.22)!important;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.spa-product-card-v3:hover{transform:translateY(-4px)!important;border-color:rgba(224,184,93,.82)!important;box-shadow:0 24px 70px rgba(0,0,0,.38)!important}
.spa-card-v3-media{position:relative!important;aspect-ratio:3/4!important;overflow:hidden!important;background:#090706!important}
.spa-card-v3-image-link{position:absolute!important;inset:0!important;display:block!important}
.spa-card-v3-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;margin:0!important;transform:scale(1.001)!important;transition:opacity .42s ease,transform .7s cubic-bezier(.2,.7,.2,1)!important}
.spa-card-v3-hover-img{opacity:0!important}
.spa-product-card-v3:hover .spa-card-v3-main-img{transform:scale(1.035)!important}
.spa-product-card-v3:hover .spa-card-v3-hover-img{opacity:1!important;transform:scale(1.035)!important}
.spa-card-v3-heart{position:absolute!important;right:14px!important;top:14px!important;z-index:5!important;width:38px!important;height:38px!important;border:1px solid rgba(232,190,101,.46)!important;border-radius:50%!important;background:rgba(2,2,2,.46)!important;backdrop-filter:blur(7px)!important;color:#e6bd61!important;display:grid!important;place-items:center!important}
.spa-card-v3-heart svg{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important}
.spa-product-badge{position:absolute!important;left:14px!important;top:14px!important;z-index:4!important;border:1px solid rgba(212,175,55,.74)!important;background:rgba(3,3,3,.74)!important;color:#e5bb60!important;padding:6px 9px!important;font-size:8px!important;line-height:1!important;letter-spacing:.07em!important}
.spa-card-v3-panel{position:relative!important;padding:17px 18px 14px!important;background:linear-gradient(135deg,#060504 0%,#0b0805 64%,#1c1108 100%)!important;border-top:1px solid rgba(212,175,55,.22)!important}
.spa-card-v3-copy{display:block!important;text-decoration:none!important;margin:0 0 15px!important}
.spa-card-v3-copy h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:21px!important;line-height:1.15!important;letter-spacing:0!important;text-transform:none!important;color:#efe5d9!important;margin:0 0 6px!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.spa-product-card-v3 .spa-product-price,.spa-product-card-v3 .spa-product-price .price,.spa-product-card-v3 .spa-product-price .amount{font-family:Georgia,'Times New Roman',serif!important;color:#ddb159!important;font-size:18px!important;font-weight:400!important}
.spa-card-v3-cta{height:46px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 16px!important;box-sizing:border-box!important;text-decoration:none!important;background:linear-gradient(90deg,#cfa24d,#e4bd69)!important;color:#050403!important;border:1px solid #e2bb68!important;font-size:9px!important;font-weight:600!important;letter-spacing:.12em!important;transition:filter .2s ease,transform .2s ease!important}
.spa-card-v3-cta:hover{filter:brightness(1.08)!important}.spa-card-v3-cta svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.spa-card-v3-actions{display:grid!important;grid-template-columns:1fr 1fr!important;margin-top:12px!important;border-top:1px solid rgba(212,175,55,.14)!important;padding-top:11px!important}
.spa-product-card-v3 .spa-card-v3-qv,.spa-product-card-v3 .spa-card-v3-wish-action{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;width:100%!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0 8px!important;border:0!important;background:transparent!important;color:#b9924f!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:7px!important;line-height:1!important;letter-spacing:.08em!important;cursor:pointer!important;transition:color .18s ease!important}
.spa-product-card-v3 .spa-card-v3-qv{border-right:1px solid rgba(212,175,55,.18)!important}
.spa-product-card-v3 .spa-card-v3-qv:hover,.spa-product-card-v3 .spa-card-v3-wish-action:hover{color:#e8c16e!important}
.spa-product-card-v3 .spa-card-v3-qv svg,.spa-product-card-v3 .spa-card-v3-wish-action svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;flex:0 0 16px!important}
.spa-product-card-v3 .spa-card-v3-wish-action.is-active{color:#e8c16e!important}.spa-product-card-v3 .spa-card-v3-wish-action.is-active svg{fill:currentColor!important}
.spa-pagination{margin-top:28px;text-align:center}.spa-pagination ul{border:0!important}.spa-pagination a,.spa-pagination span{background:#080706!important;border:1px solid rgba(212,175,55,.16)!important;color:#fff!important}.spa-pagination .current{color:#d4af37!important}.spa-products-area.is-loading{opacity:.45;pointer-events:none}.spa-catalog-reassurance{max-width:1440px;margin:0 auto 40px;border:1px solid var(--sp-line);display:grid;grid-template-columns:repeat(4,1fr)}.spa-catalog-reassurance>span{padding:16px 20px;display:flex;align-items:center;gap:10px;border-right:1px solid var(--sp-line)}.spa-catalog-reassurance>span:last-child{border-right:0}.spa-catalog-reassurance svg{width:26px;height:26px;color:#d4af37}.spa-catalog-reassurance b{font-size:9px;font-weight:400}.spa-catalog-reassurance small{display:block;color:#8f857b;font-size:8px;margin-top:3px}
@media(max-width:1050px){.spa-product-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:800px){.spa-catalog-hero{min-height:330px;padding:40px 24px;background-position:63% 45%}.spa-catalog-hero h1{font-size:39px}.spa-catalog-promise{grid-template-columns:1fr}.spa-catalog-promise>span{border-right:0;border-bottom:1px solid var(--sp-line)}.spa-catalog-shell{grid-template-columns:1fr;padding:0 14px}.spa-filter-mobile-toggle{display:flex;justify-content:space-between;width:100%;height:46px;align-items:center;padding:0 14px;border:1px solid rgba(212,175,55,.2);background:#080706;color:#fff}.spa-filter-panel{position:fixed;left:0;top:0;bottom:0;width:min(360px,90vw);z-index:999960;background:#050505;padding:25px 22px;overflow:auto;transform:translateX(-102%);transition:.28s;border-right:1px solid var(--sp-line)}.spa-filter-panel.is-open{transform:none}.spa-filter-close{display:block;border:0;background:transparent;color:#fff;font-size:25px}.spa-products-head{margin-top:12px}.spa-product-grid{grid-template-columns:repeat(2,1fr)!important}.spa-catalog-reassurance{grid-template-columns:1fr 1fr;margin:0 14px 30px}}
@media(max-width:480px){.spa-product-grid{gap:9px!important}.spa-product-copy{padding:10px}.spa-product-copy h2{font-size:9px!important}.spa-catalog-reassurance{grid-template-columns:1fr}.spa-products-head h2{font-size:23px}.spa-products-head>div{display:block}.spa-products-head span{display:block;margin-top:5px}}

@media(max-width:800px){
 .spa-product-card-v3{border-radius:15px!important}
 .spa-card-v3-panel{padding:12px 11px 10px!important}
 .spa-card-v3-copy{margin-bottom:10px!important}
 .spa-card-v3-copy h2{font-size:15px!important;margin-bottom:4px!important}
 .spa-product-card-v3 .spa-product-price,.spa-product-card-v3 .spa-product-price .price,.spa-product-card-v3 .spa-product-price .amount{font-size:14px!important}
 .spa-card-v3-cta{height:39px!important;padding:0 11px!important;font-size:7px!important;letter-spacing:.09em!important}
 .spa-card-v3-cta svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important}
 .spa-card-v3-actions{margin-top:8px!important;padding-top:8px!important}
 .spa-product-card-v3 .spa-card-v3-qv,.spa-product-card-v3 .spa-card-v3-wish-action{font-size:0!important;padding:0!important;height:27px!important;min-height:27px!important}
 .spa-product-card-v3 .spa-card-v3-qv svg,.spa-product-card-v3 .spa-card-v3-wish-action svg{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}
 .spa-card-v3-heart{width:32px!important;height:32px!important;right:9px!important;top:9px!important}.spa-card-v3-heart svg{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}
 .spa-product-badge{left:8px!important;top:8px!important;padding:5px 6px!important;font-size:6px!important}
 .spa-product-card-v3:hover{transform:none!important}
 .spa-product-card-v3:hover .spa-card-v3-hover-img{opacity:0!important}
 .spa-product-card-v3:hover .spa-card-v3-main-img{transform:scale(1.001)!important}
}
@media(max-width:480px){
 .spa-product-grid{gap:10px!important}
 .spa-card-v3-copy h2{font-size:14px!important}
 .spa-card-v3-cta{height:37px!important;font-size:6.5px!important;padding:0 9px!important}
}


/* v4.1.6 — Card 03 loop consistency + intelligent centering. */
.woocommerce ul.products.spa-product-grid,
ul.products.spa-product-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(235px,280px))!important;
  justify-content:center!important;
  align-items:start!important;
  gap:22px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
}
.woocommerce ul.products.spa-product-grid::before,
.woocommerce ul.products.spa-product-grid::after{display:none!important;content:none!important}
.woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3{
  width:100%!important;
  max-width:280px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  justify-self:center!important;
}
.woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3 .spa-card-v3-media img{
  width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  object-fit:cover!important;object-position:center!important;
}
.v23-new .woocommerce ul.products.spa-product-grid,
.v23-new ul.products.spa-product-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,310px))!important;
  gap:24px!important;
}
.v23-new .woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3,
.v23-new ul.products.spa-product-grid>li.product.spa-product-card-v3{max-width:310px!important}
.spa-products-area{min-width:0!important;width:100%!important}
.spa-products-area .spa-product-grid{margin-left:auto!important;margin-right:auto!important}
@media(max-width:800px){
 .woocommerce ul.products.spa-product-grid,ul.products.spa-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 .woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3{max-width:none!important}
 .v23-new .woocommerce ul.products.spa-product-grid,.v23-new ul.products.spa-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 .v23-new .woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3,.v23-new ul.products.spa-product-grid>li.product.spa-product-card-v3{max-width:none!important}
}
@media(max-width:390px){
 .woocommerce ul.products.spa-product-grid,ul.products.spa-product-grid{gap:8px!important}
}

/* 4.2.3 editorial catalog */
.spa-catalog-signatures svg,.spa-catalog-promise svg,.spa-catalog-reassurance svg,.spa-filter-panel svg{display:none!important}
.spa-catalog-promise span i,.spa-catalog-reassurance span i{display:block;font-family:Georgia,serif;font-style:normal;color:#8d6a31;font-size:9px;letter-spacing:.12em;margin-bottom:7px}
.spa-filter-close{width:auto!important;height:auto!important;border:0!important;background:transparent!important;color:#9c8c79!important;font-size:8px!important;letter-spacing:.1em!important;padding:8px!important}
.spa-filter-mobile-toggle{letter-spacing:.11em}

/* 4.2.3 final text-control visibility */
.spa-card-v3-heart{width:auto!important;height:auto!important;min-width:0!important;border-radius:0!important;padding:8px 10px!important;background:rgba(3,3,3,.72)!important;color:#d6ad5b!important;font-size:7px!important;letter-spacing:.08em!important;line-height:1!important}
.spa-card-v3-heart span{display:block!important;font-size:7px!important;letter-spacing:.08em!important}
.spa-product-card-v3 .spa-card-v3-qv,.spa-product-card-v3 .spa-card-v3-wish-action{font-size:7px!important;letter-spacing:.07em!important}
.sp-wish-btn.is-active{color:#e3bd69!important;border-color:rgba(227,189,105,.78)!important}


/* 4.2.4 — exception fonctionnelle : le cœur wishlist reste */
.sp-wish-btn .sp-heart-svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.45!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sp-wish-btn.is-active .sp-heart-svg{fill:currentColor!important}
.sp-wish-btn .sp-wish-label{font-size:8px;letter-spacing:.08em}
.spa-card-v3-heart{
  width:38px!important;height:38px!important;min-width:38px!important;
  padding:0!important;border-radius:50%!important;
  background:rgba(2,2,2,.48)!important;
}
.spa-card-v3-heart .screen-reader-text{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.spa-card-v3-wish-action{gap:7px!important}
.spa-product-wish-button .sp-wish-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
@media(max-width:640px){
  .spa-card-v3-heart{width:34px!important;height:34px!important;min-width:34px!important;right:9px!important;top:9px!important}
  .spa-card-v3-heart .sp-heart-svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
}


/* 4.2.5 — wishlist heart refined: thin, editorial, no circle */
.sp-wish-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:#d4af37!important;background:transparent!important;box-shadow:none!important}
.sp-wish-btn .sp-heart-svg{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.28!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex:0 0 auto}
.sp-wish-btn.is-active .sp-heart-svg{fill:currentColor!important;stroke:currentColor!important}
.sp-wish-btn .sp-wish-label{font-size:8px;letter-spacing:.10em}
.spa-card-v3-heart{position:absolute!important;top:12px!important;right:12px!important;width:auto!important;height:auto!important;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;line-height:1!important;color:#d8b15a!important}
.spa-card-v3-heart:hover,.spa-card-v3-heart:focus{transform:none!important;background:transparent!important;border-color:transparent!important}
.spa-card-v3-heart .sp-heart-svg{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important}
.spa-card-v3-heart .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.spa-card-v3-wish-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.spa-card-v3-wish-action .sp-heart-svg{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}
.spa-product-wish-button .sp-wish-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:42px!important;padding:0 14px!important;border:1px solid rgba(212,175,55,.42)!important;background:transparent!important}
.spa-product-wish-button .sp-heart-svg{width:18px!important;height:18px!important}
@media(max-width:640px){
  .spa-card-v3-heart{top:10px!important;right:10px!important}
  .spa-card-v3-heart .sp-heart-svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
}

/* 4.10.2 — Product-card framing: preserve the complete 2:3 campaign image. */
.spa-card-v3-media{
  aspect-ratio:2/3!important;
  background:#030303!important;
}
.spa-card-v3-image-link{
  background:#030303!important;
}
.spa-card-v3-media img,
.woocommerce ul.products.spa-product-grid>li.product.spa-product-card-v3 .spa-card-v3-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.spa-product-card-v3:hover .spa-card-v3-main-img,
.spa-product-card-v3:hover .spa-card-v3-hover-img{
  transform:none!important;
}


/* 4.2.9 — catalogue mobile: un seul toolbar Spiralée, aucun select natif */
.spa-mobile-catalog-tools,.spa-sort-mobile-menu{display:none}
@media(max-width:800px){
  .spa-catalog-shell{position:relative}
  .spa-mobile-catalog-tools{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    border:1px solid rgba(212,175,55,.24);background:#050403;margin-bottom:24px;
  }
  .spa-filter-mobile-toggle,.spa-sort-mobile-toggle{
    display:flex!important;min-width:0!important;height:64px!important;padding:11px 14px!important;
    flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:5px!important;
    border:0!important;background:transparent!important;color:#eee7df!important;text-align:left!important;
  }
  .spa-filter-mobile-toggle{border-right:1px solid rgba(212,175,55,.18)!important}
  .spa-filter-mobile-toggle span,.spa-sort-mobile-toggle span{
    font-family:Georgia,serif;font-size:14px;letter-spacing:.08em;color:#d5ad5c;
  }
  .spa-filter-mobile-toggle small,.spa-sort-mobile-toggle small{
    width:100%;font-size:7px;letter-spacing:.08em;color:#847b72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .spa-products-head .spa-ordering-desktop{display:none!important}
  .spa-products-head{align-items:flex-end!important;margin-top:0!important;margin-bottom:16px!important}
  .spa-products-head>div:first-child{display:block!important}

  .spa-sort-mobile-menu{
    position:fixed;left:0;right:0;bottom:0;z-index:999970;display:block;
    background:#050403;border-top:1px solid rgba(212,175,55,.35);
    padding:20px 20px max(24px,env(safe-area-inset-bottom));
    transform:translateY(105%);transition:transform .26s ease;box-shadow:0 -24px 70px rgba(0,0,0,.62);
  }
  .spa-sort-mobile-menu.is-open{transform:none}
  .spa-sort-mobile-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(212,175,55,.16)}
  .spa-sort-mobile-head>span{font-family:Georgia,serif;color:#e5d8c7;font-size:16px;letter-spacing:.07em}
  .spa-sort-mobile-close{border:0;background:transparent;color:#8e847a;font-size:8px;letter-spacing:.1em;padding:8px 0}
  .spa-sort-option{
    display:block;width:100%;min-height:48px;padding:0;border:0;border-bottom:1px solid rgba(212,175,55,.1);
    background:transparent;color:#b9afa6;text-align:left;font-family:Georgia,serif;font-size:14px;
  }
  .spa-sort-option.is-active{color:#d7ac56}
}


/* v4.5.7 — Spiralée colour filter: round luxury swatches */
.spa-filter-options.is-swatches{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:15px 8px!important;
  align-items:start!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option{
  display:flex!important;
  min-width:0!important;
  grid-template-columns:none!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  cursor:pointer!important;
  text-align:center!important;
  color:#9f958b!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option i{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:50%!important;
  border:1px solid rgba(212,175,55,.58)!important;
  background:var(--swatch-bg,#b5904d)!important;
  box-shadow:inset 0 0 0 2px #050505,0 0 0 1px rgba(212,175,55,.05)!important;
  outline:0!important;
  outline-offset:0!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option:hover i{
  transform:translateY(-1px) scale(1.04)!important;
  border-color:rgba(229,188,93,.9)!important;
  box-shadow:inset 0 0 0 2px #050505,0 0 0 2px rgba(212,175,55,.18)!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option i::after{
  content:'✓'!important;
  position:absolute!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%) scale(.7)!important;
  display:grid!important;
  place-items:center!important;
  width:19px!important;
  height:19px!important;
  border-radius:50%!important;
  background:rgba(3,3,3,.74)!important;
  color:#e8c56c!important;
  font:700 12px/1 Arial,sans-serif!important;
  opacity:0!important;
  transition:opacity .16s ease,transform .16s ease!important;
  box-shadow:0 1px 6px rgba(0,0,0,.32)!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option input:checked+i{
  border-color:#e2b657!important;
  outline:2px solid rgba(212,175,55,.84)!important;
  outline-offset:2px!important;
  box-shadow:inset 0 0 0 2px #050505,0 0 14px rgba(212,175,55,.18)!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option input:checked+i::after{
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  color:#9f958b!important;
  font-size:7.5px!important;
  line-height:1.18!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option input:checked~span{
  color:#d9b25d!important;
}
.spa-filter-options.is-swatches .spa-color-filter-option small{display:none!important}
.spa-filter-options.is-swatches .spa-color-filter-option:focus-within i{
  outline:2px solid #e2b657!important;
  outline-offset:3px!important;
}
@media(max-width:800px){
  .spa-filter-options.is-swatches{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:17px 10px!important}
  .spa-filter-options.is-swatches .spa-color-filter-option i{width:42px!important;height:42px!important;flex-basis:42px!important}
  .spa-filter-options.is-swatches .spa-color-filter-option span{font-size:8px!important}
}

/* =========================================================
 * v4.5.9 — Spiralée contextual couture filters
 * Taille + Longueur use compact luxury chips. Dress/jewelry groups are
 * context-aware and hidden without leaving query inputs active.
 * ========================================================= */
.spa-filter-context-group[hidden]{display:none!important}
.spa-filter-options.is-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  width:auto!important;
  cursor:pointer!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option i,
.spa-filter-options.is-chips .spa-chip-filter-option small{
  display:none!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:37px!important;
  min-height:29px!important;
  padding:5px 10px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(212,175,55,.22)!important;
  background:#070605!important;
  color:#a99e93!important;
  font-size:8px!important;
  line-height:1.15!important;
  letter-spacing:.045em!important;
  text-align:center!important;
  transition:border-color .17s ease,color .17s ease,background .17s ease,transform .17s ease!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option:hover span{
  border-color:rgba(212,175,55,.56)!important;
  color:#d8c6ad!important;
  transform:translateY(-1px)!important;
}
.spa-filter-options.is-chips .spa-chip-filter-option input:checked~span{
  border-color:#d4af37!important;
  background:linear-gradient(180deg,rgba(212,175,55,.11),rgba(212,175,55,.035))!important;
  color:#e2b657!important;
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.06)!important;
}
.spa-filter-context-group[data-sp-context="dress"] h4,
.spa-filter-context-group[data-sp-context="jewelry"] h4{
  position:relative!important;
}
.spa-filter-context-group[data-sp-context="dress"] h4::after,
.spa-filter-context-group[data-sp-context="jewelry"] h4::after{
  font-family:Arial,sans-serif!important;
  font-size:6px!important;
  font-weight:400!important;
  letter-spacing:.14em!important;
  color:#645d56!important;
}
.spa-filter-context-group[data-sp-context="dress"] h4::after{content:'ROBE'}
.spa-filter-context-group[data-sp-context="jewelry"] h4::after{content:'BIJOU'}

@media(max-width:800px){
  .spa-filter-options.is-chips{gap:8px!important}
  .spa-filter-options.is-chips .spa-chip-filter-option span{
    min-width:42px!important;
    min-height:34px!important;
    padding:6px 11px!important;
    font-size:8.5px!important;
  }
}

/* =========================================================
 * v4.5.10 — Couture filter polish
 * Natural size order is handled in PHP. The UI removes internal context
 * badges, breathes a little more, and keeps the apply CTA permanently
 * reachable inside the mobile filter drawer.
 * ========================================================= */
.spa-filter-context-group[data-sp-context] h4::after{
  content:none!important;
  display:none!important;
}
.spa-filter-context-group[data-sp-context]{
  padding-top:17px!important;
  padding-bottom:17px!important;
}
.spa-filter-context-group[data-sp-context] .spa-filter-options:not(.is-chips):not(.is-swatches){
  gap:10px!important;
}
.spa-filter-context-group[data-sp-context] .spa-filter-options:not(.is-chips):not(.is-swatches) label{
  min-height:21px!important;
  line-height:1.35!important;
}
.spa-filter-context-group[data-sp-context] .spa-filter-options.is-chips{
  gap:8px!important;
}

@media(max-width:800px){
  .spa-filter-panel{
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding-bottom:0!important;
  }
  .spa-filter-panel .spa-filter-head{
    flex:0 0 auto!important;
  }
  .spa-filter-panel .spa-filter-form{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-right:2px!important;
    padding-bottom:94px!important;
  }
  .spa-filter-panel .spa-filter-submit{
    position:absolute!important;
    left:22px!important;
    right:22px!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    z-index:8!important;
    width:auto!important;
    height:48px!important;
    margin:0!important;
    background:#050505!important;
    border-color:#d4af37!important;
    color:#dfb657!important;
    box-shadow:0 -16px 26px 12px rgba(5,5,5,.96)!important;
  }
}

/* =========================================================
   4.10.3 — CARD POLISH
   Keep catalogue and collection cards aligned across two title lines.
   ========================================================= */
.spa-product-card-v3 .spa-card-v3-copy h2{
  display:-webkit-box!important;
  min-height:2.3em!important;
  max-height:2.3em!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

@media(max-width:640px){
  .spa-product-card-v3 .spa-card-price-old{
    font-size:11px!important;
  }
  .spa-product-card-v3 .spa-card-price-saving{
    font-size:7.5px!important;
    letter-spacing:.06em!important;
  }
  .spa-product-card-v3 .spa-card-price-meta{
    gap:6px!important;
  }
}


/* =========================================================
   4.11.5 — WISHLIST HEART HARD RESET
   Heart only: no tab, pill, pseudo-element or inherited button skin.
   ========================================================= */
.spa-new-page .spa-new-heart,
.spa-product-card-v3 .spa-card-v3-heart{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:absolute!important;
  width:22px!important;
  height:22px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:22px!important;
  max-height:22px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#d8b15a!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.spa-new-page .spa-new-heart::before,
.spa-new-page .spa-new-heart::after,
.spa-product-card-v3 .spa-card-v3-heart::before,
.spa-product-card-v3 .spa-card-v3-heart::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}
.spa-new-page .spa-new-heart:hover,
.spa-new-page .spa-new-heart:focus,
.spa-new-page .spa-new-heart:active,
.spa-product-card-v3 .spa-card-v3-heart:hover,
.spa-product-card-v3 .spa-card-v3-heart:focus,
.spa-product-card-v3 .spa-card-v3-heart:active{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.spa-new-page .spa-new-heart .sp-heart-svg,
.spa-product-card-v3 .spa-card-v3-heart .sp-heart-svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.25!important;
}
.spa-new-page .spa-new-heart.is-active .sp-heart-svg,
.spa-product-card-v3 .spa-card-v3-heart.is-active .sp-heart-svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}
