.nav-logo .luxe-logo-img,
.hf-brand-name .luxe-logo-img,
.login-logo .luxe-logo-img {
  display: inline-block;
  vertical-align: middle;
}

.hf-brand-name .luxe-logo-img {
  margin-bottom: 2px;
}

.ac-header span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ac-tab-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: currentColor;
}

.ac-tab-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

body.single-product,
body.single-product #luxe-app,
body.single-product #luxe-main,
body.single-product .accordion,
body.single-product .ac-item,
body.single-product .ac-body,
body.luxe-product-page,
body.luxe-product-page #luxe-app,
body.luxe-product-page #luxe-main,
body.luxe-product-page .accordion,
body.luxe-product-page .ac-item,
body.luxe-product-page .ac-body {
  overflow-anchor: none;
}

.ac-empty {
  color: var(--g500);
  font-size: 12px;
  line-height: 1.6;
}

.social-btn.is-disabled {
  opacity: .45;
  cursor: not-allowed;
}

.login-switch button {
  padding: 0;
  color: var(--black);
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

a.login-tab {
  text-decoration: none;
}

.social-icon-fb {
  font-size: 20px;
  line-height: 1;
}

.login-notice {
  margin-bottom: 14px;
  padding: 10px 12px;
  border: .5px solid #f6c8c8;
  border-radius: 6px;
  background: #fff7f7;
  color: #9f1f1f;
  font-size: 12px;
  line-height: 1.45;
}

/* Frontend QA: keep archive/recommendation card lines visible at 0.5px and stop image zoom. */
body.tax-product_cat .prod-card,
body.tax-product_tag .prod-card,
body.post-type-archive-product .prod-card,
body.search .prod-card {
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.tax-product_cat .prod-img-wrap,
body.tax-product_tag .prod-img-wrap,
body.post-type-archive-product .prod-img-wrap,
body.search .prod-img-wrap {
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.tax-product_cat .prod-card:hover,
body.tax-product_cat .prod-card:focus-visible,
body.tax-product_tag .prod-card:hover,
body.tax-product_tag .prod-card:focus-visible,
body.post-type-archive-product .prod-card:hover,
body.post-type-archive-product .prod-card:focus-visible,
body.search .prod-card:hover,
body.search .prod-card:focus-visible,
body.tax-product_cat .prod-card:hover .prod-img-wrap,
body.tax-product_cat .prod-card:focus-visible .prod-img-wrap,
body.tax-product_tag .prod-card:hover .prod-img-wrap,
body.tax-product_tag .prod-card:focus-visible .prod-img-wrap,
body.post-type-archive-product .prod-card:hover .prod-img-wrap,
body.post-type-archive-product .prod-card:focus-visible .prod-img-wrap,
body.search .prod-card:hover .prod-img-wrap,
body.search .prod-card:focus-visible .prod-img-wrap {
  box-shadow: inset 0 0 0 .5px var(--black) !important;
}

body.tax-product_cat .prod-img,
body.tax-product_cat .prod-card:hover .prod-img,
body.tax-product_cat .prod-card:focus-visible .prod-img,
body.tax-product_tag .prod-img,
body.tax-product_tag .prod-card:hover .prod-img,
body.tax-product_tag .prod-card:focus-visible .prod-img,
body.post-type-archive-product .prod-img,
body.post-type-archive-product .prod-card:hover .prod-img,
body.post-type-archive-product .prod-card:focus-visible .prod-img,
body.search .prod-img,
body.search .prod-card:hover .prod-img,
body.search .prod-card:focus-visible .prod-img {
  transform: none !important;
}

body.luxe-product-page .hotnow-item::after,
body.luxe-product-page .alsolike-card::after,
body.luxe-product-page .related-card::after,
body.luxe-product-page .hot-prod-card::after,
body.single-product .hotnow-item::after,
body.single-product .alsolike-card::after,
body.single-product .related-card::after,
body.single-product .hot-prod-card::after {
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.single-product .act-bar,
body.luxe-product-page .act-bar {
  border-top: 0 !important;
  box-shadow: inset 0 .5px 0 var(--g200) !important;
  width: min(100%, var(--luxe-inner-surface, 600px)) !important;
  max-width: var(--luxe-inner-surface, 600px) !important;
}

body.single-product .act-fav,
body.luxe-product-page .act-fav {
  border-right: 0 !important;
  box-shadow: inset -.5px 0 0 var(--g200) !important;
}

body.error404 .notfound-actions .btn-outline,
body.woocommerce-account .acc-hero .acc-guest-signin {
  border: 0 !important;
  box-shadow: inset 0 0 0 .5px var(--black) !important;
}

body.woocommerce-checkout .co-sel-wrap.luxe-select-ready select.co-sel {
  display: none !important;
}

body.home .announce-bar {
  display: flex !important;
}

body.home .prod-img-wrap {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  background: var(--g100) !important;
}

body.home .prod-img-wrap img.prod-img,
body.home .prod-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.woocommerce-cart .cart-item-img img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}

body.woocommerce-cart .checkout-bar {
  position: fixed !important;
  left: 50% !important;
  bottom: var(--bot) !important;
  transform: translateX(-50%) !important;
  width: min(100%, var(--luxe-inner-surface, 600px)) !important;
  max-width: var(--luxe-inner-surface, 600px) !important;
  z-index: 95 !important;
}

body.woocommerce-cart .luxe-main {
  padding-bottom: calc(var(--bot) + 82px + env(safe-area-inset-bottom, 0px)) !important;
}

body.woocommerce-checkout .checkout-body {
  padding-bottom: max(24px, env(safe-area-inset-bottom, 0px)) !important;
}

body.woocommerce-checkout #luxe-main {
  padding-top: 0 !important;
}

body.woocommerce-checkout #luxe-main > .luxe-wc-page {
  margin-top: 0 !important;
}

body.woocommerce-checkout #luxe-payment-group .wc_payment_method {
  min-height: 50px !important;
}

body.woocommerce-checkout .announce-bar {
  display: none !important;
}

body.woocommerce-checkout #luxe-app {
  padding-top: var(--nav) !important;
}

body.woocommerce-checkout #luxe-top-nav {
  top: 0 !important;
}

body.admin-bar.woocommerce-checkout #luxe-top-nav {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar.woocommerce-checkout #luxe-top-nav {
    top: 46px !important;
  }
}

:root {
  --announce: 34px;
}

body .announce-bar {
  background: #0a0a0a !important;
  color: rgba(255,255,255,.85) !important;
  overflow: hidden !important;
  height: var(--announce) !important;
  min-height: var(--announce) !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 230 !important;
  box-shadow:
    inset .5px 0 0 rgba(255,255,255,.16),
    inset -.5px 0 0 rgba(255,255,255,.16) !important;
}

body .announce-track {
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  animation: announce-scroll 32s linear infinite !important;
  will-change: transform !important;
}

body .announce-track:hover {
  animation-play-state: paused !important;
}

body .announce-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 40px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.85) !important;
  white-space: nowrap !important;
}

body .announce-dot {
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.3) !important;
  flex-shrink: 0 !important;
}

/* Inner pages: keep the top nav fixed and reserve space so content never sits underneath it. */
body:not(.home):not(.front-page) {
  --luxe-inner-surface: 600px;
}

@media (min-width: 601px) {
  body:not(.home):not(.front-page) {
    --luxe-inner-surface: 1000px;
  }
}

body:not(.home):not(.front-page) #luxe-app {
  padding-top: calc(var(--announce) + var(--nav)) !important;
}

body:not(.home):not(.front-page) .announce-bar {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(100%, var(--luxe-inner-surface, 600px)) !important;
  max-width: var(--luxe-inner-surface, 600px) !important;
}

body:not(.home):not(.front-page) #luxe-top-nav {
  position: fixed !important;
  top: var(--announce) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(100%, var(--luxe-inner-surface, 600px)) !important;
  max-width: var(--luxe-inner-surface, 600px) !important;
  z-index: 220 !important;
  background: #fff !important;
}

body.admin-bar:not(.home):not(.front-page) .announce-bar {
  top: 32px !important;
}

body.admin-bar:not(.home):not(.front-page) #luxe-top-nav {
  top: calc(32px + var(--announce)) !important;
}

@media (max-width: 782px) {
  body.admin-bar:not(.home):not(.front-page) .announce-bar {
    top: 46px !important;
  }

  body.admin-bar:not(.home):not(.front-page) #luxe-top-nav {
    top: calc(46px + var(--announce)) !important;
  }
}

body:not(.home):not(.front-page) #luxe-main {
  margin-top: 0 !important;
}

body:not(.home):not(.front-page) :is([id], .woocommerce-error, .woocommerce-message, .woocommerce-info) {
  scroll-margin-top: calc(var(--nav) + 12px) !important;
}

.luxe-cart-fly {
  position: fixed;
  width: 74px;
  height: 74px;
  margin: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  overflow: hidden;
  pointer-events: none;
  z-index: 99999;
  opacity: .96;
  transition: transform .74s cubic-bezier(.2,.78,.22,1), opacity .74s cubic-bezier(.2,.78,.22,1);
  will-change: transform, opacity;
}

.luxe-cart-fly img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: var(--g100);
}

.luxe-cart-fly.no-img::before {
  content: '';
  position: absolute;
  inset: 18px;
  background: var(--black);
  border-radius: 50%;
}

.act-cart.luxe-atc-done,
.single_add_to_cart_button.luxe-atc-done,
.add_to_cart_button.luxe-atc-done {
  animation: luxe-atc-confirm .52s cubic-bezier(.34,1.2,.64,1) both;
}

