/* Pesotsky custom styles */
/* =========================================================
   CUSTOM.CSS 2.0 — PRODUCTION / HEAVY LUXURY BASE
   PESOTSKY / HELLO ELEMENTOR CHILD
   ========================================================= */

/* =========================================================
   0. TOKENS
   ========================================================= */

:root{
  --hx-bg: #f4f1ea;
  --hx-ink: #121110;
  --hx-line: rgba(18,17,16,.08);

  --hx-line-soft: rgba(18,17,16,.10);
  --hx-line-strong: rgba(18,17,16,.14);

  --hx-text-soft: rgba(18,17,16,.72);
  --hx-text-muted: rgba(18,17,16,.56);
  --hx-text-muted-54: rgba(18,17,16,.54);
  --hx-text-muted-52: rgba(18,17,16,.52);
  --hx-text-muted-46: rgba(18,17,16,.46);
  --hx-text-muted-40: rgba(18,17,16,.40);
  --hx-text-muted-38: rgba(18,17,16,.38);

  --hx-white-soft: rgba(255,255,255,.76);
  --hx-white-strong: rgba(255,255,255,.92);

  --hx-ui-dark: rgba(26,26,26,.68);
  --hx-ui-dark-hover: rgba(26,26,26,.86);

  --hx-media-bg: #e9e3d9;
  --hx-media-bg-alt: #e8e1d7;

  --hx-shadow-side: -8px 0 30px rgba(18,17,16,.06);

  --hx-font-mono: "JetBrains Mono", monospace;
  --hx-font-serif: "Prata", serif;
  --hx-font-sans: "Inter", sans-serif;

  --hx-badge-bg: var(--hx-ink);
  --hx-badge-fg: var(--hx-bg);
}

/* =========================================================
   1. LENIS
   ========================================================= */

html{
  scroll-behavior: auto !important;
}

html.lenis,
html.lenis body{
  height: auto;
}

.lenis.lenis-smooth{
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent]{
  overscroll-behavior: contain;
}

.lenis.lenis-stopped{
  overflow: hidden;
}

.lenis.lenis-scrolling iframe{
  pointer-events: none;
}

/* =========================================================
   2. BACK TO TOP
   ========================================================= */

.ps-top{
  position: fixed;
  right: clamp(18px, 3vw, 46px);
  bottom: clamp(18px, 3vw, 46px);
  z-index: 9999;

  display: inline-flex;
  align-items: baseline;
  gap: 10px;

  padding: 10px 0;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  will-change: color;

  font-family: var(--hx-font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hx-ui-dark);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    color .28s ease,
    opacity .28s ease,
    transform .28s ease,
    visibility .28s ease;
}

.ps-top__txt{
  position: relative;
  padding-bottom: 2px;
}

.ps-top__txt::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(26,26,26,.18);
  transform: scaleX(.62);
  transform-origin: left;
  transition: transform .28s ease, background-color .28s ease;
}

.ps-top__arr{
  font-family: var(--hx-font-sans);
  font-size: 14px;
  line-height: 1;
  opacity: .65;
  transform: translateY(-1px);
  transition: transform .28s ease, opacity .28s ease;
}

.ps-top:hover{
  color: var(--hx-ui-dark-hover);
}

.ps-top:hover .ps-top__txt::after{
  transform: scaleX(1);
  background: rgba(26,26,26,.32);
}

.ps-top:hover .ps-top__arr{
  opacity: .95;
  transform: translateY(-3px);
}

.ps-top.is-on-dark{
  color: var(--hx-white-soft);
}

.ps-top.is-on-dark .ps-top__txt::after{
  background: rgba(255,255,255,.18);
}

.ps-top.is-on-dark:hover{
  color: var(--hx-white-strong);
}

.ps-top.is-on-dark:hover .ps-top__txt::after{
  background: rgba(255,255,255,.32);
}

