/* Live homepage edit: intentionally scoped away from the existing hero and shop. */
.hc-product-carousel {
  --hc-edit-gap: 26px;
  padding: clamp(48px, 7vw, 104px) clamp(20px, 4vw, 64px);
  background: var(--hc-ivory, #faf7f2);
  color: var(--hc-text, #202c30);
  overflow: hidden;
}
.hc-product-carousel__container { max-width: 1320px; margin-inline: auto; min-width: 0; }
.hc-product-carousel__heading { display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: 40px; margin-bottom: 44px; }
.hc-product-carousel__title { font: 500 clamp(38px, 4.8vw, 68px)/1.04 var(--hc-font-serif, Georgia, serif); letter-spacing: -.025em; color: inherit; margin: 14px 0 0; }
.hc-product-carousel__intro { max-width: 350px; justify-self: end; }
.hc-product-carousel__intro p { font: 400 14px/1.8 var(--hc-font-sans, sans-serif); color: #566167; margin: 0 0 14px; }
.hc-product-carousel__collection { color: inherit; font: 600 11px/1.6 var(--hc-font-sans, sans-serif); letter-spacing: .1em; text-transform: uppercase; padding-bottom: 5px; border-bottom: 1px solid #c99a9d; text-decoration: none; display: inline-flex; gap: 20px; align-items: center; }
.hc-product-carousel__collection span { font-size: 19px; }
.hc-product-carousel__toolbar { border-top: 1px solid #dfd8d0; padding-top: 18px; margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hc-product-carousel__edition { font: italic 20px/1.4 var(--hc-font-serif, Georgia, serif); margin: 0; }
.hc-product-carousel__controls { display: flex; align-items: center; gap: 9px; }
.hc-product-carousel__counter { display: inline-flex; align-items: center; gap: 12px; font: 500 11px/1 var(--hc-font-sans, sans-serif); letter-spacing: .1em; font-variant-numeric: tabular-nums; margin-right: 14px; }
.hc-product-carousel__counter-rule { width: 28px; height: 1px; background: #c99a9d; }
.hc-product-carousel .hc-product-carousel__nav { width: 44px; height: 44px; min-width: 44px; padding: 0; display: grid; place-items: center; border: 1px solid #c9c1b8; border-radius: 50%; color: #202c30; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; transition: background 180ms, color 180ms, border-color 180ms; }
.hc-product-carousel .hc-product-carousel__nav[hidden] { display: none; }
.hc-product-carousel .hc-product-carousel__nav:hover:not(:disabled) { background: #202c30; border-color: #202c30; color: #faf7f2; }
.hc-product-carousel .hc-product-carousel__nav:disabled { opacity: .3; cursor: default; }
.hc-product-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 52px) / 3); gap: var(--hc-edit-gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #c99a9d #e8e0d7; padding: 0 0 16px; margin: 0; }
.hc-product-carousel__card { min-width: 0; scroll-snap-align: start; }
.hc-product-carousel__link { display: block; color: inherit; text-decoration: none; }
.hc-product-carousel__link:hover { color: inherit; }
.hc-product-carousel__media { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: #f2eae3; }
.hc-product-carousel .hc-product-carousel__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 550ms cubic-bezier(.2,.7,.3,1); }
.hc-product-carousel__number { position: absolute; top: 15px; left: 15px; width: 33px; height: 33px; border: 1px solid rgba(250,247,242,.8); display: grid; place-items: center; background: rgba(250,247,242,.9); font: 500 10px/1 var(--hc-font-sans, sans-serif); letter-spacing: .08em; }
.hc-product-carousel__draft { position: absolute; right: 12px; top: 16px; padding: 6px 9px; background: #202c30; color: #fff; font: 500 10px/1.4 var(--hc-font-sans, sans-serif); }
.hc-product-carousel__shop { position: absolute; bottom: 12px; left: 12px; right: 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; background: rgba(250,247,242,.95); font: 500 10px/1.5 var(--hc-font-sans, sans-serif); text-transform: uppercase; letter-spacing: .12em; transform: translateY(calc(100% + 14px)); transition: transform 220ms; }
.hc-product-carousel__shop > span { font-size: 20px; line-height: 1; }
.hc-product-carousel__body { position: relative; padding: 18px 0 8px; }
.hc-product-carousel__sku { display: block; font: 500 9px/1.4 var(--hc-font-sans, sans-serif); letter-spacing: .12em; color: #677075; }
.hc-product-carousel .hc-product-carousel__name { font: 500 clamp(25px, 2.4vw, 34px)/1.15 var(--hc-font-serif, Georgia, serif); letter-spacing: -.015em; color: #202c30; margin: 5px 0 9px; }
.hc-product-carousel__price { font: 400 12px/1.6 var(--hc-font-sans, sans-serif); color: #202c30; }
.hc-product-carousel__price del { opacity: .6; margin-right: 5px; }
.hc-product-carousel__price ins { background: transparent; text-decoration: none; }
.hc-product-carousel__footer { display: flex; align-items: center; gap: 24px; margin-top: 15px; }
.hc-product-carousel__hint { flex: none; margin: 0; font: 400 10px/1.6 var(--hc-font-sans, sans-serif); letter-spacing: .04em; color: #566167; }
.hc-product-carousel__hint > span { margin-left: 8px; }
.hc-product-carousel__progress { flex: 1; height: 2px; background: #e3dbd2; overflow: hidden; }
.hc-product-carousel__progress > span { display: block; height: 100%; width: 100%; background: #9b6268; transform-origin: left; transform: scaleX(var(--hc-edit-progress, .333)); transition: transform 100ms linear; }
.hc-product-carousel__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hc-product-carousel :is(a,button):focus-visible { outline: 2px solid #202c30; outline-offset: 4px; }
.hc-product-carousel__track:focus-visible { outline: 2px solid #9b6268; outline-offset: 4px; }
@media (hover: hover) {
  .hc-product-carousel__link:hover .hc-product-carousel__image { transform: scale(1.025); }
  .hc-product-carousel__link:hover .hc-product-carousel__shop { transform: translateY(0); }
}
.hc-product-carousel__link:focus-visible .hc-product-carousel__shop { transform: translateY(0); }
@media (max-width: 1023px) {
  .hc-product-carousel { --hc-edit-gap: 20px; }
  .hc-product-carousel__track { grid-auto-columns: calc((100% - 20px) / 2); }
  .hc-product-carousel__heading { gap: 25px; }
}
@media (max-width: 600px) {
  .hc-product-carousel { --hc-edit-gap: 16px; padding-block: 50px; }
  .hc-product-carousel__heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .hc-product-carousel__intro { justify-self: start; max-width: 320px; }
  .hc-product-carousel__title { font-size: 44px; }
  .hc-product-carousel__track { grid-auto-columns: 84%; }
  .hc-product-carousel__edition { font-size: 17px; max-width: 130px; }
  .hc-product-carousel__counter { margin-right: 0; gap: 7px; }
  .hc-product-carousel__counter-rule { width: 14px; }
  .hc-product-carousel__controls { gap: 6px; }
  .hc-product-carousel__shop { transform: none; padding: 10px 12px; }
  .hc-product-carousel__footer { gap: 14px; }
  .hc-product-carousel__hint { max-width: 160px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-product-carousel *, .hc-product-carousel *::before, .hc-product-carousel *::after { transition: none !important; }
}