.cart-icon-wrap.luxe-cart-target-hit,
#luxe-bot-nav .cart-icon-wrap.luxe-cart-target-hit,
.luxe-cart-count.pop,
.cart-dot.pop {
  animation: luxe-cart-target-pop .46s cubic-bezier(.34,1.2,.64,1) both;
}

@keyframes luxe-atc-confirm {
  0% { filter: brightness(1); }
  34% { filter: brightness(1.4); }
  100% { filter: brightness(1); }
}

@keyframes luxe-cart-target-pop {
  0% { transform: scale(1); }
  38% { transform: scale(1.24); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .luxe-cart-fly,
  .act-cart.luxe-atc-done,
  .single_add_to_cart_button.luxe-atc-done,
  .add_to_cart_button.luxe-atc-done,
  .cart-icon-wrap.luxe-cart-target-hit,
  .luxe-cart-count.pop,
  .cart-dot.pop {
    animation: none !important;
    transition: none !important;
  }

  body .announce-track {
    animation: none !important;
  }
}

/* Global frame QA: light grey outside the design surface and visible 0.5px page/card lines. */
html {
  background: #f4f4f4 !important;
}

body {
  max-width: none !important;
  background: #f4f4f4 !important;
}

body.home,
body.blog,
body.page,
body.archive,
body.search,
body.single,
body.single-product,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.error404 {
  background: #f4f4f4 !important;
}

#luxe-app,
.luxe-app {
  background: #fff !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200) !important;
}

#luxe-top-nav,
.top-nav,
.u-nav {
  border-bottom: 0 !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 -.5px 0 var(--g200) !important;
}

#luxe-bot-nav,
.bot-nav {
  border-top: 0 !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 .5px 0 var(--g200) !important;
}

body #luxe-bot-nav,
body .bot-nav {
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 .5px 0 var(--g200) !important;
}

body.single-product .act-bar,
body.luxe-product-page .act-bar,
body.woocommerce-cart .checkout-bar {
  border-top: 0 !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 .5px 0 var(--g200) !important;
}

body.home .prod-card,
body.home .prod-img-wrap,
body.luxe-product-page .hotnow-item,
body.luxe-product-page .alsolike-card,
body.luxe-product-page .related-card,
body.single-product .hotnow-item,
body.single-product .alsolike-card,
body.single-product .related-card,
body.woocommerce-cart .cart-item,
body.woocommerce-cart .promo-wrap,
body.woocommerce-cart .cart-summary,
body.woocommerce-checkout .order-summary,
body.woocommerce-checkout .co-inp-wrap,
body.woocommerce-checkout .co-ship-group,
body.woocommerce-checkout #luxe-payment-group .wc_payment_methods,
body.woocommerce-checkout #luxe-payment-group .payment_methods {
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.woocommerce-cart .qty-ctrl,
body.woocommerce-cart .promo-input,
body.woocommerce-checkout .order-coupon-input,
body.woocommerce-checkout .order-coupon-btn {
  border: 0 !important;
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.home .h-custom-html {
  display: block;
  width: 100%;
  overflow: hidden;
  background: #fff;
}

body.home .h-custom-html > :first-child {
  margin-top: 0;
}

body.home .h-custom-html > :last-child {
  margin-bottom: 0;
}

/* Product detail: match the compact UI typography for title and primary price. */
body.single-product .pinfo,
body.luxe-product-page .pinfo {
  padding-top: 12px !important;
}

body.single-product .pname,
body.luxe-product-page .pname,
body.single-product .product_title,
body.luxe-product-page .product_title {
  margin-bottom: 4px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body.single-product .price-row,
body.luxe-product-page .price-row {
  gap: 6px !important;
  margin-bottom: 8px !important;
}

body.single-product .pprice,
body.single-product .pprice .woocommerce-Price-amount,
body.single-product .pprice .woocommerce-Price-amount bdi,
body.single-product .pprice bdi,
body.luxe-product-page .pprice,
body.luxe-product-page .pprice .woocommerce-Price-amount,
body.luxe-product-page .pprice .woocommerce-Price-amount bdi,
body.luxe-product-page .pprice bdi {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

body.single-product .pprice del,
body.single-product .pprice del .woocommerce-Price-amount,
body.single-product .pprice del bdi,
body.luxe-product-page .pprice del,
body.luxe-product-page .pprice del .woocommerce-Price-amount,
body.luxe-product-page .pprice del bdi {
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Product detail action bar: keep every action flush to the page surface width. */
body.single-product .act-bar,
body.luxe-product-page .act-bar {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(100vw, var(--luxe-inner-surface, 1000px)) !important;
  max-width: var(--luxe-inner-surface, 1000px) !important;
  display: flex !important;
  align-items: stretch !important;
}

body.single-product .act-cart,
body.single-product .act-wa,
body.luxe-product-page .act-cart,
body.luxe-product-page .act-wa {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
}

body.single-product .act-fav,
body.luxe-product-page .act-fav {
  flex: 0 0 52px !important;
  width: 52px !important;
  min-width: 52px !important;
}

@media (min-width: 601px) {
  body.single-product .act-fav,
  body.luxe-product-page .act-fav {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
  }
}

/* Checkout Google Places suggestions must align with the address field, not the viewport edge. */
body.woocommerce-checkout .pac-container,
body.woocommerce-checkout .pac-container.luxe-pac-fixed {
  box-sizing: border-box !important;
  border: .5px solid var(--g200) !important;
  border-radius: 6px !important;
  margin-top: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12) !important;
  color: var(--black) !important;
  font-family: inherit !important;
  z-index: 999999 !important;
}

body.woocommerce-checkout .pac-item {
  min-height: 38px !important;
  padding: 8px 12px !important;
  border-top: .5px solid var(--g100) !important;
  color: var(--black) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
}

body.woocommerce-checkout .pac-item:first-child {
  border-top: 0 !important;
}

body.woocommerce-checkout .pac-item:hover,
body.woocommerce-checkout .pac-item-selected {
  background: var(--g50) !important;
}

body.woocommerce-checkout .pac-matched {
  color: var(--black) !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .pac-item-query {
  color: var(--black) !important;
  font-size: 12px !important;
}

/* Footer: compact policy links and fixed accepted-payment brand marks. */
#luxe-footer.home-footer,
.home-footer#luxe-footer {
  padding: 22px 14px calc(16px + env(safe-area-inset-bottom)) !important;
  min-height: 0 !important;
}

body #luxe-app #luxe-footer.home-footer,
body.home #luxe-app #luxe-footer.home-footer {
  min-height: 0 !important;
  padding: 22px 14px calc(16px + env(safe-area-inset-bottom)) !important;
}

#luxe-footer .hf-top {
  margin-bottom: 10px !important;
}

#luxe-footer .hf-brand-name {
  margin-bottom: 6px !important;
}

#luxe-footer .hf-brand-tag {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}

#luxe-footer .hf-social-row {
  margin: 9px 0 11px !important;
  gap: 12px !important;
}

#luxe-footer .hf-links-row {
  gap: 6px 14px !important;
  margin-bottom: 12px !important;
}

#luxe-footer .hf-links-row a,
#luxe-footer .footer-link {
  color: rgba(255, 255, 255, .82) !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
}

#luxe-footer .hf-links-row a:hover,
#luxe-footer .footer-link:hover {
  color: #fff !important;
}

#luxe-footer .hf-rule {
  margin: 9px 0 !important;
  opacity: .35 !important;
}

#luxe-footer .hf-payments-block {
  margin: 0 0 9px !important;
}

#luxe-footer .hf-pay-label {
  margin-bottom: 8px !important;
  color: rgba(255, 255, 255, .45) !important;
  font-size: 8px !important;
}

#luxe-footer .hf-pay-icons {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  overflow-x: auto !important;
  max-width: 100% !important;
  scrollbar-width: none !important;
}

body #luxe-app #luxe-footer .hf-pay-icons,
body.home #luxe-app #luxe-footer .hf-pay-icons {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-bottom: 9px !important;
}

#luxe-footer .hf-pay-icons::-webkit-scrollbar {
  display: none !important;
}

#luxe-footer .hf-pay-strip {
  display: block !important;
  width: min(100%, 174px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

#luxe-footer .hf-pay-card {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 24px !important;
  min-width: 38px !important;
  min-height: 24px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  color: #111 !important;
  font-size: 7px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  overflow: hidden !important;
  position: relative !important;
}

#luxe-footer .hf-pay-card img,
#luxe-footer .hf-pay-card svg {
  display: block !important;
  max-width: 56px !important;
  max-height: 24px !important;
  width: auto !important;
  height: auto !important;
}

#luxe-footer .hf-pay-visa .hf-pay-brand {
  color: #173b8f !important;
  font-size: 12px !important;
  font-style: italic !important;
  letter-spacing: -.4px !important;
}

#luxe-footer .hf-pay-mastercard {
  background: #050505 !important;
}

#luxe-footer .hf-pay-dot {
  width: 14px !important;
  height: 14px !important;
  border-radius: 999px !important;
  display: block !important;
}

#luxe-footer .hf-pay-dot-red {
  background: #eb001b !important;
  margin-right: -4px !important;
  z-index: 2 !important;
}

#luxe-footer .hf-pay-dot-yellow {
  background: #f79e1b !important;
}

#luxe-footer .hf-pay-amex {
  background: #0f8bd8 !important;
  color: #fff !important;
}

#luxe-footer .hf-pay-amex .hf-pay-brand {
  font-size: 7px !important;
  line-height: .9 !important;
  max-width: 30px !important;
  white-space: normal !important;
}