.ps-top.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@media (max-width: 768px){
  .ps-top{
    right: 16px;
    bottom: 16px;
    font-size: 10px;
  }
}

/* =========================================================
   3. FAVORITES — PRODUCT HEART + HEADER BADGES
   ========================================================= */

.hx-cart-actions{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
}

.hx-cart-favorite{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: opacity .24s ease, transform .24s ease !important;
}

.hx-cart-favorite svg{
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: var(--hx-ink) !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.hx-cart-favorite svg path{
  fill: transparent !important;
  stroke: var(--hx-ink) !important;
}

.hx-cart-favorite:hover{
  opacity: .68 !important;
}

.hx-cart-favorite:focus,
.hx-cart-favorite:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}

.hx-cart-favorite.is-active{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hx-cart-favorite.is-active svg path{
  fill: var(--hx-ink) !important;
  stroke: var(--hx-ink) !important;
}

/* unified header badges */
.hx-header-favorites,
.hx-header-favorites-trigger,
.hx-header-cart-trigger{
  position: relative !important;
}

.hx-header-favorites__count,
.hx-header-cart__count{
  position: absolute !important;
  top: -6px !important;
  right: -8px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  background: var(--hx-badge-bg) !important;
  color: var(--hx-badge-fg) !important;
  opacity: 0 !important;
  transform: scale(.82) !important;
  transition: opacity .2s ease, transform .2s ease !important;
}

.hx-header-favorites__count.has-items,
.hx-header-cart__count.has-items{
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* =========================================================
   4. FAVORITES DRAWER — RIGHT SIDE LUXURY
   ========================================================= */

.hx-favorites-drawer{
  position: fixed !important;
  inset: 0 !important;
  z-index: 320 !important;
  pointer-events: none !important;
}

.hx-favorites-drawer__backdrop{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(18,17,16,.18) !important;
  opacity: 0 !important;
  transition: opacity .28s ease !important;
}

.hx-favorites-drawer__panel{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: min(460px, 100vw) !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--hx-bg) !important;
  border-left: 1px solid var(--hx-line) !important;
  transform: translateX(100%) !important;
  transition: transform .36s cubic-bezier(.22,.61,.36,1) !important;
  box-shadow: var(--hx-shadow-side) !important;
}

.hx-favorites-drawer.is-open{
  pointer-events: auto !important;
}

.hx-favorites-drawer.is-open .hx-favorites-drawer__backdrop{
  opacity: 1 !important;
}

.hx-favorites-drawer.is-open .hx-favorites-drawer__panel{
  transform: translateX(0) !important;
}

body.hx-favorites-drawer-open{
  overflow: hidden !important;
}

/* top */
.hx-favorites-drawer__top{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 28px 26px 22px !important;
  border-bottom: 1px solid var(--hx-line) !important;
}

.hx-favorites-drawer__kicker{
  margin: 0 0 12px !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--hx-text-muted-38) !important;
}

.hx-favorites-drawer__title{
  font-family: var(--hx-font-serif) !important;
  font-size: 42px !important;
  line-height: .94 !important;
  letter-spacing: -.01em !important;
  color: var(--hx-ink) !important;
}

.hx-favorites-drawer__count{
  margin-top: 12px !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--hx-text-muted) !important;
}

.hx-favorites-drawer__close{
  position: relative !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.hx-favorites-drawer__close span{
  position: absolute !important;
  top: 11px !important;
  left: 2px !important;
  width: 20px !important;
  height: 1px !important;
  background: var(--hx-ink) !important;
}

.hx-favorites-drawer__close span:first-child{
  transform: rotate(45deg) !important;
}

.hx-favorites-drawer__close span:last-child{
  transform: rotate(-45deg) !important;
}

/* body */
.hx-favorites-drawer__body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 0 26px !important;
}

.hx-favorites-drawer__empty{
  padding: 24px 0 !important;
}

.hx-favorites-drawer__empty p{
  margin: 0 !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--hx-text-muted) !important;
}

