/* Angie's shop experience layer — 2026-10. Loads last. Scoped to body.aps-xp. */

body.aps-xp {
  --xp-accent: #750B3D;
  --xp-accent-deep: #5A0730;
  --xp-accent-soft: #F7EDF2;
  --xp-ink: #231F22;
  --xp-muted: #6E666B;
  --xp-line: #ECE5E9;
  --xp-tile: #F6F2F4;
  --xp-soft: #FBF8F9;
  --xp-r-lg: 18px;
  --xp-r-md: 14px;
  --xp-r-sm: 10px;
  --xp-gutter: 14px;
  --xp-ease: cubic-bezier(.22, 1, .36, 1);
  --xp-spring: cubic-bezier(.34, 1.4, .64, 1);
  --xp-shadow: 0 18px 36px -20px rgba(90, 7, 48, .32), 0 2px 6px -2px rgba(90, 7, 48, .08);
  --xp-stick: 0px;
  -webkit-tap-highlight-color: transparent;
  text-rendering: optimizeLegibility;
}
@media (prefers-reduced-motion: no-preference) { html:has(body.aps-xp) { scroll-behavior: smooth; } }
body.aps-xp.aps-xp.aps-xp h1, body.aps-xp.aps-xp.aps-xp h2, body.aps-xp.aps-xp.aps-xp h3 { text-wrap: balance; }
body.aps-xp.aps-xp.aps-xp p { text-wrap: pretty; }
body.aps-xp.aps-xp.aps-xp .price, body.aps-xp.aps-xp.aps-xp .amount { font-variant-numeric: tabular-nums; }
body.aps-xp.aps-xp.aps-xp :focus-visible { outline: 2px solid var(--xp-accent); outline-offset: 2px; border-radius: 6px; }

/* Tactile buttons everywhere */
body.aps-xp.aps-xp.aps-xp .button, body.aps-xp.aps-xp.aps-xp .aps-btn, body.aps-xp.aps-xp.aps-xp button, body.aps-xp.aps-xp.aps-xp .aps-add-to-cart {
  transition: transform .18s var(--xp-ease), background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.aps-xp.aps-xp.aps-xp .button:active, body.aps-xp.aps-xp.aps-xp .aps-btn:active, body.aps-xp.aps-xp.aps-xp button:active, body.aps-xp.aps-xp.aps-xp .aps-add-to-cart:active { transform: scale(.97); }

/* ------------------------------------------------------------------ */
/* Smart sticky header                                                 */
/* ------------------------------------------------------------------ */
body.aps-active.aps-retail.aps-xp #masthead {
  position: sticky !important; top: 0 !important; z-index: 1000;
  background: #fff;
  transition: transform .32s var(--xp-ease), clip-path .32s var(--xp-ease), box-shadow .32s ease;
}
body.aps-active.aps-retail.aps-xp.xp-compact #masthead {
  transform: translateY(calc(-1 * var(--xp-hide-top, 0px)));
  clip-path: inset(var(--xp-hide-top, 0px) 0 var(--xp-hide-bottom, 0px) 0);
  box-shadow: 0 10px 24px -18px rgba(35, 31, 34, .45);
}
body.aps-active.aps-retail.aps-xp.xp-compact #masthead:has(.aps-search-bar__results:not([hidden])) { clip-path: none; }
body.aps-xp.aps-xp.aps-xp:has(.aps-mobile-drawer.is-open) #masthead,
body.aps-xp.aps-xp.aps-xp:has(.aps-side-cart.is-open) #masthead,
body.aps-xp.aps-xp.aps-xp:has(.aps-overlay.is-visible) #masthead { transform: none !important; clip-path: none !important; z-index: 100000 !important; }
body.aps-xp.aps-xp.aps-xp #page, body.aps-xp.aps-xp.aps-xp .site { overflow: visible; overflow-x: clip; }

/* ------------------------------------------------------------------ */
/* Layout gutters                                                      */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp .site-content > .col-full { padding-left: var(--xp-gutter) !important; padding-right: var(--xp-gutter) !important; }
  body.aps-xp.aps-xp.aps-xp .site-content .aps-container { padding-left: 0 !important; padding-right: 0 !important; }
  body.aps-xp.aps-xp.aps-xp #masthead .col-full { padding-left: 0 !important; padding-right: 0 !important; }
  body.aps-xp.aps-xp.aps-xp #masthead .aps-container { padding-left: var(--xp-gutter) !important; padding-right: var(--xp-gutter) !important; }
  body.aps-xp.aps-xp.aps-xp .site-content .aps-section--soft { margin-left: calc(-1 * var(--xp-gutter)) !important; margin-right: calc(-1 * var(--xp-gutter)) !important; }
  body.aps-xp.aps-xp.aps-xp .site-content .aps-section--soft > .aps-container { padding-left: var(--xp-gutter) !important; padding-right: var(--xp-gutter) !important; }
}