#luxe-footer .hf-pay-discover {
  background: #fff !important;
}

#luxe-footer .hf-pay-discover-text {
  position: relative !important;
  z-index: 2 !important;
  color: #111 !important;
  font-size: 7px !important;
}

#luxe-footer .hf-pay-discover-sun {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  border-radius: 50% !important;
  margin-left: -1px !important;
  background: linear-gradient(90deg, #f58220, #fbb040) !important;
}

#luxe-footer .hf-pay-diners {
  background: #0c72a4 !important;
}

#luxe-footer .hf-pay-diners-mark {
  width: 24px !important;
  height: 16px !important;
  display: block !important;
  border-radius: 999px !important;
  border: 2px solid #fff !important;
  position: relative !important;
}

#luxe-footer .hf-pay-diners-mark::after {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 8px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
}

#luxe-footer .hf-pay-paypal {
  background: #fff !important;
}

#luxe-footer .hf-pay-paypal-p {
  color: #003087 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  font-style: italic !important;
  transform: skew(-8deg) !important;
}

#luxe-footer .hf-pay-apple {
  background: #050505 !important;
  color: #fff !important;
}

#luxe-footer .hf-pay-apple .hf-pay-brand::before {
  content: "Apple " !important;
}

#luxe-footer .hf-pay-apple .hf-pay-brand {
  font-size: 8px !important;
  text-transform: none !important;
}

#luxe-footer .hf-pay-google {
  background: #fff !important;
}

#luxe-footer .hf-pay-google-g {
  color: #4285f4 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-transform: none !important;
}

#luxe-footer .hf-bottom-row {
  gap: 8px !important;
  padding-top: 0 !important;
}

#luxe-footer .hf-lang,
#luxe-footer .hf-copy {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
}

body.luxe-demo-policy-page #luxe-main {
  background: #fff !important;
}

body.luxe-demo-policy-page .luxe-demo-policy {
  max-width: var(--luxe-inner-surface, 1000px) !important;
  margin: 0 auto !important;
  padding: 22px 16px calc(34px + env(safe-area-inset-bottom)) !important;
  background: #fff !important;
  color: var(--black) !important;
}

.luxe-demo-policy .policy-demo-kicker {
  margin: 0 0 8px !important;
  color: var(--g600) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.luxe-demo-policy .policy-demo-intro {
  margin-bottom: 18px !important;
  color: var(--black) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.luxe-demo-policy .policy-demo-section {
  padding: 16px 0 !important;
  border-top: .5px solid var(--g200) !important;
}

/* Homepage hero fallback must match the supplied black LUXE UI, not a random poster image. */
body.home .h-video-placeholder {
  background:
    radial-gradient(ellipse at 62% 38%, rgba(255,255,255,.055), transparent 66%),
    #0a0a0a !important;
}

body.home .h-video-wrap:not(:has(video)) .h-video-overlay {
  display: none !important;
}

/* Product share sheet: platform links for WhatsApp/Pinterest/Facebook/Reddit/X/Email. */
.luxe-share-open {
  overflow: hidden !important;
}

.luxe-share-sheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  pointer-events: none !important;
}

.luxe-share-sheet.is-open {
  pointer-events: auto !important;
}

.luxe-share-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, .38) !important;
  opacity: 0 !important;
  transition: opacity .18s ease !important;
}

.luxe-share-sheet.is-open .luxe-share-backdrop {
  opacity: 1 !important;
}

.luxe-share-panel {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  transform: translate(-50%, 110%) !important;
  width: min(100vw, var(--luxe-inner-surface, 1000px)) !important;
  max-width: var(--luxe-inner-surface, 1000px) !important;
  background: #fff !important;
  color: var(--black) !important;
  border-top: .5px solid var(--g200) !important;
  box-shadow: 0 -18px 40px rgba(0, 0, 0, .16) !important;
  transition: transform .22s cubic-bezier(.2, .72, .18, 1) !important;
  padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
}

.luxe-share-sheet.is-open .luxe-share-panel {
  transform: translate(-50%, 0) !important;
}

.luxe-share-head {
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: .5px solid var(--g200) !important;
}

.luxe-share-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.luxe-share-close {
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--black) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.luxe-share-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .5px !important;
  background: var(--g200) !important;
  margin-top: 14px !important;
}

.luxe-share-option {
  min-height: 76px !important;
  background: #fff !important;
  color: var(--black) !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  -webkit-tap-highlight-color: transparent !important;
}

.luxe-share-option:hover,
.luxe-share-option:focus-visible {
  background: var(--g50) !important;
  outline: none !important;
}

.luxe-share-mark {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: var(--black) !important;
}

.luxe-share-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