/* items */
.hx-favorites-drawer__item{
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--hx-line) !important;
}

.hx-favorites-drawer__thumb{
  display: block !important;
  aspect-ratio: 4 / 5 !important;
  background: var(--hx-media-bg) !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.hx-favorites-drawer__thumb img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.hx-favorites-drawer__meta{
  min-width: 0 !important;
}

.hx-favorites-drawer__name{
  display: block !important;
  margin: 0 0 10px !important;
  text-decoration: none !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
  transition: opacity .2s ease !important;
}

.hx-favorites-drawer__name:hover{
  opacity: .62 !important;
}

.hx-favorites-drawer__sub{
  margin: 0 0 14px !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--hx-text-muted) !important;
}

.hx-favorites-drawer__actions{
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.hx-favorites-drawer__open,
.hx-favorites-drawer__remove{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  transition: opacity .2s ease, color .2s ease !important;
}

.hx-favorites-drawer__open{
  color: var(--hx-ink) !important;
}

.hx-favorites-drawer__remove{
  color: var(--hx-text-muted-40) !important;
}

.hx-favorites-drawer__open:hover{
  opacity: .58 !important;
}

.hx-favorites-drawer__remove:hover{
  color: var(--hx-text-soft) !important;
}

/* bottom */
.hx-favorites-drawer__bottom{
  padding: 18px 26px 24px !important;
  border-top: 1px solid var(--hx-line) !important;
}

.hx-favorites-drawer__all{
  display: inline-block !important;
  text-decoration: none !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
  transition: opacity .2s ease !important;
}

.hx-favorites-drawer__all:hover{
  opacity: .58 !important;
}

.hx-favorites-drawer__loading{
  padding: 24px 0 !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--hx-text-muted) !important;
}

@media (max-width: 767px){
  .hx-favorites-drawer__panel{
    width: 100vw !important;
  }

  .hx-favorites-drawer__top{
    padding: 24px 20px 18px !important;
  }

  .hx-favorites-drawer__body{
    padding: 0 20px !important;
  }

  .hx-favorites-drawer__bottom{
    padding: 16px 20px 20px !important;
  }

  .hx-favorites-drawer__title{
    font-size: 34px !important;
  }

  .hx-favorites-drawer__item{
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
}

/* =========================================================
   5. CART DRAWER — FULL CSS WITH LUXURY CTA
   ========================================================= */

.hx-cart-drawer{
  position: fixed !important;
  inset: 0 !important;
  z-index: 330 !important;
  pointer-events: none !important;
}

.hx-cart-drawer__backdrop{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(18,17,16,.18) !important;
  opacity: 0 !important;
  transition: opacity .28s ease !important;
}

.hx-cart-drawer__panel{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: min(500px, 100vw) !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--hx-bg) !important;
  border-left: 1px solid var(--hx-line) !important;
  transform: translateX(100%) !important;
  transition: transform .38s cubic-bezier(.22,.61,.36,1) !important;
  box-shadow: var(--hx-shadow-side) !important;
}

.hx-cart-drawer.is-open{
  pointer-events: auto !important;
}

.hx-cart-drawer.is-open .hx-cart-drawer__backdrop{
  opacity: 1 !important;
}

.hx-cart-drawer.is-open .hx-cart-drawer__panel{
  transform: translateX(0) !important;
}

body.hx-cart-drawer-open{
  overflow: hidden !important;
}

.hx-cart-drawer__top{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 28px 28px 22px !important;
  border-bottom: 1px solid var(--hx-line) !important;
}

.hx-cart-drawer__kicker{
  margin: 0 0 12px !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--hx-text-muted-38) !important;
}

.hx-cart-drawer__title{
  font-family: var(--hx-font-serif) !important;
  font-size: 42px !important;
  line-height: .94 !important;
  letter-spacing: -.01em !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__count{
  margin-top: 12px !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--hx-text-muted) !important;
}

