/* Wild Shore Design — reusable product category shell */
.category-page{
  background:#fff;color:var(--ink);overflow-x:hidden;
}
.category-page::after{z-index:200;opacity:.032}
.category-page .nav{transform:translateY(0)}
.category-page .nav.is-hidden{transform:translateY(-105%)}
.category-page .nav__dropdown a[aria-current="page"]{color:var(--ink);background:rgba(37,37,37,.07)}
@media(min-width:821px){
  .category-page .nav--category:not(.is-scrolled) .nav__logo,
  .category-page .nav--category:not(.is-scrolled) .nav__logo-img{height:54px}
  .category-page .nav--category.is-scrolled .nav__logo,
  .category-page .nav--category.is-scrolled .nav__logo-img{height:40px}
}

.category-hero{
  position:relative;min-height:clamp(620px,76vh,780px);overflow:hidden;background:#101a22;color:var(--paper);
}
.category-hero__media,.category-hero__media img,.category-hero__shade{position:absolute;inset:0;width:100%;height:100%}
.category-hero__media img{object-fit:cover;object-position:center center;transform:scale(1.012);animation:categoryHeroSettle 2.2s var(--ease) both}
.category-hero__shade{
  background:
    linear-gradient(90deg,rgba(8,17,24,.92) 0%,rgba(8,17,24,.77) 25%,rgba(8,17,24,.3) 48%,rgba(8,17,24,.03) 70%),
    linear-gradient(0deg,rgba(8,17,24,.35),transparent 38%);
}
.category-hero__copy{
  position:absolute;z-index:2;left:clamp(2rem,7vw,7.2rem);top:52%;transform:translateY(-43%);
  width:min(490px,39vw);animation:categoryCopyIn 1.25s var(--ease) .18s both;
}
.category-hero__kicker{
  margin-bottom:1.45rem;font-size:.69rem;font-weight:500;line-height:1.5;letter-spacing:.34em;text-transform:uppercase;color:#e5d7be;
}
.category-hero h1{font-family:var(--serif);font-size:clamp(4rem,6.3vw,7.4rem);font-weight:400;line-height:.79;letter-spacing:.005em}
.category-hero h1 span,.category-hero h1 em{display:block}
.category-hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;margin-left:.02em;color:#f4eee3}
.category-hero__lede{max-width:485px;margin-top:2.25rem;font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.7;color:rgba(247,244,238,.88)}
.category-hero__cta{
  display:inline-flex;align-items:center;gap:1.2rem;margin-top:1.75rem;padding:1rem 1.35rem;
  border:1px solid rgba(247,244,238,.78);font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);
}
.category-hero__cta i{font-style:normal;font-size:1rem;line-height:1}
.category-hero__cta:hover{background:var(--paper);color:#101a22;transform:translateY(-2px)}
@keyframes categoryHeroSettle{from{opacity:.5;transform:scale(1.055)}to{opacity:1;transform:scale(1.012)}}
@keyframes categoryCopyIn{from{opacity:0;transform:translateY(calc(-43% + 26px))}to{opacity:1;transform:translateY(-43%)}}

.category-products{background:#fff;padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,5vw,5rem) clamp(6rem,10vw,10rem)}
.category-products__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;width:min(1440px,100%);margin:0 auto clamp(2rem,4.5vw,4rem)}
.category-products__head h2{font-size:clamp(2.8rem,4.8vw,5rem);line-height:1;color:#18242b}
.category-products__head h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;opacity:1}
.category-sort{display:flex;align-items:center;gap:.55rem;white-space:nowrap;font-size:.9rem;color:var(--taupe)}
.category-sort select{
  appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid rgba(37,37,37,.25);border-radius:0;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23252525'/%3E%3C/svg%3E") no-repeat right center;
  color:var(--ink);font:inherit;padding:.4rem 1.2rem .4rem .15rem;cursor:pointer;
}
.category-products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.25rem,2.3vw,2.5rem);width:min(1440px,100%);margin:0 auto}
.category-card{min-width:0;opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.category-card.is-in{opacity:1;transform:translateY(0)}
.category-card__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f1eee9}
.category-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}
.category-card:hover .category-card__media img{transform:scale(1.035)}
.category-card__sold{position:absolute;right:.65rem;top:.65rem;padding:.4rem .65rem;background:rgba(20,27,32,.82);color:#fff;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase}
.category-card__body{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:0;padding:.48rem .25rem 0}
.category-card h3{max-width:28ch;font-family:var(--sans);font-size:18px;font-weight:400;line-height:1.4;letter-spacing:-.012em}
.category-card h3 a{transition:color .3s var(--ease)}
.category-card h3 a:hover{color:var(--navy)}
.category-card__body p{max-width:32ch;margin-top:.14rem;font-size:14px;line-height:1.5;color:rgba(85,80,74,.8)}
.category-card__price{margin-top:.36rem;padding-top:0;font-size:20px;font-weight:500;letter-spacing:.035em}
.category-card__button{margin-top:.52rem;padding:.72rem 1.15rem;border:1px solid rgba(37,37,37,.45);font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;transition:background .3s,color .3s}
.category-card__button:hover{background:var(--ink);color:#fff}
.category-products__empty{max-width:640px;margin:3rem auto;text-align:center;font-size:1rem;line-height:1.7;color:var(--taupe)}
.category-products__empty a{text-decoration:underline}

.category-footer-wrap{position:relative;z-index:5;background:var(--navy);color:var(--paper)}
.category-footer-wrap__inner{text-align:center;padding:clamp(5rem,10vw,8rem) 1.4rem clamp(4rem,8vw,6rem)}
.category-footer-wrap__inner h2{margin:0 auto 2rem;font-size:clamp(2.8rem,6vw,5.6rem);color:var(--paper)}
.category-footer-wrap__inner h2 em{font-family:Georgia,'Times New Roman',serif}

@media(max-width:1180px){
  .category-products__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .category-hero__copy{width:min(430px,42vw)}
}

@media(max-width:820px){
  .category-page .nav--category{
    position:fixed;background:#101a22;padding:.65rem 1rem;min-height:74px;
    backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .category-page .nav--category .nav__logo,.category-page .nav--category .nav__logo-img{height:42px}
  .category-page .nav--category.is-scrolled{padding:.35rem 1rem;min-height:60px}
  .category-page .nav--category.is-scrolled .nav__logo,.category-page .nav--category.is-scrolled .nav__logo-img{height:34px}
  .category-page .nav--category .nav__logo-img--white{opacity:1}
  .category-page .nav--category .nav__logo-img--black{opacity:0}
  .category-page .nav--category .nav__burger span{background:var(--paper)}
  .category-page .nav--category.is-hidden{transform:translateY(-105%)}
  .category-hero{min-height:0;padding-top:74px;background:#101a22}
  .category-hero__media{position:relative;height:clamp(300px,48vh,470px)}
  .category-hero__media img{object-position:62% center;transform:scale(1.02)}
  .category-hero__shade{
    top:74px;height:clamp(300px,48vh,470px);
    background:linear-gradient(to bottom,transparent 50%,rgba(16,26,34,.72) 86%,#101a22 100%);
  }
  .category-hero__copy{position:relative;left:auto;top:auto;transform:none;width:auto;padding:1.3rem 1.25rem 2.8rem;animation:categoryMobileCopyIn 1.1s var(--ease) .12s both}
  .category-hero__kicker{margin-bottom:.85rem;font-size:.59rem;letter-spacing:.29em}
  .category-hero h1{font-size:clamp(2.85rem,12vw,4.2rem);line-height:.93}
  .category-hero h1 span,.category-hero h1 em{display:inline}
  .category-hero__lede{margin-top:1rem;font-size:.91rem;line-height:1.55}
  .category-hero__cta{margin-top:1.15rem;padding:.85rem 1rem;font-size:.61rem;letter-spacing:.25em}
  .category-products{padding:3.2rem 10px 5.5rem}
  .category-products__head{align-items:flex-end;margin-bottom:1.8rem;padding:0 .55rem;gap:1rem}
  .category-products__head h2{font-size:clamp(2.15rem,10vw,3.2rem)}
  .category-sort{font-size:.78rem}
  .category-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 10px}
  .category-card__body{min-height:0;padding:.42rem .2rem 0}
  .category-card h3{font-size:15px;line-height:1.4}
  .category-card__body p{font-size:12px;line-height:1.45}
  .category-card__price{font-size:17px}
  .category-card__button{width:100%;padding:.7rem .25rem;font-size:.57rem;letter-spacing:.22em}
  .category-footer-wrap__inner{padding-left:1.2rem;padding-right:1.2rem}
  .category-footer-wrap__inner h2{font-size:clamp(2.55rem,11vw,4rem)}
  @keyframes categoryMobileCopyIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
}

@media(max-width:430px){
  .category-products__head{align-items:flex-start;flex-direction:column}
  .category-sort{align-self:flex-end}
}

@media(prefers-reduced-motion:reduce){
  .category-hero__media img,.category-hero__copy,.category-card{animation:none;opacity:1;transform:none}
}