.luxe-share-whatsapp .luxe-share-mark { background: #25d366 !important; }
.luxe-share-pinterest .luxe-share-mark { background: #bd081c !important; }
.luxe-share-facebook .luxe-share-mark { background: #1877f2 !important; }
.luxe-share-reddit .luxe-share-mark { background: #ff4500 !important; }
.luxe-share-x .luxe-share-mark { background: #111 !important; }
.luxe-share-email .luxe-share-mark { background: #6b7280 !important; }

@media (max-width: 420px) {
  .luxe-share-panel {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .luxe-share-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Wishlist active state: saved hearts must render black across product, archive, and nav UI. */
.luxe-wishlist-btn.on,
.prod-heart.on,
.prod-heart-overlay.on,
.prod-heart-inline.on,
body.tax-product_cat .prod-card .prod-heart-inline.on,
body.tax-product_tag .prod-card .prod-heart-inline.on,
body.post-type-archive-product .prod-card .prod-heart-inline.on,
body.search .prod-card .prod-heart-inline.on,
body.single-product .act-fav.on,
body.luxe-product-page .act-fav.on,
#fav-btn.on,
.luxe-wishlist-nav-btn.on {
  color: var(--black, #111) !important;
}

.luxe-wishlist-btn.on svg,
.prod-heart.on svg,
.prod-heart-overlay.on svg,
.prod-heart-inline.on svg,
body.single-product .act-fav.on svg,
body.luxe-product-page .act-fav.on svg,
#fav-btn.on svg,
.luxe-wishlist-nav-btn.on svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Account hero avatar: use a polished initial instead of the default WordPress silhouette. */
body.woocommerce-account .acc-hero .acc-avatar,
body.woocommerce-account .acc-hero .acc-avatar-letter-wrap {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 12px !important;
  border-radius: 50% !important;
  border: .5px solid rgba(255, 255, 255, .28) !important;
  background: #fff !important;
  color: #0a0a0a !important;
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, .06),
    0 14px 28px rgba(0, 0, 0, .34) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.woocommerce-account .acc-hero .acc-avatar img {
  display: none !important;
}

body.woocommerce-account .acc-hero .acc-avatar-letter {
  color: #0a0a0a !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

@media (min-width: 768px) {
  body.woocommerce-account .acc-hero .acc-avatar,
  body.woocommerce-account .acc-hero .acc-avatar-letter-wrap {
    width: 64px !important;
    height: 64px !important;
  }

  body.woocommerce-account .acc-hero .acc-avatar-letter {
    font-size: 27px !important;
  }
}

/* Checkout select fields: keep the custom country/state controls visually boxed like text inputs. */
body.woocommerce-checkout .co-sel-wrap,
body.woocommerce-checkout .co-sel-wrap.luxe-select-ready {
  border: .5px solid var(--g200) !important;
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
  border-radius: var(--r2, 6px) !important;
  background: #fff !important;
  overflow: visible !important;
}

body.woocommerce-checkout .co-sel-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  box-shadow: inset 0 0 0 .5px var(--g200) !important;
}

body.woocommerce-checkout .co-sel-wrap:focus-within,
body.woocommerce-checkout .co-sel-wrap.is-open {
  border-color: var(--black) !important;
  box-shadow: inset 0 0 0 .5px var(--black) !important;
}

body.woocommerce-checkout .co-sel-wrap:focus-within::after,
body.woocommerce-checkout .co-sel-wrap.is-open::after {
  box-shadow: inset 0 0 0 .5px var(--black) !important;
}

body.woocommerce-checkout .co-sel-wrap.luxe-select-ready .luxe-select-toggle {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
}

html,
body,
#luxe-app,
.luxe-app {
  overscroll-behavior-y: none !important;
}

body.woocommerce-account:not(.logged-in) .login-bg,
body.woocommerce-account:not(.logged-in) .auth-bg {
  min-height: auto !important;
}

body.woocommerce-account:not(.logged-in) .login-body,
body.woocommerce-account:not(.logged-in) .auth-body {
  padding-bottom: 28px !important;
  flex: 0 0 auto !important;
}

body.woocommerce-account:not(.logged-in) .luxe-main,
body.woocommerce-order-received .luxe-main {
  min-height: auto !important;
  padding-bottom: 28px !important;
}

/* Checkout phone: flag + dialing code stays tied to the selected billing country. */
body.woocommerce-checkout .co-phone-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-checkout .co-phone-prefix {
  min-width: 78px !important;
  height: 48px !important;
  padding: 0 10px 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  color: var(--black) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-right: .5px solid var(--g200) !important;
  background: #fff !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

body.woocommerce-checkout .co-phone-flag {
  width: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.woocommerce-checkout .co-phone-code {
  font-size: 13px !important;
  line-height: 1 !important;
}

body.woocommerce-checkout .co-phone-wrap .co-inp {
  padding-left: 12px !important;
}

body.woocommerce-checkout .co-phone-wrap.is-invalid {
  border-color: #d72d2d !important;
}

body.woocommerce-checkout .co-phone-error {
  display: block !important;
  margin: 7px 2px 0 !important;
  color: #b00020 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

body.woocommerce-checkout .co-phone-error[hidden] {
  display: none !important;
}

/* Improve readability: secondary UI text should be black instead of low-contrast gray. */
body .login-tab:not(.on),
body .login-or,
body .login-switch,
body .login-forgot,
body .field label,
body .co-inp-lbl,
body .co-check-row,
body .checkout-steps,
body .checkout-steps .sep,
body .order-total-row,
body .co-ship-sub,
body .order-item-meta,
body .h-sec-all,
body .panel-section-viewall,
body .module-viewall,
body .sort-count,
body .sort-opt,
body .cat-side-item,
body .h-cat-name,
body .panel-prod-name,
body .h-hot-label,
body .h-hot-tag,
body .h-tag,
body .hot-tag,
body .h-tp-label,
body .h-tp-meta,
body .h-rv-body,
body .h-rv-date,
body .pmeta,
body .psub,
body .ac-inner,
body .ship-row,
body .cart-sum-row,
body .cart-item-meta {
  color: var(--black) !important;
}

body.woocommerce-account .acc-section-title,
body.woocommerce-account .acc-menu-sub,
body.woocommerce-account .order-date,
body.woocommerce-account .addr-tel,
body.woocommerce-account .woocommerce-MyAccount-content small,
body.woocommerce-account:not(.logged-in) .social-btn.is-disabled {
  color: var(--black) !important;
  opacity: 1 !important;
}

body.woocommerce-account .acc-hero .acc-email,
body.woocommerce-account .acc-hero .acc-stat-label {
  color: #fff !important;
  opacity: 1 !important;
}

body input::placeholder,
body textarea::placeholder {
  color: var(--black) !important;
  opacity: 1 !important;
}

/* Apple social login is intentionally removed from the customer-facing shortcuts. */
.social-btn-apple,
body.woocommerce-account:not(.logged-in) .social-btn-apple,
.express-btn.apple,
.apple-pay-button,
#apple-pay-button,
[data-payment-method*="apple" i],
[class*="apple-pay" i] {
  display: none !important;
}

/* Global scroll fit: fixed header stays visible without letting short pages bounce behind it. */
html,
body,
#luxe-app,
.luxe-app {
  overscroll-behavior: none !important;
}

body:not(.home):not(.front-page) #luxe-app {
  min-height: 100svh !important;
}

body:not(.home):not(.front-page) #luxe-main {
  min-height: 0 !important;
}

body.woocommerce-account:not(.logged-in) #luxe-bot-nav {
  display: none !important;
}

body.woocommerce-account:not(.logged-in),
body.woocommerce-order-received {
  min-height: 0 !important;
  background: var(--g100) !important;
}

body.woocommerce-account:not(.logged-in) #luxe-app,
body.woocommerce-order-received #luxe-app {
  min-height: 0 !important;
}

body.woocommerce-account:not(.logged-in) #luxe-main {
  padding-bottom: 0 !important;
}

body.woocommerce-account:not(.logged-in) .login-bg,
body.woocommerce-account:not(.logged-in) .auth-bg {
  min-height: 0 !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) .login-body,
body.woocommerce-account:not(.logged-in) .auth-body {
  padding-bottom: 24px !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) .login-switch {
  margin-bottom: 0 !important;
}

body.woocommerce-order-received #luxe-main,
body.woocommerce-checkout #luxe-main,
body.woocommerce-cart #luxe-main {
  min-height: 0 !important;
}

/* Readability pass: keep borders/backgrounds light, but make customer-facing text black. */
body #luxe-main :where(
  p,
  li,
  td,
  th,
  label,
  small,
  .login-tab,
  .auth-tab,
  .login-or,
  .login-switch,
  .auth-switch,
  .login-forgot,
  .field label,
  .co-inp-lbl,
  .co-check-row,
  .co-ship-sub,
  .checkout-steps,
  .express-or,
  .sort-count,
  .sort-opt,
  .fpill,
  .panel-section-viewall,
  .panel-prod-name,
  .h-sec-all,
  .h-hot-label,
  .h-trust-sub,
  .h-tp-label,
  .h-tp-meta,
  .h-rv-body,
  .h-rv-date,
  .h-cat-name,
  .h-brand-chip,
  .hot-tag,
  .h-tag,
  .pmeta,
  .psub,
  .attr-label,
  .size-guide-link,
  .ac-inner,
  .ship-row,
  .sku-box,
  .cart-item-meta,
  .cart-sum-row,
  .bag-section-count,
  .empty-cart-sub,
  .order-item-meta,
  .order-total-row,
  .acc-section-title,
  .acc-item-sub,
  .acc-item-right,
  .acc-order-meta,
  .addr-line,
  .addr-tel,
  .addr-act,
  .coupon-cond,
  .coupon-exp,
  .notif-sub,
  .notfound-sub,
  .ty-section-title,
  .ty-track-row,
  .ty-step-sub,
  .ty-address,
  .content-page p,
  .content-page li,
  .policy-page p,
  .policy-page li,
  .faq-answer,
  .woocommerce-terms-and-conditions-wrapper,
  .woocommerce-MyAccount-content small,
  .social-btn.is-disabled,
  .btn-outline-link,
  .label-note,
  .order-not-found,
  .od-item-meta,
  .addr-empty
) {
  color: var(--black) !important;
  opacity: 1 !important;
}

body #luxe-main :where(input, textarea, select),
body #luxe-main :where(input, textarea)::placeholder,
body #luxe-main :where(.co-inp, .co-input, .input-text, .promo-input, .order-coupon-input, .field input, .search-input-row input)::placeholder {
  color: var(--black) !important;
  opacity: 1 !important;
}

body #luxe-main :where(.social-btn.is-disabled, .social-btn[aria-disabled="true"], .social-btn:disabled) {
  color: var(--black) !important;
  opacity: 1 !important;
}

body #luxe-main :where(.social-btn.is-disabled svg, .social-btn[aria-disabled="true"] svg, .social-btn:disabled svg) {
  opacity: 1 !important;
}

body.woocommerce-checkout #luxe-main :where(
  #luxe-payment-group,
  #luxe-payment-group p,
  #luxe-payment-group .payment_box,
  #luxe-payment-group .payment_box p,
  .woocommerce-terms-and-conditions-wrapper,
  .woocommerce-terms-and-conditions-wrapper p,
  .woocommerce-privacy-policy-text,
  .woocommerce-privacy-policy-text p,
  .woocommerce-privacy-policy-link,
  .co-secure-note
) {
  color: var(--black) !important;
  opacity: 1 !important;
}

#luxe-bot-nav.bot-nav a,
#luxe-bot-nav.bot-nav a span,
#luxe-bot-nav.bot-nav a svg {
  color: var(--black) !important;
  opacity: 1 !important;
}

body #luxe-main :where(
  .btn-login,
  .auth-btn,
  .btn-checkout,
  .btn-place-order,
  .btn-shop-now,
  .btn-continue,
  .btn-blk,
  .promo-btn,
  .wish-move-btn,
  .wish-item-add,
  .act-cart,
  .prod-badge.new,
  .prod-badge.sale
) {
  color: #fff !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group,
body.woocommerce-checkout #luxe-main #luxe-payment-group p,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_box,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_box p,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-privacy-policy-text,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-privacy-policy-text p,
body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper p,
body.woocommerce-checkout #luxe-main .woocommerce-privacy-policy-text,
body.woocommerce-checkout #luxe-main .woocommerce-privacy-policy-text p,
body.woocommerce-checkout #luxe-main .woocommerce-privacy-policy-link,
body.woocommerce-checkout #luxe-main .co-secure-note,
body.woocommerce-checkout #luxe-main .checkout-trust,
body.woocommerce-checkout #luxe-main .checkout-trust *,
body.woocommerce-checkout #luxe-main .order-coupon-btn,
body.woocommerce-checkout #luxe-main .co-sel-ic,
body.woocommerce-checkout #luxe-main .co-inp-ic {
  color: var(--black) !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .checkout-body {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.woocommerce-checkout .co-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout #luxe-payment-group .place-order,
  body.woocommerce-checkout #luxe-payment-group .form-row.place-order {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}

body.woocommerce-checkout :where(
  .co-inp-wrap,
  .co-sel-wrap,
  .co-phone-wrap,
  .co-ship-group,
  .order-coupon-input,
  .order-coupon-btn,
  #luxe-payment-group .wc_payment_methods,
  #luxe-payment-group .payment_methods,
  #luxe-payment-group .wc_payment_method,
  #luxe-payment-group .payment_box,
  input,
  textarea,
  select,
  button
) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
}

body.woocommerce-checkout :where(
  .co-inp-wrap:focus-within,
  .co-sel-wrap:focus-within,
  .co-sel-wrap.is-open,
  .co-phone-wrap:focus-within,
  .order-coupon-input:focus,
  .order-coupon-btn:focus,
  .order-coupon-btn:focus-visible,
  #luxe-payment-group .wc_payment_method:focus-within
) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout :where(
  .co-inp-wrap,
  .co-sel-wrap,
  .co-phone-wrap,
  .co-ship-group,
  #luxe-payment-group .wc_payment_methods,
  #luxe-payment-group .payment_methods
) {
  border: .5px solid var(--g200) !important;
}

body.woocommerce-checkout #luxe-payment-group .wc_payment_method {
  border: 0 !important;
}

body.woocommerce-checkout #luxe-payment-group .wc_payment_method.is-selected {
  border: .5px solid var(--black) !important;
}