.hx-cart-drawer__close{
  position: relative !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.hx-cart-drawer__close span{
  position: absolute !important;
  top: 11px !important;
  left: 2px !important;
  width: 20px !important;
  height: 1px !important;
  background: var(--hx-ink) !important;
}

.hx-cart-drawer__close span:first-child{
  transform: rotate(45deg) !important;
}

.hx-cart-drawer__close span:last-child{
  transform: rotate(-45deg) !important;
}

.hx-cart-drawer__body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 0 28px !important;
}

.hx-cart-drawer__message{
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--hx-ink) !important;
  background: rgba(18,17,16,.04) !important;
}

.hx-cart-drawer__empty{
  padding: 28px 0 !important;
}

.hx-cart-drawer__empty p,
.hx-cart-drawer__loading{
  margin: 0 !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--hx-text-muted) !important;
}

.hx-cart-drawer__loading{
  padding: 24px 0 !important;
}

.hx-cart-drawer__item{
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--hx-line) !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity .28s ease, transform .28s ease !important;
}

.hx-cart-drawer__item.is-removing{
  opacity: 0 !important;
  transform: translateY(10px) !important;
}

.hx-cart-drawer__thumb{
  display: block !important;
  aspect-ratio: 4 / 5 !important;
  background: var(--hx-media-bg-alt) !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.hx-cart-drawer__thumb img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease, opacity .3s ease !important;
}

.hx-cart-drawer__thumb:hover img{
  transform: scale(1.02) !important;
  opacity: .988 !important;
}

.hx-cart-drawer__meta{
  min-width: 0 !important;
}

.hx-cart-drawer__name{
  display: block !important;
  margin: 0 0 10px !important;
  text-decoration: none !important;
  font-family: var(--hx-font-serif) !important;
  font-size: 24px !important;
  line-height: .98 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  color: var(--hx-ink) !important;
  transition: opacity .22s ease !important;
}

.hx-cart-drawer__name:hover{
  opacity: .62 !important;
}

.hx-cart-drawer__sub{
  margin: 0 0 12px !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--hx-text-muted-54) !important;
}

