/* Align Editions — collection-aware Shop landing pages */
.shop-page{overflow:hidden}.shop-catalogue-section{padding-top:42px}.shop-main-hero{border-bottom:1px solid var(--line)}
.collection-landing-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);min-height:540px;background:var(--cream);border-bottom:1px solid var(--line)}
.collection-landing-copy{padding:66px clamp(30px,6vw,90px) 62px;display:flex;flex-direction:column;justify-content:center;min-width:0}.collection-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:38px;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.collection-breadcrumb a{color:var(--green)}.collection-breadcrumb span{color:var(--gold)}.collection-breadcrumb strong{font-weight:800;color:var(--gold)}
.collection-landing-kicker{font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin-bottom:13px}.collection-landing-copy h1{max-width:770px;margin:0;font-family:var(--serif);font-size:clamp(64px,7.2vw,108px);font-weight:400;line-height:.84;letter-spacing:-.055em;color:var(--green)}.collection-landing-description{max-width:680px;margin:27px 0 0;font-family:var(--serif);font-size:clamp(22px,2vw,31px);line-height:1.25;color:#57645f}.collection-landing-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:31px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.collection-landing-meta i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.collection-landing-meta a{color:var(--green);border-bottom:1px solid rgba(194,157,94,.7);padding-bottom:2px}
.collection-landing-visual{position:relative;min-height:540px;display:grid;place-items:center;background:linear-gradient(145deg,#ede4d6,#f8f3ea 58%,#e7ddcc);overflow:hidden}.collection-landing-visual::before,.collection-landing-visual::after{content:"";position:absolute;border:1px solid rgba(194,157,94,.2);border-radius:50%}.collection-landing-visual::before{width:470px;height:470px;right:-160px;top:-160px}.collection-landing-visual::after{width:260px;height:260px;left:-95px;bottom:-95px}.collection-landing-index{position:absolute;left:34px;top:25px;font-family:var(--serif);font-size:76px;line-height:1;color:rgba(18,61,48,.08)}.collection-landing-frame{position:relative;z-index:2;width:min(47%,320px);aspect-ratio:.72;background:#d5c2a5;padding:9px;box-shadow:0 28px 64px rgba(8,42,33,.18);transform:rotate(2deg);transition:transform .55s cubic-bezier(.22,.8,.24,1),box-shadow .55s ease}.collection-landing-mount{width:100%;height:100%;padding:9%;background:#f7f3eb}.collection-landing-mount img{width:100%;height:100%;object-fit:cover;display:block}.collection-landing-visual:hover .collection-landing-frame{transform:rotate(0deg) translateY(-7px) scale(1.025);box-shadow:0 38px 78px rgba(8,42,33,.23)}.collection-landing-caption{position:absolute;right:30px;bottom:25px;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#857a6b}
.collection-filter-row{display:flex;align-items:flex-start;gap:26px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.collection-filter-label{flex:0 0 auto;padding-top:10px;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.collection-filter-rail{margin:0;flex:1}.collection-filter-rail .filter{background:transparent}.collection-filter-rail .filter.active{background:var(--green)}
.shop-results-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 0 20px}.shop-results-heading>div{display:flex;align-items:baseline;gap:12px}.shop-results-heading span{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.shop-results-heading strong{font-family:var(--serif);font-size:27px;font-weight:400;color:var(--green)}.shop-results-heading small{font-size:10px;letter-spacing:.04em;color:var(--muted)}
.collection-aftershop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end;margin-top:76px;padding:48px 0 8px;border-top:1px solid var(--line)}.collection-aftershop-copy>span{display:block;margin-bottom:9px;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.collection-aftershop h2{margin:0;font-family:var(--serif);font-size:clamp(42px,4vw,64px);font-weight:400;line-height:.92;letter-spacing:-.035em;color:var(--green)}.collection-aftershop p{max-width:650px;margin:18px 0 0;color:var(--muted);line-height:1.7}.collection-aftershop-actions{display:flex;flex-direction:column;align-items:flex-end;gap:15px}.collection-aftershop-link{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:3px}
.collection-wedding-crosssell{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:42px;padding:25px 28px;background:var(--deep);color:#fff;border:1px solid rgba(194,157,94,.38)}.collection-wedding-crosssell small{display:block;margin-bottom:5px;font-size:8px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.collection-wedding-crosssell strong{font-family:var(--serif);font-size:25px;font-weight:400}.collection-wedding-crosssell>b{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#fff}.shop-page.is-loading{opacity:.48;pointer-events:none}.shop-page{transition:opacity .18s ease}.shop-page.is-entering .collection-landing-copy,.shop-page.is-entering .collection-landing-visual,.shop-page.is-entering .shop-results{animation:collectionLandingIn .46s cubic-bezier(.22,.8,.24,1) both}.shop-page.is-entering .collection-landing-visual{animation-delay:.035s}.shop-page.is-entering .shop-results{animation-delay:.07s}@keyframes collectionLandingIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.collection-landing-hero{grid-template-columns:1.08fr .92fr;min-height:500px}.collection-landing-copy{padding-left:38px;padding-right:38px}.collection-landing-visual{min-height:500px}.collection-landing-frame{width:min(58%,285px)}.collection-aftershop{grid-template-columns:1fr;gap:28px}.collection-aftershop-actions{align-items:flex-start}.collection-wedding-crosssell{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:760px){.shop-catalogue-section{padding-top:30px}.collection-landing-hero{grid-template-columns:1fr;min-height:0}.collection-landing-copy{padding:48px 20px 42px}.collection-breadcrumb{margin-bottom:27px}.collection-landing-copy h1{font-size:clamp(58px,16vw,86px)}.collection-landing-description{font-size:23px;margin-top:21px}.collection-landing-meta{margin-top:25px}.collection-landing-visual{min-height:390px}.collection-landing-frame{width:min(48%,245px)}.collection-landing-index{font-size:60px;left:20px;top:20px}.collection-landing-caption{right:20px;bottom:18px}.collection-filter-row{display:block;margin-bottom:24px}.collection-filter-label{display:block;padding:0;margin-bottom:11px}.collection-filter-rail{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;margin-right:-20px;scrollbar-width:none}.collection-filter-rail::-webkit-scrollbar{display:none}.collection-filter-rail .filter{flex:0 0 auto}.shop-results-heading{align-items:flex-start;flex-direction:column;gap:4px}.shop-results-heading>div{display:block}.shop-results-heading strong{display:block;margin-top:3px}.collection-aftershop{margin-top:58px;padding-top:38px}.collection-wedding-crosssell{margin-top:34px;padding:23px 20px}.collection-wedding-crosssell strong{font-size:22px}}
@media(max-width:480px){.collection-landing-visual{min-height:340px}.collection-landing-frame{width:min(54%,220px)}.collection-landing-meta i{display:none}.collection-landing-meta{gap:8px 14px}.collection-aftershop h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){.collection-landing-frame,.shop-page{transition:none}.shop-page.is-entering .collection-landing-copy,.shop-page.is-entering .collection-landing-visual,.shop-page.is-entering .shop-results{animation:none}}

/* General Shop hero — featured product gallery */
.shop-main-hero{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);
  gap:clamp(42px,5vw,88px);
  align-items:center;
  min-height:500px;
  padding-top:58px;
  padding-bottom:52px;
}
.shop-main-hero:after{
  width:390px;
  height:390px;
  right:-90px;
  top:-185px;
  z-index:0;
}
.shop-main-hero-copy{
  position:relative;
  z-index:3;
  align-self:center;
}
.shop-main-hero-copy h1{
  font-size:clamp(60px,6.4vw,96px);
}
.shop-featured-showcase{
  position:relative;
  z-index:2;
  min-width:0;
  align-self:stretch;
  display:grid;
  grid-template-rows:minmax(360px,1fr) auto;
  padding:6px 0 0;
}
.shop-featured-stage{
  position:relative;
  min-height:370px;
  isolation:isolate;
}
.shop-featured-orbit{
  position:absolute;
  z-index:-1;
  width:360px;
  height:360px;
  right:2%;
  top:2%;
  border:1px solid rgba(194,157,94,.22);
  border-radius:50%;
  pointer-events:none;
}
.shop-featured-index{
  position:absolute;
  z-index:0;
  right:2px;
  bottom:20px;
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.12em;
  color:rgba(194,157,94,.72);
}
.shop-featured-card{
  position:absolute;
  display:block;
  width:min(36%,245px);
  aspect-ratio:.72;
  outline:none;
  transform-origin:50% 90%;
  transition:
    left .5s cubic-bezier(.22,.8,.24,1),
    right .5s cubic-bezier(.22,.8,.24,1),
    top .5s cubic-bezier(.22,.8,.24,1),
    transform .5s cubic-bezier(.22,.8,.24,1),
    opacity .35s ease,
    filter .35s ease;
}
.shop-featured-card-1{
  left:6%;
  top:48px;
  z-index:2;
  transform:rotate(-5deg);
}
.shop-featured-card-2{
  left:34%;
  top:13px;
  z-index:3;
  transform:rotate(1.7deg);
}
.shop-featured-card-3{
  right:5%;
  top:55px;
  z-index:1;
  transform:rotate(5deg);
}
.shop-featured-frame{
  display:block;
  width:100%;
  height:100%;
  padding:9px;
  background:#e5d8c5;
  border:1px solid rgba(183,158,118,.72);
  box-shadow:0 23px 48px rgba(8,42,33,.16);
  transition:box-shadow .4s ease,background .4s ease;
}
.shop-featured-mount{
  display:block;
  width:100%;
  height:100%;
  padding:9px;
  background:#faf6ef;
  border:1px solid #ddd2c1;
  overflow:hidden;
}
.shop-featured-mount img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.22,.8,.24,1);
}
.shop-featured-card:hover .shop-featured-frame,
.shop-featured-card:focus-visible .shop-featured-frame,
.shop-featured-card.is-active .shop-featured-frame{
  box-shadow:0 35px 72px rgba(8,42,33,.24);
}
.shop-featured-card:hover img,
.shop-featured-card:focus-visible img,
.shop-featured-card.is-active img{
  transform:scale(1.018);
}

/* Active-card choreography */
.shop-featured-showcase.is-interacting .shop-featured-card:not(.is-active){
  opacity:.62;
  filter:saturate(.72);
}
.shop-featured-showcase.focus-0 .shop-featured-card-1{
  left:17%;
  top:14px;
  z-index:7;
  transform:rotate(-1deg) scale(1.075);
}
.shop-featured-showcase.focus-0 .shop-featured-card-2{
  left:48%;
  top:37px;
  z-index:3;
  transform:translateX(22px) rotate(4deg) scale(.93);
}
.shop-featured-showcase.focus-0 .shop-featured-card-3{
  right:-1%;
  top:67px;
  transform:translateX(24px) rotate(7deg) scale(.89);
}
.shop-featured-showcase.focus-1 .shop-featured-card-1{
  left:-1%;
  top:60px;
  transform:translateX(-14px) rotate(-8deg) scale(.9);
}
.shop-featured-showcase.focus-1 .shop-featured-card-2{
  left:35%;
  top:4px;
  z-index:7;
  transform:rotate(0deg) scale(1.08);
}
.shop-featured-showcase.focus-1 .shop-featured-card-3{
  right:-1%;
  top:58px;
  transform:translateX(14px) rotate(8deg) scale(.9);
}
.shop-featured-showcase.focus-2 .shop-featured-card-1{
  left:-1%;
  top:67px;
  transform:translateX(-24px) rotate(-7deg) scale(.89);
}
.shop-featured-showcase.focus-2 .shop-featured-card-2{
  left:18%;
  top:37px;
  transform:translateX(-22px) rotate(-4deg) scale(.93);
}
.shop-featured-showcase.focus-2 .shop-featured-card-3{
  right:17%;
  top:14px;
  z-index:7;
  transform:rotate(1deg) scale(1.075);
}

.shop-featured-caption{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:end;
  margin-top:4px;
  padding:17px 0 0 20px;
  border-top:1px solid rgba(194,157,94,.46);
}
.shop-featured-caption small{
  display:block;
  margin-bottom:5px;
  color:var(--gold);
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.shop-featured-caption strong{
  display:block;
  max-width:450px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:var(--serif);
  font-size:clamp(24px,2vw,31px);
  font-weight:400;
  line-height:1;
  color:var(--green);
}
.shop-featured-caption>div>span{
  display:flex;
  gap:7px;
  align-items:center;
  margin-top:7px;
  color:var(--muted);
  font-size:10px;
}
.shop-featured-caption>div>span b{
  font-weight:600;
  color:var(--muted);
}
.shop-featured-caption>div>span i{
  color:var(--gold);
  font-style:normal;
}
.shop-featured-view{
  align-self:end;
  padding-bottom:3px;
  border-bottom:1px solid var(--gold);
  color:var(--green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}
.shop-featured-view span{
  margin-left:6px;
  color:var(--gold);
  transition:transform .2s ease;
  display:inline-block;
}
.shop-featured-view:hover span,
.shop-featured-view:focus-visible span{
  transform:translateX(4px);
}

/* One- and two-product graceful layouts */
.shop-featured-stage:has(.shop-featured-card:only-of-type) .shop-featured-card-1{
  left:50%;
  top:10px;
  width:min(41%,270px);
  transform:translateX(-50%) rotate(-1deg);
}
.shop-featured-stage:has(.shop-featured-card:nth-of-type(2):last-of-type) .shop-featured-card-1{
  left:20%;
}
.shop-featured-stage:has(.shop-featured-card:nth-of-type(2):last-of-type) .shop-featured-card-2{
  left:auto;
  right:20%;
}

@media(max-width:1080px){
  .shop-main-hero{
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    gap:34px;
  }
  .shop-featured-card{width:min(38%,215px)}
  .shop-featured-stage{min-height:345px}
  .shop-featured-showcase{grid-template-rows:minmax(335px,1fr) auto}
}

@media(max-width:820px){
  .shop-main-hero{
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
    padding-top:52px;
    padding-bottom:35px;
  }
  .shop-main-hero-copy{
    max-width:690px;
  }
  .shop-main-hero-copy h1{
    font-size:clamp(58px,13vw,84px);
  }
  .shop-featured-showcase{
    width:100%;
    max-width:720px;
    justify-self:center;
    grid-template-rows:minmax(350px,1fr) auto;
  }
  .shop-featured-stage{
    min-height:350px;
  }
  .shop-featured-card{
    width:min(32%,210px);
  }
  .shop-featured-card-1{left:13%}
  .shop-featured-card-2{left:35%}
  .shop-featured-card-3{right:13%}
  .shop-featured-caption{
    padding-left:0;
  }
}

@media(max-width:560px){
  .shop-main-hero{
    padding-left:20px;
    padding-right:20px;
  }
  .shop-main-hero:after{
    width:280px;
    height:280px;
    top:-140px;
  }
  .shop-featured-showcase{
    grid-template-rows:310px auto;
  }
  .shop-featured-stage{
    min-height:310px;
  }
  .shop-featured-card{
    width:min(43%,175px);
  }
  .shop-featured-card-1{left:2%;top:54px}
  .shop-featured-card-2{left:29%;top:14px}
  .shop-featured-card-3{right:2%;top:58px}
  .shop-featured-caption{
    grid-template-columns:1fr;
    gap:13px;
    padding-top:15px;
  }
  .shop-featured-caption strong{
    font-size:25px;
  }
  .shop-featured-view{
    justify-self:start;
  }
}

@media(prefers-reduced-motion:reduce){
  .shop-featured-card,
  .shop-featured-frame,
  .shop-featured-mount img,
  .shop-featured-view span{
    transition:none!important;
  }
}

/* Shop pagination + results-per-page */
.shop-results-heading{
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.shop-results-title{
  display:flex;
  align-items:baseline;
  gap:12px;
}
.shop-results-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  min-width:0;
}
.shop-showing{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.035em;
  white-space:nowrap;
}
.shop-showing strong{
  font-family:inherit;
  font-size:inherit;
  font-weight:700;
  color:var(--green);
}
.shop-per-page{
  display:flex;
  align-items:center;
  gap:2px;
  border:1px solid var(--line);
  background:#fff;
}
.shop-per-page>span{
  padding:8px 9px 8px 11px;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.shop-per-page a{
  min-width:34px;
  padding:8px 7px;
  text-align:center;
  color:var(--green);
  font-size:9px;
  font-weight:800;
  border-left:1px solid var(--line);
  transition:background .18s ease,color .18s ease;
}
.shop-per-page a:hover,
.shop-per-page a:focus-visible{
  background:var(--cream);
}
.shop-per-page a.is-active{
  background:var(--green);
  color:#fff;
}

.shop-pagination{
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:26px;
  margin-top:46px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.shop-pagination-edge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  justify-self:start;
  color:var(--green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:color .18s ease;
}
.shop-pagination-edge:last-child{
  justify-self:end;
}
.shop-pagination-edge span{
  color:var(--gold);
  font-size:15px;
  line-height:1;
  transition:transform .18s ease;
}
a.shop-pagination-edge:hover:first-child span,
a.shop-pagination-edge:focus-visible:first-child span{
  transform:translateX(-3px);
}
a.shop-pagination-edge:hover:last-child span,
a.shop-pagination-edge:focus-visible:last-child span{
  transform:translateX(3px);
}
.shop-pagination-edge.is-disabled{
  opacity:.28;
  cursor:default;
}
.shop-pagination-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.shop-pagination-pages a,
.shop-pagination-ellipsis{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  color:var(--green);
  border:1px solid transparent;
  font-family:var(--serif);
  font-size:16px;
  line-height:1;
}
.shop-pagination-pages a{
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.shop-pagination-pages a:hover,
.shop-pagination-pages a:focus-visible{
  border-color:var(--gold);
}
.shop-pagination-pages a.is-active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.shop-pagination-ellipsis{
  color:var(--gold);
}

@media(max-width:760px){
  .shop-results-heading{
    gap:16px;
  }
  .shop-results-title{
    display:block;
  }
  .shop-results-tools{
    width:100%;
    justify-content:space-between;
    gap:12px;
  }
  .shop-showing{
    white-space:normal;
  }
  .shop-pagination{
    grid-template-columns:1fr 1fr;
    gap:18px 10px;
    margin-top:36px;
  }
  .shop-pagination-pages{
    grid-column:1 / -1;
    grid-row:1;
    flex-wrap:wrap;
  }
  .shop-pagination-edge{
    grid-row:2;
  }
  .shop-pagination-edge:last-child{
    grid-column:2;
  }
}

@media(max-width:430px){
  .shop-results-tools{
    align-items:flex-start;
    flex-direction:column;
  }
  .shop-per-page{
    align-self:stretch;
  }
  .shop-per-page a{
    flex:1;
  }
  .shop-pagination-pages a,
  .shop-pagination-ellipsis{
    width:32px;
    height:32px;
    font-size:15px;
  }
}