body.woocommerce-checkout #luxe-main .co-inp-wrap,
body.woocommerce-checkout #luxe-main .co-sel-wrap,
body.woocommerce-checkout #luxe-main .co-phone-wrap,
body.woocommerce-checkout #luxe-main .co-ship-group,
body.woocommerce-checkout #luxe-main .order-coupon-input,
body.woocommerce-checkout #luxe-main .order-coupon-btn,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_methods,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_methods,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method.is-selected,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_box,
body.woocommerce-checkout #luxe-main input,
body.woocommerce-checkout #luxe-main textarea,
body.woocommerce-checkout #luxe-main select,
body.woocommerce-checkout #luxe-main button {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
}

body.woocommerce-checkout #luxe-main .co-inp-wrap:focus-within,
body.woocommerce-checkout #luxe-main .co-sel-wrap:focus-within,
body.woocommerce-checkout #luxe-main .co-sel-wrap.is-open,
body.woocommerce-checkout #luxe-main .co-phone-wrap:focus-within,
body.woocommerce-checkout #luxe-main .order-coupon-input:focus,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus-visible,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:focus-within {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout.woocommerce-page .announce-bar {
  display: none !important;
}

body.woocommerce-checkout.woocommerce-page #luxe-app {
  padding-top: var(--nav) !important;
}

body.woocommerce-checkout.woocommerce-page #luxe-top-nav {
  top: 0 !important;
}

body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav {
    top: 46px !important;
  }
}

/* Logged-in admin bar offset: WordPress already pushes the app below the admin bar,
   so reserve only the fixed storefront header height inside the app. */
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-app {
  padding-top: calc(var(--announce) + var(--nav)) !important;
}

body.admin-bar.woocommerce-checkout #luxe-app,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app {
  padding-top: var(--nav) !important;
}

@media (max-width: 782px) {
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-app {
    padding-top: calc(var(--announce) + var(--nav)) !important;
  }

  body.admin-bar.woocommerce-checkout #luxe-app,
  body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app {
    padding-top: var(--nav) !important;
  }
}

/* Hover contrast repair: filled black controls must never inherit the global black text pass. */
body #luxe-main .btn-checkout,
body #luxe-main .btn-checkout:hover,
body #luxe-main .btn-checkout:focus,
body #luxe-main .btn-checkout:focus-visible,
body #luxe-main .btn-checkout:active,
body #luxe-main .btn-place-order,
body #luxe-main .btn-place-order:hover,
body #luxe-main .btn-place-order:focus,
body #luxe-main .btn-place-order:focus-visible,
body #luxe-main .btn-place-order:active,
body #luxe-main .promo-btn,
body #luxe-main .promo-btn:hover,
body #luxe-main .promo-btn:focus,
body #luxe-main .promo-btn:focus-visible,
body #luxe-main .promo-btn:active,
body #luxe-main .act-cart,
body #luxe-main .act-cart:hover,
body #luxe-main .act-cart:focus,
body #luxe-main .act-cart:focus-visible,
body #luxe-main .act-cart:active,
body #luxe-main .btn-login,
body #luxe-main .btn-login:hover,
body #luxe-main .auth-btn,
body #luxe-main .auth-btn:hover,
body #luxe-main .btn-blk,
body #luxe-main .btn-blk:hover,
body #luxe-main .wish-item-add,
body #luxe-main .wish-item-add:hover,
body #luxe-main .wish-move-btn,
body #luxe-main .wish-move-btn:hover,
body.woocommerce-checkout #luxe-main .order-coupon-btn:hover,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus-visible,
body.woocommerce-checkout #luxe-main .order-coupon-btn:active,
body.woocommerce-checkout #luxe-main #luxe-payment-group #place_order.btn-place-order,
body.woocommerce-checkout #luxe-main #luxe-payment-group #place_order.btn-place-order:hover,
body.woocommerce-cart #luxe-main .btn-checkout,
body.woocommerce-cart #luxe-main .btn-checkout:hover,
body.woocommerce-cart #luxe-main .promo-btn,
body.woocommerce-cart #luxe-main .promo-btn:hover,
body.single-product #luxe-main .act-cart,
body.single-product #luxe-main .act-cart:hover,
body.luxe-product-page #luxe-main .act-cart,
body.luxe-product-page #luxe-main .act-cart:hover {
  color: #fff !important;
}

body #luxe-main .btn-checkout *,
body #luxe-main .btn-place-order *,
body #luxe-main .promo-btn *,
body #luxe-main .act-cart *,
body #luxe-main .btn-login *,
body #luxe-main .auth-btn *,
body #luxe-main .btn-blk *,
body #luxe-main .wish-item-add *,
body #luxe-main .wish-move-btn *,
body.woocommerce-checkout #luxe-main .order-coupon-btn:hover *,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus-visible *,
body.woocommerce-cart #luxe-main .btn-checkout *,
body.woocommerce-cart #luxe-main .promo-btn *,
body.single-product #luxe-main .act-cart *,
body.luxe-product-page #luxe-main .act-cart * {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body.woocommerce-checkout #luxe-main .order-coupon-btn:hover,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus,
body.woocommerce-checkout #luxe-main .order-coupon-btn:focus-visible,
body.woocommerce-checkout #luxe-main .order-coupon-btn:active {
  background: var(--black) !important;
  border-color: var(--black) !important;
}

body #luxe-main .btn-checkout,
body #luxe-main .btn-checkout:hover,
body #luxe-main .btn-checkout:focus,
body #luxe-main .btn-checkout:focus-visible,
body #luxe-main .btn-checkout:active,
body #luxe-main .btn-place-order,
body #luxe-main .btn-place-order:hover,
body #luxe-main .btn-place-order:focus,
body #luxe-main .btn-place-order:focus-visible,
body #luxe-main .btn-place-order:active,
body #luxe-main .promo-btn,
body #luxe-main .promo-btn:hover,
body #luxe-main .promo-btn:focus,
body #luxe-main .promo-btn:focus-visible,
body #luxe-main .promo-btn:active,
body #luxe-main .act-cart,
body #luxe-main .act-cart:hover,
body #luxe-main .act-cart:focus,
body #luxe-main .act-cart:focus-visible,
body #luxe-main .act-cart:active,
body #luxe-main .btn-blk,
body #luxe-main .btn-blk:hover,
body #luxe-main .wish-item-add,
body #luxe-main .wish-item-add:hover,
body #luxe-main .wish-move-btn,
body #luxe-main .wish-move-btn:hover,
body.woocommerce-cart #luxe-main .btn-checkout:hover,
body.woocommerce-cart #luxe-main .promo-btn:hover,
body.woocommerce-checkout #luxe-main #luxe-payment-group #place_order.btn-place-order:hover,
body.single-product #luxe-main .act-cart:hover,
body.luxe-product-page #luxe-main .act-cart:hover {
  background: var(--black) !important;
  border-color: var(--black) !important;
  color: #fff !important;
}

body #luxe-main .h-brand-chip:hover,
body #luxe-main .h-brand-chip:active,
body #luxe-main .h-hot-tag:hover,
body #luxe-main .h-hot-tag:active,
body #luxe-main .h-tag:hover,
body #luxe-main .h-tag:active,
body #luxe-main .hot-tag:hover,
body #luxe-main .hot-tag:active,
body #luxe-main .fpill.on,
body #luxe-main .fpill.is-active,
body #luxe-main .fpill[aria-current="true"] {
  background: var(--black) !important;
  border-color: var(--black) !important;
  color: #fff !important;
}

/* Add-to-cart success interaction: keep contrast rules, but let success visibly swap state. */
body #luxe-main .act-cart.luxe-atc-done,
body.single-product #luxe-main .act-cart.luxe-atc-done,
body.luxe-product-page #luxe-main .act-cart.luxe-atc-done {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #fff !important;
  transform: translateY(-1px) scale(1.015) !important;
  box-shadow: 0 8px 22px rgba(37, 211, 102, .28) !important;
  transition:
    background-color .16s var(--ease-s),
    border-color .16s var(--ease-s),
    transform .18s var(--ease-s),
    box-shadow .22s var(--ease) !important;
}

body #luxe-main .act-cart.luxe-atc-done *,
body.single-product #luxe-main .act-cart.luxe-atc-done *,
body.luxe-product-page #luxe-main .act-cart.luxe-atc-done * {
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Focus state: show a real black hairline border while typing, without restoring shadow. */
body.woocommerce-cart #luxe-main .promo-input:focus,
body.woocommerce-cart #luxe-main .promo-input:focus-visible,
body.woocommerce-checkout #luxe-main .order-coupon-input:focus,
body.woocommerce-checkout #luxe-main .order-coupon-input:focus-visible,
body.woocommerce-account #luxe-main .field input:focus,
body.woocommerce-account #luxe-main .field select:focus,
body.woocommerce-account #luxe-main input.input-text:focus {
  border: .5px solid var(--black) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .co-inp-wrap:focus-within,
body.woocommerce-checkout #luxe-main .co-sel-wrap:focus-within,
body.woocommerce-checkout #luxe-main .co-phone-wrap:focus-within {
  border: .5px solid var(--black) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* Checkout country/state selects: searchable dropdown, no gray shadow. */
body.woocommerce-checkout #luxe-main .co-sel-wrap.luxe-select-ready .luxe-select-menu {
  padding: 0 !important;
  overflow: hidden !important;
  max-height: min(430px, 54vh) !important;
  border: .5px solid var(--black) !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .luxe-select-search-wrap {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  padding: 8px !important;
  border-bottom: .5px solid var(--g200) !important;
  background: #fff !important;
}