/* ------------------------------------------------------------------ */
/* Product card — one system for loop items and homepage cards         */
/* ------------------------------------------------------------------ */
body.aps-xp.aps-xp.aps-xp ul.products li.product,
body.aps-xp.aps-xp.aps-xp .aps-product-card {
  position: relative;
  display: flex !important; flex-direction: column;
  background: #fff;
  border: 1px solid var(--xp-line) !important;
  border-radius: var(--xp-r-md) !important;
  overflow: hidden;
  padding: 0 !important; margin: 0 !important;
  width: auto !important; float: none !important;
  box-shadow: none !important;
  text-align: left !important;
  transition: transform .4s var(--xp-ease), box-shadow .4s var(--xp-ease), border-color .3s ease;
  contain: layout paint;
}
@media (hover: hover) and (pointer: fine) {
  body.aps-xp.aps-xp.aps-xp ul.products li.product:hover,
  body.aps-xp.aps-xp.aps-xp .aps-product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--xp-shadow) !important;
    border-color: transparent !important;
  }
}

/* Loop product: link becomes a grid so main + alt image share one cell */
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.woocommerce-LoopProduct-link {
  display: grid !important; grid-template-columns: minmax(0, 1fr);
  flex: 1 1 auto;
  isolation: isolate; text-decoration: none; color: inherit;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.woocommerce-LoopProduct-link::before {
  content: ""; grid-area: 1 / 1; aspect-ratio: 1 / 1; background: var(--xp-tile); z-index: -1;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.woocommerce-LoopProduct-link > img,
body.aps-xp.aps-xp.aps-xp .aps-product-card__media img {
  grid-area: 1 / 1;
  width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important;
  object-fit: contain !important; padding: 7% !important; margin: 0 !important;
  border-radius: 0 !important; background: transparent !important;
  mix-blend-mode: multiply;
  transition: transform .6s var(--xp-ease), opacity .45s ease;
}
body.aps-xp.aps-xp.aps-xp .aps-product-card__media {
  display: grid !important; grid-template-columns: minmax(0, 1fr);
  position: relative; aspect-ratio: 1 / 1; background: var(--xp-tile) !important;
  border-radius: 0 !important; overflow: hidden; isolation: isolate; padding: 0 !important; margin: 0 !important;
}
body.aps-xp.aps-xp.aps-xp .aps-product-card__media > img { position: static; }
body.aps-xp.aps-xp.aps-xp .aps-xp-alt { opacity: 0; pointer-events: none; }
body.aps-xp.aps-xp.aps-xp .aps-xp-alt:not([src]) { display: none !important; }
@media (hover: hover) and (pointer: fine) {
  body.aps-xp.aps-xp.aps-xp li.product:hover > a > img:not(.aps-xp-alt),
  body.aps-xp.aps-xp.aps-xp .aps-product-card:hover .aps-product-card__media img:not(.aps-xp-alt) { transform: scale(1.045); }
  body.aps-xp.aps-xp.aps-xp li.product:hover .aps-xp-alt[src].is-ready,
  body.aps-xp.aps-xp.aps-xp .aps-product-card:hover .aps-xp-alt[src].is-ready { opacity: 1; }
  body.aps-xp.aps-xp.aps-xp li.product:hover > a > img:not(.aps-xp-alt):has(~ .aps-xp-alt.is-ready),
  body.aps-xp.aps-xp.aps-xp .aps-product-card:hover .aps-product-card__media img:not(.aps-xp-alt):has(~ .aps-xp-alt.is-ready) { opacity: 0; }
}

/* Card text */
body.aps-xp.aps-xp.aps-xp .aps-product-card__body { padding: 12px 14px 14px !important; display: flex !important; flex-direction: column; gap: 4px; flex: 1 1 auto; }
body.aps-xp.aps-xp.aps-xp .aps-product-card__cat {
  font-size: 10.5px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--xp-muted) !important; font-weight: 500;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product .woocommerce-loop-product__title,
body.aps-xp.aps-xp.aps-xp .aps-product-card__title, body.aps-xp.aps-xp.aps-xp .aps-product-card__title a {
  font-family: var(--font-body, Roboto, sans-serif) !important;
  font-size: 14px !important; line-height: 1.38 !important; font-weight: 500 !important;
  color: var(--xp-ink) !important; letter-spacing: 0 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
  min-height: calc(2 * 1.38em); text-decoration: none !important;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product .woocommerce-loop-product__title { padding: 12px 14px 0 !important; margin: 0 0 6px !important; }
body.aps-xp.aps-xp.aps-xp ul.products li.product .price,
body.aps-xp.aps-xp.aps-xp .aps-product-card__price {
  font-size: 16px !important; font-weight: 700 !important; color: var(--xp-ink) !important;
  margin: auto 0 0 !important; padding: 0 !important; letter-spacing: -.01em;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product .price { padding: 0 14px !important; margin: 0 !important; }
body.aps-xp.aps-xp.aps-xp ul.products li.product .price del, body.aps-xp.aps-xp.aps-xp .aps-product-card__price del { color: var(--xp-muted) !important; font-weight: 400; font-size: .82em; opacity: 1; }
body.aps-xp.aps-xp.aps-xp ul.products li.product .price ins, body.aps-xp.aps-xp.aps-xp .aps-product-card__price ins { color: var(--xp-accent) !important; text-decoration: none; background: none; }
body.aps-xp.aps-xp.aps-xp ul.products li.product .wc-stripe-bnpl-shop-message:empty { display: none; }

/* Card call to action — calm by default, decisive on interaction */
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button,
body.aps-xp.aps-xp.aps-xp ul.products li.product > .added_to_cart,
body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart {
  display: flex !important; align-items: center; justify-content: center; gap: 6px;
  margin: 12px 14px 14px !important; min-height: 42px; width: auto !important;
  padding: 8px 12px !important; border-radius: var(--xp-r-sm) !important;
  background: var(--xp-accent-soft) !important; color: var(--xp-accent) !important;
  border: 0 !important; box-shadow: none !important;
  font-size: 13.5px !important; font-weight: 600 !important; letter-spacing: .01em; text-transform: none !important;
  text-decoration: none !important; line-height: 1.2;
}
body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart { margin: 10px 0 0 !important; align-self: stretch; width: 100% !important; }
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button::before,
body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart.ajax_add_to_cart::before {
  content: ""; width: 15px; height: 15px; flex: 0 0 15px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.product_type_variable::before { display: none; }
@media (hover: hover) and (pointer: fine) {
  body.aps-xp.aps-xp.aps-xp ul.products li.product:hover > a.button,
  body.aps-xp.aps-xp.aps-xp .aps-product-card:hover .aps-add-to-cart { background: var(--xp-accent) !important; color: #fff !important; }
}
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.loading,
body.aps-xp.aps-xp.aps-xp .aps-add-to-cart.loading { opacity: .65; pointer-events: none; }
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.added,
body.aps-xp.aps-xp.aps-xp .aps-add-to-cart.added { background: var(--xp-ink) !important; color: #fff !important; }
body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.added::after { display: none !important; }

/* Badges */
body.aps-xp.aps-xp.aps-xp ul.products li.product .onsale,
body.aps-xp.aps-xp.aps-xp .aps-product-card__badges { position: absolute !important; top: 10px; left: 10px; z-index: 2; margin: 0 !important; }
body.aps-xp.aps-xp.aps-xp ul.products li.product .onsale,
body.aps-xp.aps-xp.aps-xp .aps-badge {
  display: inline-flex !important; align-items: center; min-height: 0 !important; min-width: 0 !important;
  padding: 4px 8px !important; border-radius: 6px !important; border: 0 !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: .04em; line-height: 1.1 !important;
  text-transform: uppercase; box-shadow: 0 2px 8px -3px rgba(35, 31, 34, .25);
}
body.aps-xp.aps-xp.aps-xp ul.products li.product .onsale, body.aps-xp.aps-xp.aps-xp .aps-badge--sale { background: var(--xp-accent) !important; color: #fff !important; }
body.aps-xp.aps-xp.aps-xp .aps-badge--new { background: #fff !important; color: var(--xp-ink) !important; }
body.aps-xp.aps-xp.aps-xp .aps-product-card__badges { display: flex; gap: 6px; }

/* Grids */
body.aps-xp.aps-xp.aps-xp ul.products {
  display: grid !important; gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 0 24px !important; padding: 0 !important;
}
body.aps-xp.aps-xp.aps-xp ul.products::before, body.aps-xp.aps-xp.aps-xp ul.products::after { display: none !important; }
@media (min-width: 768px) { body.aps-xp.aps-xp.aps-xp ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; } }
@media (min-width: 1200px) { body.aps-xp.aps-xp.aps-xp ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp ul.products { gap: 10px !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product .woocommerce-loop-product__title,
  body.aps-xp.aps-xp.aps-xp .aps-product-card__title, body.aps-xp.aps-xp.aps-xp .aps-product-card__title a { font-size: 13.5px !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product .woocommerce-loop-product__title { padding: 10px 11px 0 !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product .price { padding: 0 11px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-product-card__body { padding: 10px 11px 11px !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button { margin: 10px 11px 11px !important; min-height: 40px; font-size: 13px !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product .price, body.aps-xp.aps-xp.aps-xp .aps-product-card__price { font-size: 15px !important; }
}


/* Phones: price + round action share one row, so every card is shorter and more products fit per screen */
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp ul.products li.product,
  body.aps-xp.aps-xp.aps-xp .aps-product-card { padding-bottom: 0 !important; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product .price { padding: 0 54px 12px 11px !important; min-height: 50px; display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; }
  body.aps-xp.aps-xp.aps-xp .aps-product-card__price { padding-right: 46px !important; min-height: 38px; display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button,
  body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart {
    position: absolute !important; right: 8px; bottom: 8px; z-index: 2;
    width: 40px !important; height: 40px; min-height: 40px !important; padding: 0 !important; margin: 0 !important;
    border-radius: 50% !important; font-size: 0 !important; line-height: 0;
    background: var(--xp-accent) !important; color: #fff !important;
    box-shadow: 0 6px 14px -6px rgba(117, 11, 61, .7) !important;
  }
  body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart { right: 11px; bottom: 11px; align-self: auto; }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button::before,
  body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart::before {
    display: block !important; content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.product_type_variable::before,
  body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart:not(.ajax_add_to_cart)::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E");
  }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > a.button.added::before,
  body.aps-xp.aps-xp.aps-xp .aps-product-card .aps-add-to-cart.added::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  }
  body.aps-xp.aps-xp.aps-xp ul.products li.product > .added_to_cart { display: none !important; }
}

/* ------------------------------------------------------------------ */
/* Homepage                                                            */
/* ------------------------------------------------------------------ */
body.aps-xp.aps-xp.aps-xp .aps-retail-hero { border-radius: var(--xp-r-lg) !important; overflow: hidden; }
body.aps-xp.aps-xp.aps-xp .aps-retail-hero__copy { position: relative; }
body.aps-xp.aps-xp.aps-xp #aps-retail-title { letter-spacing: -.035em !important; line-height: .98 !important; }
body.aps-xp.aps-xp.aps-xp .aps-retail-hero .aps-btn--primary { border-radius: 12px !important; padding: 14px 20px !important; white-space: nowrap; box-shadow: 0 12px 24px -14px rgba(117, 11, 61, .8); }
body.aps-xp.aps-xp.aps-xp .aps-retail-hero__photo img { transition: transform 1.4s var(--xp-ease); }
@media (hover: hover) { body.aps-xp.aps-xp.aps-xp .aps-retail-hero:hover .aps-retail-hero__photo img { transform: scale(1.03); } }

body.aps-xp.aps-xp.aps-xp .aps-xp-trust {
  list-style: none; margin: 14px auto 0 !important; padding-top: 0; padding-bottom: 0;
  display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
}
body.aps-xp.aps-xp.aps-xp .aps-xp-trust::-webkit-scrollbar { display: none; }
body.aps-xp.aps-xp.aps-xp .aps-xp-trust li {
  flex: 1 0 auto; scroll-snap-align: start;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 14px; border-radius: 12px; background: var(--xp-soft); border: 1px solid var(--xp-line);
  font-size: 13px; font-weight: 500; color: var(--xp-ink); white-space: nowrap; margin: 0;
}
body.aps-xp.aps-xp.aps-xp .aps-xp-trust svg { color: var(--xp-accent); flex: 0 0 auto; }
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp .aps-xp-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; overflow: visible; margin-top: 10px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-xp-trust li { flex-direction: column; gap: 5px; padding: 10px 6px; white-space: normal; text-align: center; font-size: 11.5px; line-height: 1.25; font-weight: 500; }
}

/* Shop by pet: story-style circles */
body.aps-xp.aps-xp.aps-xp .aps-retail-category-grid {
  display: grid !important; grid-auto-flow: column; grid-auto-columns: 84px !important; grid-template-columns: none !important;
  gap: 14px !important; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory;
  padding: 4px var(--xp-gutter) 6px; margin: 0 calc(-1 * var(--xp-gutter)); scroll-padding: 0 var(--xp-gutter);
}
body.aps-xp.aps-xp.aps-xp .aps-retail-category-grid::-webkit-scrollbar { display: none; }
body.aps-xp.aps-xp.aps-xp .aps-retail-category {
  display: flex !important; flex-direction: column; align-items: center; gap: 8px;
  padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; min-height: 0 !important;
  scroll-snap-align: start; text-align: center; text-decoration: none !important;
  height: auto !important; max-height: none !important;
}
body.aps-xp.aps-xp.aps-xp .aps-retail-category img {
  width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50% !important;
  padding: 3px; background: #fff; box-shadow: 0 0 0 2px var(--xp-line);
  transition: box-shadow .3s ease, transform .4s var(--xp-spring);
  flex: 0 0 auto; max-height: none !important; min-height: 0 !important;
}
body.aps-xp.aps-xp.aps-xp .aps-retail-category span:first-of-type { font-size: 13px !important; font-weight: 600 !important; color: var(--xp-ink) !important; line-height: 1.2; }
body.aps-xp.aps-xp.aps-xp .aps-retail-category span:last-child:not(:first-of-type) { display: none !important; }
body.aps-xp.aps-xp.aps-xp .aps-retail-category:hover img, body.aps-xp.aps-xp.aps-xp .aps-retail-category:focus-visible img { box-shadow: 0 0 0 2px var(--xp-accent); transform: scale(1.04); }
@media (min-width: 768px) {
  body.aps-xp.aps-xp.aps-xp .aps-retail-category-grid { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; overflow: visible; margin: 0; padding: 4px 0 6px; gap: 24px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-retail-category img { padding: 5px; max-width: 136px; }
  body.aps-xp.aps-xp.aps-xp .aps-retail-category span:first-of-type { font-size: 15px !important; }
}

/* Product rails (homepage strips) */
body.aps-xp.aps-xp.aps-xp .aps-xp-rail { position: relative; }
body.aps-xp.aps-xp.aps-xp .aps-product-strip {
  display: grid !important; grid-auto-flow: column; grid-template-columns: none !important;
  grid-auto-columns: 46% !important; gap: 10px !important;
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin: 0 calc(-1 * var(--xp-gutter)) !important; padding: 4px var(--xp-gutter) 10px !important; scroll-padding: 0 var(--xp-gutter);
}
body.aps-xp.aps-xp.aps-xp .aps-product-strip::-webkit-scrollbar { display: none; }
body.aps-xp.aps-xp.aps-xp .aps-product-strip > * { scroll-snap-align: start; min-width: 0; }
@media (min-width: 640px) { body.aps-xp.aps-xp.aps-xp .aps-product-strip { grid-auto-columns: calc((100% - 2 * 14px - 2 * var(--xp-gutter)) / 3) !important; gap: 14px !important; } }
@media (min-width: 900px) {
  body.aps-xp.aps-xp.aps-xp .aps-product-strip { grid-auto-columns: calc((100% - 3 * 18px) / 4) !important; gap: 18px !important; margin: 0 !important; padding: 6px 0 14px !important; scroll-padding: 0; }
}
@media (min-width: 1200px) { body.aps-xp.aps-xp.aps-xp .aps-product-strip { grid-auto-columns: calc((100% - 4 * 18px) / 5) !important; } }

body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn {
  position: absolute; top: calc(50% - 50px); z-index: 3;
  width: 44px; height: 44px; border-radius: 50%; border: 0; padding: 0;
  display: none; place-items: center; cursor: pointer;
  background: #fff; color: var(--xp-ink); box-shadow: 0 8px 22px -8px rgba(35, 31, 34, .4);
}
body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn svg { width: 18px; height: 18px; }
body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn--prev { left: -22px; }
body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn--next { right: -22px; }
body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn[disabled] { opacity: 0; pointer-events: none; }
body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn:hover { background: var(--xp-accent); color: #fff; }
@media (min-width: 900px) and (hover: hover) { body.aps-xp.aps-xp.aps-xp .aps-xp-rail__btn { display: grid; transition: opacity .25s ease, background .2s ease, color .2s ease, transform .18s var(--xp-ease); } }

body.aps-xp.aps-xp.aps-xp .aps-xp-progress { height: 3px; border-radius: 3px; background: var(--xp-line); margin: 6px auto 0; width: 88px; overflow: hidden; }
body.aps-xp.aps-xp.aps-xp .aps-xp-progress > i { display: block; height: 100%; width: var(--xp-p, 30%); margin-left: var(--xp-o, 0%); background: var(--xp-accent); border-radius: 3px; transition: margin-left .15s linear; }
@media (min-width: 900px) { body.aps-xp.aps-xp.aps-xp .aps-xp-progress { display: none; } }

/* Section rhythm */
body.aps-xp.aps-xp.aps-xp .aps-section { padding-top: 34px !important; padding-bottom: 38px !important; }
body.aps-xp.aps-xp.aps-xp .aps-section--soft { background: var(--xp-soft) !important; }
body.aps-xp.aps-xp.aps-xp .aps-section__head h2, body.aps-xp.aps-xp.aps-xp .aps-retail-section-head h2 { letter-spacing: -.025em !important; }
body.aps-xp.aps-xp.aps-xp .aps-section__head--row { align-items: flex-end !important; }
body.aps-xp.aps-xp.aps-xp .aps-section__head .aps-btn--ghost {
  border: 0 !important; background: transparent !important; color: var(--xp-accent) !important; padding: 6px 0 !important; min-height: 0 !important; font-weight: 600;
}
body.aps-xp.aps-xp.aps-xp .aps-section__head .aps-btn--ghost::after { content: " \2192"; }
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp .aps-section { padding-top: 26px !important; padding-bottom: 28px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-section__head { margin-bottom: 14px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-section__head p.text-muted { display: none; }
}

/* Tabs as a segmented control */
body.aps-xp.aps-xp.aps-xp .aps-tabs__nav {
  display: inline-flex !important; gap: 4px !important; padding: 4px; border-radius: 12px; background: var(--xp-tile);
  margin-bottom: 16px !important; border: 0 !important;
}
body.aps-xp.aps-xp.aps-xp .aps-tabs__btn {
  border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--xp-muted) !important;
  min-height: 38px; padding: 6px 16px !important; font-weight: 600 !important; box-shadow: none !important;
}
body.aps-xp.aps-xp.aps-xp .aps-tabs__btn.is-active { background: #fff !important; color: var(--xp-ink) !important; box-shadow: 0 2px 8px -3px rgba(35, 31, 34, .25) !important; }

/* ------------------------------------------------------------------ */
/* Shop / category archives                                            */
/* ------------------------------------------------------------------ */
body.aps-xp.woocommerce-shop .woocommerce-products-header,
body.aps-xp.tax-product_cat .woocommerce-products-header { margin: 6px 0 10px !important; padding: 0 !important; text-align: left !important; }
body.aps-xp.aps-xp.aps-xp .woocommerce-products-header__title { letter-spacing: -.03em !important; }
body.aps-xp.aps-xp.aps-xp .aps-retail-subcats {
  display: flex !important; flex-wrap: nowrap !important; gap: 8px; overflow-x: auto; scrollbar-width: none;
  margin: 0 calc(-1 * var(--xp-gutter)) 12px !important; padding: 2px var(--xp-gutter) !important;
}
body.aps-xp.aps-xp.aps-xp .aps-retail-subcats::-webkit-scrollbar { display: none; }
body.aps-xp.aps-xp.aps-xp .aps-retail-subcats a {
  flex: 0 0 auto; white-space: nowrap; padding: 9px 14px !important; border-radius: 999px !important;
  background: var(--xp-soft) !important; border: 1px solid var(--xp-line) !important; color: var(--xp-ink) !important;
  font-size: 13px !important; font-weight: 500; text-decoration: none !important;
}
body.aps-xp.aps-xp.aps-xp .aps-retail-subcats a:hover { border-color: var(--xp-accent) !important; color: var(--xp-accent) !important; }
@media (min-width: 768px) { body.aps-xp.aps-xp.aps-xp .aps-retail-subcats { margin: 0 0 16px !important; padding: 2px 0 !important; flex-wrap: wrap !important; } }

body.aps-xp.aps-xp.aps-xp p.aps-active-filters.is-default { display: none !important; }
body.aps-xp.aps-xp.aps-xp .woocommerce-ordering select {
  border-radius: 10px !important; border: 1px solid var(--xp-line) !important; min-height: 42px; background-color: #fff;
}
@media (max-width: 767px) {
  body.aps-xp.woocommerce-shop .woocommerce-products-header__title,
  body.aps-xp.tax-product_cat .woocommerce-products-header__title { font-size: 26px !important; margin: 0 !important; }
  body.aps-xp.aps-xp.aps-xp .aps-shop-layout .storefront-sorting {
    position: sticky; top: var(--xp-stick); z-index: 30;
    display: grid !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px;
    margin: 0 calc(-1 * var(--xp-gutter)) 12px !important; padding: 8px var(--xp-gutter) !important;
    background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: saturate(1.6) blur(12px); backdrop-filter: saturate(1.6) blur(12px);
    border-bottom: 1px solid var(--xp-line);
    transition: top .32s var(--xp-ease);
  }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting [data-aps-filters-toggle] {
    min-height: 42px !important; border-radius: 10px !important; padding: 8px 14px !important; margin: 0 !important;
    display: inline-flex !important; align-items: center; gap: 8px; border: 1px solid var(--xp-ink) !important; color: var(--xp-ink) !important; background: #fff !important;
  }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting [data-aps-filters-toggle]::before {
    content: ""; width: 16px; height: 16px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting .woocommerce-ordering { margin: 0 !important; float: none !important; width: 100%; }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting .woocommerce-ordering select { width: 100% !important; margin: 0 !important; }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting .woocommerce-result-count {
    grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; font-size: 12px !important; color: var(--xp-muted) !important; float: none !important;
  }
  body.aps-xp.aps-xp.aps-xp .storefront-sorting .woocommerce-pagination { display: none; }
}


/* Phones: reclaim horizontal space and compress everything above the first product row */
@media (max-width: 767px) {
  body.aps-xp.aps-xp.aps-xp.woocommerce-shop .site-main,
  body.aps-xp.aps-xp.aps-xp.tax-product_cat .site-main,
  body.aps-xp.aps-xp.aps-xp.tax-product_tag .site-main,
  body.aps-xp.aps-xp.aps-xp.search-results .site-main,
  body.aps-xp.aps-xp.aps-xp.single-product .site-main { padding-left: 0 !important; padding-right: 0 !important; }
  body.aps-xp.aps-xp.aps-xp .aps-bc-strip { padding: 10px 0 2px !important; min-height: 0 !important; }
  body.aps-xp.aps-xp.aps-xp .aps-bc-strip .woocommerce-breadcrumb { margin: 0 !important; padding: 0 !important; }
  body.aps-xp.aps-xp.aps-xp.woocommerce-shop .woocommerce-products-header,
  body.aps-xp.aps-xp.aps-xp.tax-product_cat .woocommerce-products-header { margin: 4px 0 8px !important; }
  body.aps-xp.aps-xp.aps-xp .term-description, body.aps-xp.aps-xp.aps-xp .woocommerce-products-header .page-description { font-size: 13.5px; line-height: 1.5; margin: 4px 0 8px !important; }
  body.aps-xp.aps-xp.aps-xp .aps-shop-layout .storefront-sorting { background: rgba(255, 255, 255, .96); }
  body.aps-xp.aps-xp.aps-xp .aps-shop-layout .storefront-sorting + hr,
  body.aps-xp.aps-xp.aps-xp .aps-shop-layout__main > hr { display: none; }
}

/* ------------------------------------------------------------------ */
/* Product page                                                        */
/* ------------------------------------------------------------------ */
body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery .flex-viewport {
  border: 0 !important; border-radius: var(--xp-r-lg) !important; background: var(--xp-tile) !important;
}
body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery__wrapper,
body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery__image { background: var(--xp-tile) !important; }
body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery__image > a > img {
  padding: 4% !important; mix-blend-mode: multiply;
}
body.aps-active.aps-retail.aps-xp.single-product ol.flex-control-thumbs li img {
  border-radius: 10px !important; background: var(--xp-tile) !important; border: 2px solid transparent; opacity: .72;
  transition: opacity .2s ease, border-color .2s ease;
}
body.aps-active.aps-retail.aps-xp.single-product ol.flex-control-thumbs li img.flex-active,
body.aps-active.aps-retail.aps-xp.single-product ol.flex-control-thumbs li img:hover { opacity: 1; border-color: var(--xp-accent); }
@media (min-width: 900px) {
  body.aps-active.aps-retail.aps-xp.single-product { --pdp-image-height: min(560px, 46vw); }
}
@media (max-width: 767px) {
  body.aps-active.aps-retail.aps-xp.single-product { --pdp-image-height: calc(100vw - 8px); }
  body.aps-active.aps-retail.aps-xp.single-product div.product .woocommerce-product-gallery {
    margin-left: calc(-1 * var(--xp-gutter)) !important; margin-right: calc(-1 * var(--xp-gutter)) !important;
    width: calc(100% + 2 * var(--xp-gutter)) !important; max-width: none !important;
  }
  body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery .flex-viewport { border-radius: 0 !important; }
  body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery__image > a > img { padding: 0 !important; }
  body.aps-active.aps-retail.aps-xp.single-product .woocommerce-product-gallery__image { margin: 0 !important; padding: 0 !important; }
  body.aps-active.aps-retail.aps-xp.single-product .aps-pdp-back, body.aps-active.aps-retail.aps-xp.single-product a[href].aps-back-link { margin: 6px 0 8px !important; }
  body.aps-active.aps-retail.aps-xp.single-product ol.flex-control-thumbs { padding: 10px var(--xp-gutter) 4px !important; margin: 0 !important; }
  body.aps-active.aps-retail.aps-xp.single-product div.product .product_title { font-size: 22px !important; line-height: 1.2 !important; letter-spacing: -.02em !important; }
}
body.aps-active.aps-retail.aps-xp.single-product div.product .summary .price { letter-spacing: -.02em; }


/* Product-page discovery cards follow the shared card system */
body.aps-active.aps-retail.aps-xp.single-product .aps-discovery .aps-product-card {
  border: 1px solid var(--xp-line) !important; background: #fff !important; border-radius: var(--xp-r-md) !important; overflow: hidden !important; padding: 0 !important;
}
body.aps-active.aps-retail.aps-xp.single-product .aps-discovery .aps-product-card__body { padding: 12px 14px 14px !important; }
body.aps-active.aps-retail.aps-xp.single-product .aps-discovery .aps-product-card__media { border-radius: 0 !important; margin: 0 !important; }
body.aps-active.aps-retail.aps-xp.single-product .aps-discovery-grid { gap: 16px !important; }
@media (max-width: 767px) {
  body.aps-active.aps-retail.aps-xp.single-product .aps-discovery .aps-product-card__body { padding: 10px 11px 11px !important; }
  body.aps-active.aps-retail.aps-xp.single-product .aps-discovery-grid { gap: 10px !important; }
}

/* Variation chips (selects stay in the DOM, visually hidden, still drive WooCommerce) */
body.aps-xp.aps-xp.aps-xp .aps-xp-chips-ready select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
body.aps-xp.aps-xp.aps-xp .aps-xp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 0; }
body.aps-xp.aps-xp.aps-xp .aps-xp-chip {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  min-height: 42px; min-width: 48px; padding: 8px 14px; justify-content: center;
  border: 1.5px solid var(--xp-line); border-radius: 10px; background: #fff; color: var(--xp-ink);
  font: 500 14px/1.1 var(--font-body, Roboto, sans-serif); cursor: pointer;
}
body.aps-xp.aps-xp.aps-xp .aps-xp-chip:hover { border-color: var(--xp-ink); }
body.aps-xp.aps-xp.aps-xp .aps-xp-chip[aria-pressed="true"] { border-color: var(--xp-accent); background: var(--xp-accent-soft); color: var(--xp-accent); font-weight: 600; box-shadow: inset 0 0 0 1px var(--xp-accent); }
body.aps-xp.aps-xp.aps-xp .aps-xp-chip[data-unavailable] { color: #B3AAB0; background: var(--xp-soft); text-decoration: line-through; text-decoration-color: #C9C0C5; }
body.aps-xp.aps-xp.aps-xp .aps-xp-chip__dot { width: 18px; height: 18px; border-radius: 50%; background: var(--xp-swatch); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14); flex: 0 0 18px; }
body.aps-xp.aps-xp.aps-xp table.variations .label label .aps-xp-picked { font-weight: 400; color: var(--xp-muted); margin-left: 6px; }

body.aps-active.aps-retail.aps-xp.single-product div.product .single_add_to_cart_button.button {
  border-radius: 12px !important; min-height: 52px !important; font-size: 15px !important; box-shadow: 0 12px 24px -14px rgba(117, 11, 61, .8);
}
body.aps-xp.aps-xp.aps-xp .quantity { border-radius: 12px !important; }
body.aps-xp.aps-xp.aps-xp .aps-pdp-sticky { -webkit-backdrop-filter: saturate(1.6) blur(12px); backdrop-filter: saturate(1.6) blur(12px); background: rgba(255, 255, 255, .94) !important; }
body.aps-xp.aps-xp.aps-xp .aps-pdp-sticky button { border-radius: 12px !important; }


/* Desktop shopping comfort */
@media (min-width: 1024px) {
  body.aps-xp.aps-xp.aps-xp .aps-shop-layout__sidebar {
    position: sticky; top: calc(var(--xp-stick) + 16px);
    max-height: calc(100vh - var(--xp-stick) - 32px); overflow-y: auto; overscroll-behavior: contain;
    scrollbar-width: thin; transition: top .32s var(--xp-ease);
  }
}
body.aps-active.aps-retail.aps-xp.single-product table.variations tbody { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
body.aps-xp.aps-xp.aps-xp.home .site-main,
body.aps-xp.aps-xp.aps-xp.home .content-area,
body.aps-xp.aps-xp.aps-xp.home .site-main > article,
body.aps-xp.aps-xp.aps-xp.home .hentry { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.aps-xp.aps-xp.aps-xp.home .site-content { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.aps-xp.aps-xp.aps-xp .aps-tabs__panel .aps-xp-rail { margin-bottom: 0; }

/* ------------------------------------------------------------------ */
/* Scroll reveal (only applied by JS to below-the-fold elements)       */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
  body.aps-xp.aps-xp.aps-xp .xp-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--xp-ease), transform .7s var(--xp-ease); transition-delay: var(--xp-d, 0ms); }
  body.aps-xp.aps-xp.aps-xp .xp-reveal.is-in { opacity: 1; transform: none; }
}

/* Mobile bottom nav polish */
body.aps-xp.aps-xp.aps-xp .aps-mobnav { -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); background: rgba(255, 255, 255, .92) !important; }

/* Footer rendering cost */
body.aps-xp.aps-xp.aps-xp .site-footer { content-visibility: auto; contain-intrinsic-size: auto 640px; }
