/* [project]/src/components/boutique/ProductCard.module.css [app-client] (css) */
.ProductCard-module__S0WGLq__card {
  --prod-burg: #6b0f0f;
  --prod-burg-light: #8b1a1a;
  --prod-cream: #faf6f0;
  --prod-cream-dark: #ede8e0;
  --prod-sand: #d4c4b0;
  --prod-ink: #1e1210;
  --prod-muted: #9a7e72;
  background: var(--prod-cream);
  border: .5px solid var(--prod-sand);
  isolation: isolate;
  border-radius: 3px;
  flex-direction: column;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 24px #1e12101a;
}

.ProductCard-module__S0WGLq__media {
  z-index: 0;
  background: var(--prod-cream-dark);
  justify-content: center;
  align-items: center;
  height: 196px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.ProductCard-module__S0WGLq__mediaLink {
  z-index: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.ProductCard-module__S0WGLq__coverImage {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.ProductCard-module__S0WGLq__placeholder {
  z-index: 0;
  color: var(--prod-sand);
  opacity: .6;
  pointer-events: none;
  position: relative;
}

.ProductCard-module__S0WGLq__badge {
  z-index: 2;
  background: var(--prod-burg);
  color: #fff;
  letter-spacing: .15em;
  text-transform: uppercase;
  border-radius: 2px;
  padding: .28rem .55rem;
  font-size: .58rem;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 11px;
  left: 11px;
}

.ProductCard-module__S0WGLq__wishlist {
  z-index: 3;
  border: .5px solid var(--prod-sand);
  cursor: pointer;
  background: #faf6f0e6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  transition: background .15s;
  display: flex;
  position: absolute;
  top: 9px;
  right: 9px;
}

.ProductCard-module__S0WGLq__wishlist:hover {
  background: #fff;
}

.ProductCard-module__S0WGLq__wishlist svg {
  color: var(--prod-burg);
  display: block;
}

.ProductCard-module__S0WGLq__wishlistActive svg {
  fill: var(--prod-burg);
  stroke: var(--prod-burg);
}

.ProductCard-module__S0WGLq__ornament {
  align-items: center;
  padding: 13px 14px 10px;
  display: flex;
}

.ProductCard-module__S0WGLq__ornament:before, .ProductCard-module__S0WGLq__ornament:after {
  content: "";
  background: var(--prod-sand);
  flex: 1;
  height: .5px;
}

.ProductCard-module__S0WGLq__ornamentDot {
  background: var(--prod-burg);
  border-radius: 50%;
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  margin: 0 8px;
}

.ProductCard-module__S0WGLq__body {
  z-index: 1;
  flex-direction: column;
  flex: 1;
  padding: 0 14px 14px;
  display: flex;
  position: relative;
}

.ProductCard-module__S0WGLq__tags {
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--prod-muted);
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 7px;
  font-size: .62rem;
  font-weight: 700;
  display: flex;
}

.ProductCard-module__S0WGLq__tags span + span:before {
  content: " · ";
  color: var(--prod-sand);
  letter-spacing: 0;
  font-weight: 400;
}

.ProductCard-module__S0WGLq__name {
  font-family: var(--font-serif), "Playfair Display", Georgia, serif;
  color: var(--prod-ink);
  letter-spacing: -.02em;
  margin-bottom: 7px;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.15;
}

.ProductCard-module__S0WGLq__name a {
  color: inherit;
  text-decoration: none;
}

.ProductCard-module__S0WGLq__name a:hover {
  text-underline-offset: 3px;
  text-decoration: underline;
}

.ProductCard-module__S0WGLq__priceRow {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: 4px;
  display: flex;
}

.ProductCard-module__S0WGLq__price {
  color: var(--prod-ink);
  font-size: .97rem;
  font-weight: 600;
  line-height: 1.2;
}

.ProductCard-module__S0WGLq__craft {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--prod-burg-light);
  flex-shrink: 0;
  font-size: .58rem;
  font-weight: 700;
  line-height: 1;
}

.ProductCard-module__S0WGLq__material {
  color: var(--prod-muted);
  margin-bottom: 13px;
  font-size: .7rem;
}

.ProductCard-module__S0WGLq__swatches {
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 13px;
  display: flex;
}

.ProductCard-module__S0WGLq__swatch {
  border: 1.5px solid #0000;
  border-radius: 50%;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.ProductCard-module__S0WGLq__swatchMore {
  color: var(--prod-muted);
  letter-spacing: .04em;
  font-size: .62rem;
  font-weight: 700;
}

.ProductCard-module__S0WGLq__cta {
  background: var(--prod-burg);
  color: #fff;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  border: none;
  border-radius: 2px;
  width: 100%;
  margin-top: auto;
  padding: .72rem 1rem;
  font-family: inherit;
  font-size: .6rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .18s;
  display: block;
}

.ProductCard-module__S0WGLq__cta:hover {
  background: var(--prod-burg-light);
  color: #fff;
}

/* [project]/src/components/boutique/BoutiqueCatalog.module.css [app-client] (css) */
.BoutiqueCatalog-module__yxnPXa__pageHeader {
  text-align: center;
  max-width: 38rem;
  margin: 0 auto 2.5rem;
}

.BoutiqueCatalog-module__yxnPXa__pageTitle {
  letter-spacing: -.03em;
  color: #1d140f;
  margin-bottom: .65rem;
  font-size: clamp(2.1rem, 5vw, 3.15rem);
  font-weight: 500;
}

.BoutiqueCatalog-module__yxnPXa__pageLead {
  color: #1d140fad;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.65;
}

.BoutiqueCatalog-module__yxnPXa__natureFilterRow {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .65rem .85rem;
  margin: 0 auto 1.1rem;
  display: flex;
}

.BoutiqueCatalog-module__yxnPXa__natureFilterLabel {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #1d140f8c;
  font-size: .7rem;
  font-weight: 800;
}

.BoutiqueCatalog-module__yxnPXa__natureSegment {
  background: #ffffff8c;
  border: 1px solid #3c291d24;
  border-radius: 999px;
  display: inline-flex;
  overflow: hidden;
}

.BoutiqueCatalog-module__yxnPXa__natureSegmentBtn {
  appearance: none;
  color: #1d140fb8;
  font-family: var(--font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: .55rem .95rem;
  font-size: .7rem;
  font-weight: 800;
  transition: background .16s, color .16s;
}

.BoutiqueCatalog-module__yxnPXa__natureSegmentBtn:hover {
  color: #1d140fe0;
  background: #7a00000f;
}

.BoutiqueCatalog-module__yxnPXa__natureSegmentBtnActive {
  color: #fffffff5;
  background: linear-gradient(135deg, #7a0000eb, #9a2020e6);
}

@media (max-width: 420px) {
  .BoutiqueCatalog-module__yxnPXa__natureSegmentBtn {
    letter-spacing: .1em;
    padding: .5rem .75rem;
  }
}

.BoutiqueCatalog-module__yxnPXa__collectionsShell {
  background: linear-gradient(145deg, #ffffffeb 0%, #fcf6efe0 100%);
  border: 1px solid #3c291d1f;
  border-radius: 24px;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  position: relative;
  box-shadow: 0 4px 24px #5a433412, inset 0 1px #fffc;
}

.BoutiqueCatalog-module__yxnPXa__collectionsInner {
  z-index: 1;
  position: relative;
}

.BoutiqueCatalog-module__yxnPXa__blockTitle {
  font-family: var(--font-serif);
  color: #1d140f;
  margin: 0 0 .35rem;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 500;
}

.BoutiqueCatalog-module__yxnPXa__blockSubtitle {
  color: #1d140f8c;
  max-width: 36rem;
  margin: 0 0 1.35rem;
  font-size: .88rem;
}

.BoutiqueCatalog-module__yxnPXa__collectionsGrid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  align-items: stretch;
  gap: 1.1rem;
  display: grid;
}

@media (min-width: 900px) {
  .BoutiqueCatalog-module__yxnPXa__collectionsGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .BoutiqueCatalog-module__yxnPXa__collectionsGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.BoutiqueCatalog-module__yxnPXa__qualityGrid {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 1.1rem;
  display: grid;
}

@media (min-width: 560px) {
  .BoutiqueCatalog-module__yxnPXa__qualityGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.BoutiqueCatalog-module__yxnPXa__collectionCard {
  min-height: 200px;
  color: inherit;
  background: linear-gradient(165deg, #fff 0%, #faf6f1 100%);
  border: 1px solid #3c291d1a;
  border-radius: 18px;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.35rem 1.25rem 1.15rem;
  text-decoration: none;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 28px #37281e0f;
}

.BoutiqueCatalog-module__yxnPXa__cardMedia {
  background-image: var(--card-image, none);
  filter: saturate(1.05) contrast(1.02);
  opacity: .22;
  pointer-events: none;
  background-position: center;
  background-size: cover;
  transition: opacity .25s, transform .25s;
  position: absolute;
  inset: 0;
  transform: scale(1.02);
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:hover .BoutiqueCatalog-module__yxnPXa__cardMedia {
  opacity: .28;
  transform: scale(1.04);
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:before {
  content: "";
  background: var(--card-accent, #7a0000);
  opacity: .92;
  width: 4px;
  height: 100%;
  transition: width .22s;
  position: absolute;
  top: 0;
  left: 0;
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:after {
  content: "";
  background: var(--card-glow, #7a00000f);
  pointer-events: none;
  border-radius: 50%;
  width: 140px;
  height: 140px;
  transition: transform .28s, opacity .28s;
  position: absolute;
  top: -40%;
  right: -25%;
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:hover {
  border-color: #7a00002e;
  transform: translateY(-4px);
  box-shadow: 0 16px 40px #37281e1c;
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:hover:before {
  width: 5px;
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:hover:after {
  opacity: 1;
  transform: scale(1.08);
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:focus-visible {
  outline-offset: 3px;
  outline: 2px solid #7a000073;
}

.BoutiqueCatalog-module__yxnPXa__cardIcon {
  background: var(--card-icon-bg, #7a000014);
  width: 44px;
  height: 44px;
  color: var(--card-accent, #7a0000);
  border-radius: 12px;
  flex-shrink: 0;
  place-items: center;
  margin-bottom: .85rem;
  display: grid;
}

.BoutiqueCatalog-module__yxnPXa__cardIcon svg {
  stroke-width: 1.6px;
  width: 24px;
  height: 24px;
}

.BoutiqueCatalog-module__yxnPXa__cardKicker {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7a0000bf;
  margin-bottom: .35rem;
  font-size: .68rem;
  font-weight: 700;
  display: block;
}

.BoutiqueCatalog-module__yxnPXa__cardTitle {
  font-family: var(--font-serif);
  color: #1d140f;
  margin: 0 0 auto;
  padding-bottom: .85rem;
  font-size: 1.22rem;
  font-weight: 500;
  line-height: 1.25;
}

.BoutiqueCatalog-module__yxnPXa__cardCta {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #7a0000;
  align-items: center;
  gap: .4rem;
  margin-top: .25rem;
  font-size: .82rem;
  font-weight: 700;
  display: inline-flex;
}

.BoutiqueCatalog-module__yxnPXa__cardCtaArrow {
  transition: transform .2s;
  display: inline-block;
}

.BoutiqueCatalog-module__yxnPXa__collectionCard:hover .BoutiqueCatalog-module__yxnPXa__cardCtaArrow {
  transform: translateX(4px);
}

.BoutiqueCatalog-module__yxnPXa__cardBob {
  --card-accent: #7a0000;
  --card-icon-bg: #7a000017;
  --card-glow: #7a000012;
  --card-image: url("/images/unsplash/photo-1635694234837.jpg");
}

.BoutiqueCatalog-module__yxnPXa__cardWig {
  --card-accent: #6b2d3c;
  --card-icon-bg: #6b2d3c1a;
  --card-glow: #6b2d3c14;
  --card-image: url("/images/unsplash/photo-1521590832167.jpg");
}

.BoutiqueCatalog-module__yxnPXa__cardBundles {
  --card-accent: #8b5c3a;
  --card-icon-bg: #8b5c3a1f;
  --card-glow: #8b5c3a17;
  --card-image: url("/images/unsplash/photo-1522337360788.jpg");
}

.BoutiqueCatalog-module__yxnPXa__cardColored {
  --card-accent: #9a3d5c;
  --card-icon-bg: #9a3d5c1c;
  --card-glow: #9a3d5c14;
  --card-image: url("/images/unsplash/photo-1675034743339.jpg");
}

.BoutiqueCatalog-module__yxnPXa__cardRaw {
  --card-accent: #4a6b5a;
  --card-icon-bg: #4a6b5a1f;
  --card-glow: #4a6b5a17;
  --card-image: url("/images/unsplash/photo-1560066984.jpg");
}

.BoutiqueCatalog-module__yxnPXa__cardVirgin {
  --card-accent: #7a0000;
  --card-icon-bg: #7a00001a;
  --card-glow: #d4af371f;
  --card-image: url("/images/unsplash/photo-1516975080664.jpg");
}

.BoutiqueCatalog-module__yxnPXa__backLink {
  margin-top: 1.15rem;
  font-size: .9rem;
}

.BoutiqueCatalog-module__yxnPXa__backLink a {
  color: #7a0000;
  border-bottom: 1px solid #0000;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .15s;
}

.BoutiqueCatalog-module__yxnPXa__backLink a:hover {
  border-bottom-color: #7a000059;
}

@keyframes BoutiqueCatalog-module__yxnPXa__shimmer {
  from {
    background-position: 200%;
  }

  to {
    background-position: -200%;
  }
}

.BoutiqueCatalog-module__yxnPXa__skeleton {
  box-sizing: border-box;
  background: linear-gradient(90deg, #ede8e0 25%, #f5ede2 50%, #ede8e0 75%) 0 0 / 200%;
  border-radius: 3px;
  width: 100%;
  min-height: 440px;
  animation: 1.4s infinite BoutiqueCatalog-module__yxnPXa__shimmer;
}

.BoutiqueCatalog-module__yxnPXa__catalogLayout {
  margin-top: 2.25rem;
}

.BoutiqueCatalog-module__yxnPXa__filtersPanel {
  background: linear-gradient(170deg, #fffdf9f2, #f7eee4eb);
  border: 1px solid #3c291d1f;
  border-radius: 18px;
  box-shadow: 0 16px 36px #2e1c1314;
}

.BoutiqueCatalog-module__yxnPXa__filtersLead {
  color: #1d140f99;
  margin: -.35rem 0 1rem;
  font-size: .8rem;
  line-height: 1.55;
}

.BoutiqueCatalog-module__yxnPXa__gridWrap {
  gap: .9rem;
  display: grid;
}

.BoutiqueCatalog-module__yxnPXa__resultsBar {
  background: linear-gradient(#fffdf9d9, #f6ebdfd1);
  border: 1px solid #3c291d14;
  border-radius: 14px;
  flex-direction: column;
  gap: .65rem;
  padding: .75rem .85rem;
  display: flex;
}

.BoutiqueCatalog-module__yxnPXa__resultsCount {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7a0000b8;
  margin: 0;
  font-size: .76rem;
  font-weight: 700;
}

.BoutiqueCatalog-module__yxnPXa__activeFilters {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.BoutiqueCatalog-module__yxnPXa__activeFilterChip {
  color: #4a1a16e6;
  background: #7a000014;
  border: 1px solid #7a000029;
  border-radius: 999px;
  align-items: center;
  padding: .32rem .58rem;
  font-size: .72rem;
  line-height: 1.2;
  display: inline-flex;
}

.BoutiqueCatalog-module__yxnPXa__emptyState {
  background: linear-gradient(165deg, #fffdf9f2, #f6ebdfe6);
  border: 1px solid #3c291d1a;
  border-radius: 20px;
  justify-items: center;
  gap: .65rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  display: grid;
  box-shadow: 0 20px 45px #2e1c1314;
}

.BoutiqueCatalog-module__yxnPXa__emptyTitle {
  font-family: var(--font-serif);
  color: #2b1511;
  margin: 0;
  font-size: clamp(1.15rem, 2.2vw, 1.4rem);
}

.BoutiqueCatalog-module__yxnPXa__emptyHint {
  color: #2d1e16b8;
  max-width: 48ch;
  margin: 0;
}

.BoutiqueCatalog-module__yxnPXa__emptyActions {
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem;
  margin-top: .25rem;
  display: flex;
}

@media (max-width: 640px) {
  .BoutiqueCatalog-module__yxnPXa__pageHeader {
    margin-bottom: 1.35rem;
  }

  .BoutiqueCatalog-module__yxnPXa__pageTitle {
    font-size: clamp(1.55rem, 6vw, 2.1rem);
  }

  .BoutiqueCatalog-module__yxnPXa__pageLead {
    font-size: .94rem;
  }

  .BoutiqueCatalog-module__yxnPXa__collectionsShell {
    border-radius: 18px;
    padding: 1rem .75rem;
  }

  .BoutiqueCatalog-module__yxnPXa__collectionsGrid {
    gap: .85rem;
  }
}

/*# sourceMappingURL=src_components_boutique_0h~lsxk._.css.map*/