body.woocommerce-checkout #luxe-main .luxe-select-search {
  width: 100% !important;
  height: 40px !important;
  display: block !important;
  padding: 0 12px !important;
  border: .5px solid var(--black) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--black) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 40px !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .luxe-select-search::placeholder {
  color: var(--black) !important;
  opacity: .45 !important;
}

body.woocommerce-checkout #luxe-main .luxe-select-options {
  max-height: min(360px, calc(54vh - 58px)) !important;
  overflow-y: auto !important;
  padding: 6px 0 !important;
}

body.woocommerce-checkout #luxe-main .luxe-select-empty {
  padding: 12px 14px !important;
  color: var(--black) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Checkout order summary: lock compact UI font sizes so totals never balloon. */
body.woocommerce-checkout #luxe-main .order-toggle-left,
body.woocommerce-checkout #luxe-main .order-toggle-left * {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-price,
body.woocommerce-checkout #luxe-main .order-toggle-price *,
body.woocommerce-checkout #luxe-main .order-item-price,
body.woocommerce-checkout #luxe-main .order-item-price * {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout #luxe-main .order-item-name,
body.woocommerce-checkout #luxe-main .order-item-name * {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout #luxe-main .order-item-meta,
body.woocommerce-checkout #luxe-main .order-item-meta * {
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout #luxe-main .order-total-row,
body.woocommerce-checkout #luxe-main .order-total-row * {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout #luxe-main .order-total-row.grand,
body.woocommerce-checkout #luxe-main .order-total-row.grand * {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout #luxe-main .order-coupon-input,
body.woocommerce-checkout #luxe-main .order-coupon-btn {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 48px !important;
}

body.woocommerce-checkout #luxe-main .order-coupon-input::placeholder {
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Coupon inputs use real borders, not shadow borders, so they remain visible. */
body.woocommerce-checkout #luxe-main .order-coupon-input,
body.woocommerce-cart #luxe-main .promo-input {
  border: .5px solid var(--g200) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .order-coupon-input:focus,
body.woocommerce-checkout #luxe-main .order-coupon-input:focus-visible,
body.woocommerce-cart #luxe-main .promo-input:focus,
body.woocommerce-cart #luxe-main .promo-input:focus-visible {
  border: .5px solid var(--black) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .order-coupon-btn {
  border: .5px solid var(--g200) !important;
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* Checkout order summary toggle: match the bolder cart + chevron reference. */
body.woocommerce-checkout #luxe-main .order-toggle {
  min-height: 58px !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  background: #f7f7f7 !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-left,
body.woocommerce-checkout #luxe-main .order-toggle-left * {
  color: #0070a8 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-left {
  gap: 8px !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-left .isvg {
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 20px !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-left .isvg svg,
body.woocommerce-checkout #luxe-main .order-toggle-chevron svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-chevron {
  width: 15px !important;
  height: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 15px !important;
  transition: transform .18s var(--ease-s, ease) !important;
}

body.woocommerce-checkout #luxe-main .order-toggle-price,
body.woocommerce-checkout #luxe-main .order-toggle-price * {
  color: var(--black) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout #luxe-main .order-toggle,
  body.woocommerce-checkout #luxe-main .order-summary {
    width: calc(100% + 20px) !important;
    max-width: calc(100% + 20px) !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    box-sizing: border-box !important;
  }
}

/* Restore the original outline bag icon in the product bottom action bar. */
body.single-product #luxe-main .act-cart svg,
body.luxe-product-page #luxe-main .act-cart svg {
  fill: none !important;
  stroke: currentColor !important;
}

body.single-product #luxe-main .act-cart svg *,
body.luxe-product-page #luxe-main .act-cart svg * {
  fill: none !important;
  stroke: currentColor !important;
}

/* Checkout address line 2: Shopify-style collapsed optional field. */
body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle-wrap[hidden],
body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle[hidden],
body.woocommerce-checkout #luxe-main .luxe-address-line2-row[hidden] {
  display: none !important;
}

body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle-wrap {
  margin: -4px 0 12px !important;
  padding: 0 !important;
}

body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle {
  width: 100% !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 0 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #0070a8 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer !important;
}

body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle:hover,
body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle:focus,
body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle:focus-visible,
body.woocommerce-checkout #luxe-main .luxe-address-line2-toggle:active {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #0070a8 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

body.woocommerce-checkout #luxe-main .luxe-address-line2-plus {
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  flex: 0 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.4px solid currentColor !important;
  border-radius: 50% !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Checkout terms: WooCommerce requires this checkbox before placing an order.
   Some inherited form-row rules collapsed it to 0x0, so restore a tappable row. */
body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 10px 0 12px !important;
  padding: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper label.checkbox,
body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--black) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper input#terms,
body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-wrapper input[name="terms"] {
  display: inline-block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  accent-color: var(--black) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
}

body.woocommerce-checkout #luxe-main .woocommerce-terms-and-conditions-checkbox-text {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  color: var(--black) !important;
  opacity: 1 !important;
}

/* Home header: keep the announcement bar visible like the inner pages. */
body.home,
body.front-page,
body.blog {
  --luxe-home-surface: 600px;
}

body.home #luxe-app,
body.front-page #luxe-app,
body.blog #luxe-app {
  padding-top: calc(var(--announce) + var(--nav)) !important;
}

body.home .announce-bar,
body.front-page .announce-bar,
body.blog .announce-bar {
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(100vw, var(--luxe-home-surface, 600px)) !important;
  max-width: var(--luxe-home-surface, 600px) !important;
  z-index: 230 !important;
}

body.home #luxe-top-nav,
body.front-page #luxe-top-nav,
body.blog #luxe-top-nav {
  position: fixed !important;
  top: var(--announce) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(100vw, var(--luxe-home-surface, 600px)) !important;
  max-width: var(--luxe-home-surface, 600px) !important;
  z-index: 220 !important;
  background: #fff !important;
}

body.admin-bar.home .announce-bar,
body.admin-bar.front-page .announce-bar,
body.admin-bar.blog .announce-bar {
  top: 32px !important;
}

body.admin-bar.home #luxe-top-nav,
body.admin-bar.front-page #luxe-top-nav,
body.admin-bar.blog #luxe-top-nav {
  top: calc(32px + var(--announce)) !important;
}

@media (max-width: 782px) {
  body.admin-bar.home .announce-bar,
  body.admin-bar.front-page .announce-bar,
  body.admin-bar.blog .announce-bar {
    top: 46px !important;
  }

  body.admin-bar.home #luxe-top-nav,
  body.admin-bar.front-page #luxe-top-nav,
  body.admin-bar.blog #luxe-top-nav {
    top: calc(46px + var(--announce)) !important;
  }
}

/* Product cards: product media and empty grid space should stay pure white. */
body.home .prod-grid,
body.tax-product_cat .prod-grid,
body.tax-product_tag .prod-grid,
body.post-type-archive-product .prod-grid,
body.search .prod-grid,
body.home .prod-card,
body.tax-product_cat .prod-card,
body.tax-product_tag .prod-card,
body.post-type-archive-product .prod-card,
body.search .prod-card,
body.home .prod-img-wrap,
body.tax-product_cat .prod-img-wrap,
body.tax-product_tag .prod-img-wrap,
body.post-type-archive-product .prod-img-wrap,
body.search .prod-img-wrap,
body.home .prod-img,
body.tax-product_cat .prod-img,
body.tax-product_tag .prod-img,
body.post-type-archive-product .prod-img,
body.search .prod-img,
body.home .panel-prod-img-wrap,
body.tax-product_cat .panel-prod-img-wrap,
body.post-type-archive-product .shop-cat-layout .panel-prod-img-wrap,
body.home .panel-prod-img,
body.tax-product_cat .panel-prod-img,
body.post-type-archive-product .shop-cat-layout .panel-prod-img {
  background: #fff !important;
  background-color: #fff !important;
}

/* Checkout notices: show feedback under the related input, never as a top banner. */
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-message,
body.woocommerce-checkout form.checkout > .woocommerce-info,
body.woocommerce-checkout .woocommerce > .woocommerce-error,
body.woocommerce-checkout .woocommerce > .woocommerce-message,
body.woocommerce-checkout .woocommerce > .woocommerce-info,
body.woocommerce-checkout .luxe-notice-hidden {
  display: none !important;
}

body.woocommerce-checkout #luxe-payment-group .woocommerce-error,
body.woocommerce-checkout #luxe-payment-group .woocommerce-message,
body.woocommerce-checkout #luxe-payment-group .woocommerce-info {
  display: block !important;
}