.hx-cart-drawer__line-total{
  margin: 0 0 14px !important;
  font-family: var(--hx-font-serif) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: var(--hx-ink) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.hx-cart-drawer__line-total.is-updating{
  opacity: .45 !important;
  transform: translateY(2px) !important;
}

.hx-cart-drawer__controls{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.hx-cart-drawer__qty{
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--hx-line-strong) !important;
  min-height: 34px !important;
  transition: opacity .18s ease !important;
}

.hx-cart-drawer__qty.is-updating{
  opacity: .55 !important;
}

.hx-cart-drawer__qty-btn{
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__qty-value{
  min-width: 28px !important;
  text-align: center !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__remove{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--hx-text-muted-38) !important;
  transition: color .2s ease !important;
}

.hx-cart-drawer__remove:hover{
  color: var(--hx-text-soft) !important;
}

.hx-cart-drawer__bottom{
  padding: 18px 28px 24px !important;
  border-top: 1px solid var(--hx-line) !important;
}

.hx-cart-drawer__coupon{
  margin: 0 0 16px !important;
}

.hx-cart-drawer__coupon-label{
  display: block !important;
  margin: 0 0 10px !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--hx-text-muted-46) !important;
}

.hx-cart-drawer__coupon-row{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
}

.hx-cart-drawer__coupon-input{
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(18,17,16,.12) !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 14px !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__coupon-btn{
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid var(--hx-line-strong) !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__coupons{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}

.hx-cart-drawer__coupon-chip{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid var(--hx-line-soft) !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
}

.hx-cart-drawer__coupon-remove{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: var(--hx-font-sans) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: var(--hx-text-muted-52) !important;
}

.hx-cart-drawer__totals{
  margin: 0 0 20px !important;
}

.hx-cart-drawer__totals-row{
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.hx-cart-drawer__totals-row + .hx-cart-drawer__totals-row{
  margin-top: 10px !important;
}

.hx-cart-drawer__totals-row--grand{
  padding-top: 12px !important;
  border-top: 1px solid var(--hx-line) !important;
}

.hx-cart-drawer__totals-label{
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--hx-text-muted-46) !important;
}

.hx-cart-drawer__totals-value{
  font-family: var(--hx-font-serif) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: var(--hx-ink) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.hx-cart-drawer__totals-value.is-updating{
  opacity: .45 !important;
  transform: translateY(2px) !important;
}

/* CTA block */
.hx-cart-drawer__actions{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: end !important;
  gap: 18px !important;
  margin-top: 6px !important;
}

.hx-cart-drawer__link{
  text-decoration: none !important;
  transition:
    opacity .2s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease !important;
}

.hx-cart-drawer__link--secondary{
  justify-self: start !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 20px !important;
  padding: 0 0 3px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
  opacity: .9 !important;
  border-bottom: 1px solid rgba(18,17,16,.18) !important;
}

.hx-cart-drawer__link--secondary:hover{
  opacity: .62 !important;
  border-bottom-color: rgba(18,17,16,.36) !important;
}

.hx-cart-drawer__link--secondary:focus-visible{
  outline: none !important;
  opacity: 1 !important;
  border-bottom-color: rgba(18,17,16,.5) !important;
}

.hx-cart-drawer__link--primary{
  justify-self: end !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border: 1px solid var(--hx-ink) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  font-family: var(--hx-font-mono) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--hx-ink) !important;
  opacity: 1 !important;
}

.hx-cart-drawer__link--primary:hover{
  background: var(--hx-ink) !important;
  color: var(--hx-bg) !important;
}

.hx-cart-drawer__link--primary:focus-visible{
  outline: none !important;
  background: var(--hx-ink) !important;
  color: var(--hx-bg) !important;
}

@media (max-width: 767px){
  .hx-cart-drawer__panel{
    width: 100vw !important;
  }

  .hx-cart-drawer__top{
    padding: 24px 20px 18px !important;
  }

  .hx-cart-drawer__body{
    padding: 0 20px !important;
  }

  .hx-cart-drawer__bottom{
    padding: 16px 20px 20px !important;
  }

  .hx-cart-drawer__title{
    font-size: 34px !important;
  }

  .hx-cart-drawer__item{
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .hx-cart-drawer__name{
    font-size: 20px !important;
  }

  .hx-cart-drawer__actions{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .hx-cart-drawer__link--secondary{
    justify-self: start !important;
  }

  .hx-cart-drawer__link--primary{
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* =========================================================
   6. GLOBAL WOO NOTICES — HIDE EVERYWHERE
   ========================================================= */

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  display: none !important;
}

/* =========================================
   HX BREADCRUMBS — HEAVY LUXURY QUIET
   Rank Math + WooCommerce + fallback
   ========================================= */

.hx-breadcrumbs-wrap{
  width: auto !important;
  max-width: none !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hx-breadcrumbs-source{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hx-breadcrumbs-wrap nav,
.hx-breadcrumbs-wrap .rank-math-breadcrumb,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb,
.hx-breadcrumbs-wrap .hx-breadcrumbs{
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  font-family: "JetBrains Mono", monospace !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(18,17,16,.20) !important;

  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: auto !important;
}

.hx-breadcrumbs-wrap *,
.hx-breadcrumbs-wrap *::before,
.hx-breadcrumbs-wrap *::after{
  box-shadow: none !important;
}

.hx-breadcrumbs-wrap a,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a{
  display: inline !important;
  color: rgba(18,17,16,.38) !important;
  text-decoration: none !important;
  text-transform: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  cursor: pointer !important;

  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;

  transform: none !important;
  transition: none !important;
  animation: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.hx-breadcrumbs-wrap a::before,
.hx-breadcrumbs-wrap a::after,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a::before,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a::after,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a::before,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a::after{
  content: none !important;
  display: none !important;
}

.hx-breadcrumbs-wrap a:hover,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a:hover,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a:hover{
  color: rgba(18,17,16,.54) !important;
  text-decoration: none !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  transform: none !important;
  transition: none !important;
}

.hx-breadcrumbs-wrap a:focus,
.hx-breadcrumbs-wrap a:focus-visible,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a:focus,
.hx-breadcrumbs-wrap .rank-math-breadcrumb a:focus-visible,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a:focus,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb a:focus-visible{
  color: rgba(18,17,16,.54) !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.hx-breadcrumbs-wrap .separator,
.hx-breadcrumbs-wrap .rank-math-breadcrumb .separator,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb .separator{
  display: inline !important;
  color: rgba(18,17,16,.18) !important;
  margin: 0 8px !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.hx-breadcrumbs-wrap .woocommerce-breadcrumb{
  color: rgba(18,17,16,.20) !important;
}

.hx-breadcrumbs-wrap .last,
.hx-breadcrumbs-wrap [aria-current="page"],
.hx-breadcrumbs-wrap .woocommerce-breadcrumb > span:last-child,
.hx-breadcrumbs-wrap .rank-math-breadcrumb > span:last-child,
.hx-breadcrumbs-wrap strong{
  color: rgba(18,17,16,.50) !important;
  font-weight: 400 !important;
  pointer-events: none !important;
}

.hx-breadcrumbs-wrap .last a,
.hx-breadcrumbs-wrap [aria-current="page"] a,
.hx-breadcrumbs-wrap strong a{
  color: inherit !important;
  pointer-events: none !important;
}

.hx-breadcrumbs-wrap nav > *,
.hx-breadcrumbs-wrap .rank-math-breadcrumb > *,
.hx-breadcrumbs-wrap .woocommerce-breadcrumb > *,
.hx-breadcrumbs-wrap .hx-breadcrumbs > *{
  vertical-align: baseline !important;
}

.hx-breadcrumbs-wrap + .hx-pdp-collection,
.hx-breadcrumbs-wrap + .hx-product-collection,
.hx-breadcrumbs-wrap + .hx-pdp-kicker,
.hx-breadcrumbs-wrap + .product_title,
.hx-breadcrumbs-wrap + h1,
.hx-breadcrumbs-wrap + .elementor-heading-title{
  margin-top: 0 !important;
}

@media (max-width: 1024px){
  .hx-breadcrumbs-wrap{
    margin: 0 0 14px !important;
  }

  .hx-breadcrumbs-wrap nav,
  .hx-breadcrumbs-wrap .rank-math-breadcrumb,
  .hx-breadcrumbs-wrap .woocommerce-breadcrumb,
  .hx-breadcrumbs-wrap .hx-breadcrumbs{
    font-size: 8.5px !important;
    letter-spacing: 0.10em !important;
  }

  .hx-breadcrumbs-wrap .separator,
  .hx-breadcrumbs-wrap .rank-math-breadcrumb .separator,
  .hx-breadcrumbs-wrap .woocommerce-breadcrumb .separator{
    margin: 0 6px !important;
  }
}

@media (max-width: 767px){
  .hx-breadcrumbs-wrap{
    margin: 0 0 10px !important;
  }

  .hx-breadcrumbs-wrap nav,
  .hx-breadcrumbs-wrap .rank-math-breadcrumb,
  .hx-breadcrumbs-wrap .woocommerce-breadcrumb,
  .hx-breadcrumbs-wrap .hx-breadcrumbs{
    font-size: 8px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.08em !important;
    row-gap: 4px !important;
  }

  .hx-breadcrumbs-wrap .separator,
  .hx-breadcrumbs-wrap .rank-math-breadcrumb .separator,
  .hx-breadcrumbs-wrap .woocommerce-breadcrumb .separator{
    margin: 0 5px !important;
  }
}