body.woocommerce-checkout .luxe-field-msg {
  display: block !important;
  margin: 7px 2px 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .luxe-field-msg[hidden] {
  display: none !important;
}

body.woocommerce-checkout .luxe-field-msg.is-error {
  color: #b00020 !important;
}

body.woocommerce-checkout .luxe-field-msg.is-success {
  color: #15803d !important;
}

body.woocommerce-checkout .luxe-field-msg.is-info {
  color: var(--black) !important;
}

body.woocommerce-checkout .co-inp-wrap.is-invalid,
body.woocommerce-checkout .co-sel-wrap.is-invalid,
body.woocommerce-checkout .co-phone-wrap.is-invalid,
body.woocommerce-checkout .order-coupon.is-invalid,
body.woocommerce-checkout #luxe-payment-group.is-invalid,
body.woocommerce-checkout .co-ship-group.is-invalid,
body.woocommerce-checkout .form-row.is-invalid {
  border-color: #d72d2d !important;
}

body.woocommerce-checkout .order-coupon-msg {
  display: block !important;
  margin: 7px 2px 0 !important;
  min-height: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #15803d !important;
}

body.woocommerce-checkout .order-coupon-msg:empty,
body.woocommerce-checkout .order-coupon-msg[hidden] {
  display: none !important;
}

body.woocommerce-checkout .order-coupon-msg.is-error {
  color: #b00020 !important;
}

body.woocommerce-checkout .order-coupon-msg.is-success {
  color: #15803d !important;
}

/* Cart, checkout, and order pages: show variations and quantity clearly. */
.luxe-item-details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 10px !important;
  margin-top: 3px !important;
  color: var(--black) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

.luxe-item-detail {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  color: var(--black) !important;
}

.luxe-item-detail-label {
  color: var(--black) !important;
  font-weight: 600 !important;
}

.luxe-item-detail-value {
  color: var(--black) !important;
  font-weight: 500 !important;
}

body.woocommerce-checkout .order-item-meta,
body.woocommerce-cart .cart-item-meta,
body.woocommerce-order-received .ty-order-item-qty,
body.woocommerce-account .od-section .luxe-item-details {
  color: var(--black) !important;
  opacity: 1 !important;
}

body.woocommerce-checkout .order-item-meta .luxe-item-details {
  font-size: 10px !important;
  margin-top: 2px !important;
}

body.woocommerce-order-received .ty-order-item {
  align-items: flex-start !important;
}

body.woocommerce-order-received .ty-order-item-price {
  padding-top: 2px !important;
}

/* Thank-you page delivery map. */
body.woocommerce-order-received .ty-delivery-map-card {
  position: relative !important;
  overflow: hidden !important;
  margin-top: 12px !important;
  border: .5px solid rgba(0, 0, 0, .18) !important;
  background: #fff !important;
  min-height: 180px !important;
}

body.woocommerce-order-received .ty-delivery-map {
  width: 100% !important;
  height: 180px !important;
  background: #f6f6f6 !important;
}

body.woocommerce-order-received .ty-delivery-map iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

body.woocommerce-order-received .ty-delivery-map-card.is-loaded .ty-delivery-map {
  background: #fff !important;
}

body.woocommerce-order-received .ty-delivery-map-fallback {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 10px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  background: rgba(255, 255, 255, .92) !important;
  border: .5px solid rgba(0, 0, 0, .12) !important;
  color: var(--black) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

body.woocommerce-order-received .ty-delivery-map-fallback[hidden] {
  display: none !important;
}

body.woocommerce-order-received .ty-delivery-map-fallback a {
  color: var(--black) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}

@media (max-width: 480px) {
  body.woocommerce-order-received .ty-delivery-map-card {
    min-height: 160px !important;
  }

  body.woocommerce-order-received .ty-delivery-map {
    height: 160px !important;
  }
}

/* Logged-in admin view: WordPress offsets the whole document for the admin bar.
   Fixed storefront chrome needs the same extra offset again so it stays visible. */
body.admin-bar.home #luxe-app,
body.admin-bar.front-page #luxe-app,
body.admin-bar.blog #luxe-app,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-app {
  padding-top: calc(32px + var(--announce) + var(--nav)) !important;
}

body.admin-bar.woocommerce-checkout #luxe-app,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app,
body.admin-bar.woocommerce-order-received #luxe-app {
  padding-top: calc(32px + var(--nav)) !important;
}

body.admin-bar.home .announce-bar,
body.admin-bar.front-page .announce-bar,
body.admin-bar.blog .announce-bar,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) .announce-bar {
  top: 64px !important;
}

body.admin-bar.home #luxe-top-nav,
body.admin-bar.front-page #luxe-top-nav,
body.admin-bar.blog #luxe-top-nav,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-top-nav {
  top: calc(64px + var(--announce)) !important;
}

body.admin-bar.woocommerce-checkout .announce-bar,
body.admin-bar.woocommerce-order-received .announce-bar {
  display: none !important;
}

body.admin-bar.woocommerce-checkout #luxe-top-nav,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav,
body.admin-bar.woocommerce-order-received #luxe-top-nav {
  top: 64px !important;
}

@media (max-width: 782px) {
  body.admin-bar.home #luxe-app,
  body.admin-bar.front-page #luxe-app,
  body.admin-bar.blog #luxe-app,
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-app {
    padding-top: calc(46px + var(--announce) + var(--nav)) !important;
  }

  body.admin-bar.woocommerce-checkout #luxe-app,
  body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app,
  body.admin-bar.woocommerce-order-received #luxe-app {
    padding-top: calc(46px + var(--nav)) !important;
  }

  body.admin-bar.home .announce-bar,
  body.admin-bar.front-page .announce-bar,
  body.admin-bar.blog .announce-bar,
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) .announce-bar {
    top: 92px !important;
  }

  body.admin-bar.home #luxe-top-nav,
  body.admin-bar.front-page #luxe-top-nav,
  body.admin-bar.blog #luxe-top-nav,
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout) #luxe-top-nav {
    top: calc(92px + var(--announce)) !important;
  }

  body.admin-bar.woocommerce-checkout #luxe-top-nav,
  body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav,
  body.admin-bar.woocommerce-order-received #luxe-top-nav {
    top: 92px !important;
  }
}

/* Checkout surface must not create a tiny horizontal drag lane on mobile. */
body.woocommerce-checkout,
body.woocommerce-checkout #luxe-app,
body.woocommerce-checkout #luxe-main,
body.woocommerce-checkout .checkout-wrap,
body.woocommerce-order-received,
body.woocommerce-order-received #luxe-app,
body.woocommerce-order-received #luxe-main {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Product archive/recommendation grids need real 0.5px lines, not shadow-only lines. */
body.tax-product_cat .prod-card,
body.tax-product_tag .prod-card,
body.post-type-archive-product .prod-card,
body.search .prod-card,
body.single-product .hot-prod-card,
body.luxe-product-page .hot-prod-card {
  border: .5px solid rgba(0, 0, 0, .14) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.tax-product_cat .prod-card:hover,
body.tax-product_cat .prod-card:focus-visible,
body.tax-product_tag .prod-card:hover,
body.tax-product_tag .prod-card:focus-visible,
body.post-type-archive-product .prod-card:hover,
body.post-type-archive-product .prod-card:focus-visible,
body.search .prod-card:hover,
body.search .prod-card:focus-visible,
body.single-product .hot-prod-card:hover,
body.single-product .hot-prod-card:focus-visible,
body.luxe-product-page .hot-prod-card:hover,
body.luxe-product-page .hot-prod-card:focus-visible {
  border-color: var(--black) !important;
  border-width: .5px !important;
}

/* Some checkout completions use Woo's default thank-you template path.
   When our fallback renders, keep only the custom CNBUY thank-you surface. */
body.woocommerce-order-received .woocommerce-order:has(> .luxe-thankyou-fallback) > :not(.luxe-thankyou-fallback) {
  display: none !important;
}

body.woocommerce-order-received .luxe-thankyou-fallback {
  display: block !important;
}

/* Checkout payment block: keep method selection inside the payment list.
   Terms and the order button are separate controls below the list. */
body.woocommerce-checkout #luxe-main #luxe-payment-group,
body.woocommerce-checkout #luxe-main #luxe-payment-group #payment {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_methods,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_methods {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: .5px solid var(--g200) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: .5px solid var(--g200) !important;
  outline: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:last-child,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:last-of-type {
  border-bottom: 0 !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method.is-selected {
  border: 0 !important;
  border-bottom: .5px solid var(--g200) !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 .5px var(--black) !important;
  background: #fff !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method.is-selected:last-child,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method.is-selected:last-of-type {
  border-bottom: 0 !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method > label {
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_box {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-privacy-policy-text,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-privacy-policy-text p,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper .form-row.validate-required,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper p.form-row {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper label.checkbox,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper input#terms,
body.woocommerce-checkout #luxe-main #luxe-payment-group .woocommerce-terms-and-conditions-wrapper input[name="terms"] {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 1px 0 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .place-order,
body.woocommerce-checkout #luxe-main #luxe-payment-group .form-row.place-order {
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group #place_order.btn-place-order {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Logged-in front-end view: WordPress already offsets the document for the
   admin bar. Keep fixed storefront chrome aligned without adding that offset twice. */
body.admin-bar.home #luxe-app,
body.admin-bar.front-page #luxe-app,
body.admin-bar.blog #luxe-app,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) #luxe-app {
  padding-top: calc(var(--announce) + var(--nav)) !important;
}

body.admin-bar.woocommerce-checkout #luxe-app,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app,
body.admin-bar.woocommerce-order-received #luxe-app {
  padding-top: var(--nav) !important;
}

body.admin-bar.home .announce-bar,
body.admin-bar.front-page .announce-bar,
body.admin-bar.blog .announce-bar,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) .announce-bar {
  top: 32px !important;
}

body.admin-bar.home #luxe-top-nav,
body.admin-bar.front-page #luxe-top-nav,
body.admin-bar.blog #luxe-top-nav,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) #luxe-top-nav {
  top: calc(32px + var(--announce)) !important;
}

body.admin-bar.woocommerce-checkout #luxe-top-nav,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav,
body.admin-bar.woocommerce-order-received #luxe-top-nav {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar.home .announce-bar,
  body.admin-bar.front-page .announce-bar,
  body.admin-bar.blog .announce-bar,
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) .announce-bar {
    top: 46px !important;
  }

  body.admin-bar.home #luxe-top-nav,
  body.admin-bar.front-page #luxe-top-nav,
  body.admin-bar.blog #luxe-top-nav,
  body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) #luxe-top-nav {
    top: calc(46px + var(--announce)) !important;
  }

  body.admin-bar.woocommerce-checkout #luxe-top-nav,
  body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav,
  body.admin-bar.woocommerce-order-received #luxe-top-nav {
    top: 46px !important;
  }
}

/* Customer-facing QA should not inherit WordPress admin-bar spacing. */
html {
  margin-top: 0 !important;
}

body.admin-bar {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.admin-bar #wpadminbar {
  display: none !important;
}

body.admin-bar.home #luxe-app,
body.admin-bar.front-page #luxe-app,
body.admin-bar.blog #luxe-app,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) #luxe-app {
  padding-top: calc(var(--announce) + var(--nav)) !important;
}

body.admin-bar.woocommerce-checkout #luxe-app,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-app,
body.admin-bar.woocommerce-order-received #luxe-app {
  padding-top: var(--nav) !important;
}

body.admin-bar.home .announce-bar,
body.admin-bar.front-page .announce-bar,
body.admin-bar.blog .announce-bar,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) .announce-bar {
  top: 0 !important;
}

body.admin-bar.home #luxe-top-nav,
body.admin-bar.front-page #luxe-top-nav,
body.admin-bar.blog #luxe-top-nav,
body.admin-bar:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-order-received) #luxe-top-nav {
  top: var(--announce) !important;
}

body.admin-bar.woocommerce-checkout #luxe-top-nav,
body.admin-bar.woocommerce-checkout.woocommerce-page #luxe-top-nav,
body.admin-bar.woocommerce-order-received #luxe-top-nav {
  top: 0 !important;
}

/* Product archive AJAX refresh keeps the page chrome stable while results update. */
.prod-grid,
.archive-empty {
  transition: opacity .16s ease;
}

.luxe-archive-loading {
  opacity: .42 !important;
  pointer-events: none !important;
}

.luxe-archive-busy .sort-opt,
.luxe-archive-busy .filter-bar .fpill,
.luxe-archive-busy .luxe-pagination a {
  cursor: progress !important;
}

/* Site-wide page transition: replaces blank navigations with a branded handoff. */
body::before,
body::after {
  pointer-events: none !important;
}

body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  background: #fff !important;
  opacity: 0 !important;
  animation: luxe-page-enter-bg .46s cubic-bezier(.22, .72, .2, 1) .03s both !important;
}

body::after {
  content: "CNBUY" !important;
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 2147483001 !important;
  transform: translate(-50%, -50%) !important;
  color: #050505 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: .28em !important;
  line-height: 1 !important;
  opacity: 0 !important;
  animation: luxe-page-enter-mark .46s cubic-bezier(.22, .72, .2, 1) .03s both !important;
}

#luxe-page-transition {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483100 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #050505 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .18s ease, visibility 0s linear .18s !important;
}

html.luxe-page-transition-active #luxe-page-transition {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity .18s ease, visibility 0s linear 0s !important;
}

.luxe-page-transition-inner {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  min-width: 118px !important;
}

.luxe-page-transition-logo {
  display: block !important;
  color: #050505 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: .28em !important;
  line-height: 1 !important;
  text-indent: .28em !important;
}

.luxe-page-transition-line {
  position: relative !important;
  display: block !important;
  width: 112px !important;
  height: 1px !important;
  overflow: hidden !important;
  background: #e7e7e7 !important;
}

.luxe-page-transition-line i {
  position: absolute !important;
  left: -40% !important;
  top: 0 !important;
  width: 40% !important;
  height: 100% !important;
  background: #050505 !important;
  animation: luxe-page-progress .72s cubic-bezier(.4, 0, .2, 1) infinite !important;
}

@keyframes luxe-page-enter-bg {
  0%, 56% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes luxe-page-enter-mark {
  0%, 50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.985);
    visibility: hidden;
  }
}

@keyframes luxe-page-progress {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(350%);
  }
}

/* Codex QA v1.0.288: checkout expanded summary must increase page height,
   not trap the lower form below a fixed one-screen root. */
html.luxe-checkout-scroll-root,
html:has(body.woocommerce-checkout) {
  height: auto !important;
  min-height: 100% !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
}

body.woocommerce-checkout {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
}

body.woocommerce-checkout #luxe-app {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

body.woocommerce-checkout #luxe-main,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .checkout-body {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout #order-summary,
body.woocommerce-checkout .order-summary,
body.woocommerce-checkout .checkout-steps,
body.woocommerce-checkout #luxe-payment-group,
body.woocommerce-checkout #luxe-payment-group #payment,
body.woocommerce-checkout #luxe-payment-group .woocommerce-terms-and-conditions-wrapper {
  position: relative !important;
  transform: none !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #order-summary,
body.woocommerce-checkout .order-summary {
  z-index: 1 !important;
}

body.woocommerce-checkout .checkout-steps,
body.woocommerce-checkout #luxe-payment-group {
  clear: both !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method.is-selected {
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  box-shadow: inset 0 0 0 .5px var(--black) !important;
  overflow: hidden !important;
}

/* Codex QA v1.0.289: payment group radius matches the shipping/input fields. */
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_methods,
body.woocommerce-checkout #luxe-main #luxe-payment-group .payment_methods {
  border-radius: 6px !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:first-child,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:first-of-type {
  border-top-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
}

body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:last-child,
body.woocommerce-checkout #luxe-main #luxe-payment-group .wc_payment_method:last-of-type {
  border-bottom-left-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}

/* Codex QA v1.0.290: home chrome and reviews stay inside the same 1000px surface. */
body.home,
body.front-page,
body.blog {
  --luxe-home-surface: 1000px;
}

body.home .announce-bar,
body.front-page .announce-bar,
body.blog .announce-bar,
body.home #luxe-top-nav,
body.front-page #luxe-top-nav,
body.blog #luxe-top-nav {
  width: min(100%, var(--luxe-home-surface, 1000px)) !important;
  max-width: var(--luxe-home-surface, 1000px) !important;
}

body.home .h-reviews-sec {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.home .h-reviews-scroll {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Codex QA v1.0.291: content-policy pages must not show a white footer spacer above the bottom nav. */
body.wp-singular.page:not(.home):not(.front-page) #luxe-app #luxe-footer.home-footer,
body.wp-singular.page:not(.home):not(.front-page) #luxe-footer.home-footer,
body.page:not(.home):not(.front-page) #luxe-footer.home-footer {
  margin-bottom: 0 !important;
  padding-bottom: calc(16px + var(--bot) + env(safe-area-inset-bottom, 0px)) !important;
}

/* Codex QA v1.0.292: guest account pages keep the centered surface white instead of exposing gray empty space. */
body.woocommerce-account:not(.logged-in) #luxe-app {
  min-height: 100svh !important;
  background: #fff !important;
}

body.woocommerce-account:not(.logged-in) #luxe-main,
body.woocommerce-account:not(.logged-in) .luxe-wc-page,
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account:not(.logged-in) .login-bg,
body.woocommerce-account:not(.logged-in) .auth-bg {
  min-height: calc(100svh - var(--nav) - 34px) !important;
  background: #fff !important;
}

body.woocommerce-account:not(.logged-in) .login-body,
body.woocommerce-account:not(.logged-in) .auth-body {
  flex: 0 0 auto !important;
}

/* Codex QA v1.0.293: expanded checkout summary uses white space plus dividers, no gray panel. */
body.woocommerce-checkout #luxe-main #order-summary,
body.woocommerce-checkout #luxe-main .order-summary {
  background: #fff !important;
  box-shadow: none !important;
}

/* Codex QA v1.0.294: header bottom and bottom navigation top use a crisp black .5px divider. */
body #luxe-top-nav,
body .top-nav,
body .u-nav {
  border-bottom: 0 !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 -.5px 0 var(--black) !important;
}

body #luxe-bot-nav,
body #luxe-bot-nav.bot-nav,
body .bot-nav {
  border-top: 0 !important;
  box-shadow:
    inset .5px 0 0 var(--g200),
    inset -.5px 0 0 var(--g200),
    inset 0 .5px 0 var(--black) !important;
}

/* Codex QA v1.0.295: static page footers must meet the bottom navigation without a white spacer. */
body.page:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-cart) #luxe-main {
  padding-bottom: 0 !important;
}

body.page:not(.home):not(.front-page):not(.woocommerce-checkout):not(.woocommerce-cart) #luxe-footer.home-footer {
  margin-bottom: 0 !important;
  padding-bottom: calc(18px + var(--bot) + env(safe-area-inset-bottom, 0px)) !important;
  background: #0a0a0a !important;
}

/* Codex QA v1.0.296: category side menu scrolls with the page instead of sticking while products move. */
body.post-type-archive-product .shop-cat-layout .cat-side,
body.tax-product_cat .cat-layout .cat-side,
body.tax-product_cat .cat-side,
body.woocommerce-shop .shop-cat-layout .cat-side,
body.woocommerce-shop .cat-side {
  position: static !important;
  top: auto !important;
  align-self: stretch !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Codex QA v1.0.297: checkout uses native document scrolling so payment controls remain reachable. */
html.luxe-checkout-scroll-root,
html:has(body.woocommerce-checkout),
html.luxe-checkout-scroll-root body,
body.woocommerce-checkout {
  scroll-behavior: auto !important;
}

body.woocommerce-checkout,
body.woocommerce-checkout #luxe-app,
body.woocommerce-checkout #luxe-main,
body.woocommerce-checkout .checkout-body,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce-checkout {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout {
  min-height: 100svh !important;
}

body.woocommerce-checkout #luxe-app {
  min-height: 100svh !important;
}
