/* Vionic reference palette for the public storefront; checkout and cart are excluded. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) {
  --vionic-ink: #242424;
  --vionic-ink-hover: #4a4541;
  --vionic-warm-white: #f7f5f2;
  --vionic-line: #e6e1dc;
  --vionic-muted: #77716d;
  --vionic-sale: #c62832;
}

/* The reference storefront uses a black announcement over a white navigation shell. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) #top-bar {
  background: #111111 !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #top-bar,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #top-bar a,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #top-bar p {
  color: #ffffff !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #masthead,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #wide-nav,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .stuck .header-main,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .header-bg-color {
  background: #ffffff !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #masthead {
  border-bottom: 1px solid var(--vionic-line);
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #wide-nav {
  border-bottom: 1px solid var(--vionic-line);
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .logo a,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li > a,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li > a i,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li > a .icon-shopping-basket {
  color: var(--vionic-ink) !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .logo a {
  font-weight: 400 !important;
  font-size: 38px;
  letter-spacing: .15em;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #wide-nav .nav > li > a {
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .04em;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li > a:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li.active > a {
  color: var(--vionic-ink-hover) !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li > a:hover::after,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .nav > li.active > a::after {
  background-color: var(--vionic-ink) !important;
}

/* Make the native WooCommerce cards feel as restrained as the captured editorial blocks. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) .product-small.box {
  border: 1px solid var(--vionic-line);
  border-radius: 2px !important;
  box-shadow: none !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .product-small .box-text a,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .product-small .name {
  color: var(--vionic-ink) !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .badge-container .badge-inner {
  background: var(--vionic-ink) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 2px !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .badge-frame .badge-inner {
  background: var(--vionic-warm-white) !important;
  color: var(--vionic-ink) !important;
  border: 1px solid var(--vionic-ink) !important;
}

/* Only WooCommerce's ins element denotes a real discounted price. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) .price ins,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .price ins .amount,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .price ins .woocommerce-Price-currencySymbol,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .woocommerce-variation-price ins,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .woocommerce-variation-price ins .amount {
  color: var(--vionic-sale) !important;
  -webkit-text-fill-color: var(--vionic-sale) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .price del,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .price del .amount {
  color: var(--vionic-muted) !important;
  -webkit-text-fill-color: var(--vionic-muted) !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
}
/* Variable sale products can render a discounted range without del/ins markup. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) .badge-container:has(.on-sale) + .product-small .price:not(:has(ins)) .amount,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .badge-container:has(.on-sale) + .product-small .price:not(:has(ins)) .woocommerce-Price-currencySymbol,
body:not(.woocommerce-checkout):not(.woocommerce-cart) .product-main:has(.badge-inner.on-sale) .product-info .price:not(:has(ins)) .amount {
  color: var(--vionic-sale) !important;
  -webkit-text-fill-color: var(--vionic-sale) !important;
}

/* Native store buttons retain their existing destinations and behavior. */
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .button.primary,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .button.alt:not([class*="payment"]):not([class*="express"]),
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .single_add_to_cart_button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .woocommerce-message .button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .woocommerce-button.button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .woocommerce-Button.button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .woocommerce-button.button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .woocommerce-Button.button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #login-form-popup .woocommerce-button.button,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main input[type="submit"] {
  background: var(--vionic-ink) !important;
  border-color: var(--vionic-ink) !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .button.primary:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .button.alt:not([class*="payment"]):not([class*="express"]):hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .single_add_to_cart_button:not(:disabled):hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .woocommerce-button.button:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .woocommerce-Button.button:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .woocommerce-button.button:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .woocommerce-Button.button:hover,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #login-form-popup .woocommerce-button.button:hover {
  background: var(--vionic-ink-hover) !important;
  border-color: var(--vionic-ink-hover) !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .single_add_to_cart_button.disabled,
body:not(.woocommerce-checkout):not(.woocommerce-cart) #main .single_add_to_cart_button:disabled {
  background: #9b9691 !important;
  border-color: #9b9691 !important;
  cursor: not-allowed;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .grid-tools a.quick-view {
  background: var(--vionic-ink) !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .grid-tools a.quick-view:hover {
  background: var(--vionic-ink-hover) !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .page-number.current {
  background: var(--vionic-ink) !important;
  border-color: var(--vionic-ink) !important;
  color: #ffffff !important;
}
body:not(.woocommerce-checkout):not(.woocommerce-cart) .shop-page-title.product-page-title {
  background-color: var(--vionic-ink) !important;
}

/* Homepage product headings bridge the native catalog and captured modules. */
body.page-id-410 .vionic-home .vionic-products h2,
body.page-id-410 .vionic-home .vionic-products-head a {
  color: var(--vionic-ink) !important;
}
body.page-id-410 .vionic-home .vionic-kicker {
  color: var(--vionic-muted) !important;
}
body.page-id-410 .vionic-home .vionic-products-head a {
  white-space: nowrap;
}
.page-id-410 .vionic-featured-offer {
  max-width: 1320px;
  margin: 10px auto 32px;
  padding: 38px 24px 42px;
  text-align: center;
  color: var(--vionic-ink);
  background: var(--vionic-warm-white);
}
.page-id-410 .vionic-featured-offer .vionic-offer-kicker {
  margin: 0 0 12px;
  color: var(--vionic-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.page-id-410 .vionic-featured-offer h2 {
  margin: 0 0 12px;
  color: var(--vionic-ink);
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.15;
}
.page-id-410 .vionic-featured-offer .vionic-offer-copy {
  margin: 0 auto 16px;
  max-width: 620px;
  color: #514c48;
  font-size: 16px;
  line-height: 1.5;
}
.page-id-410 .vionic-featured-offer .vionic-offer-product {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
}
.page-id-410 .vionic-featured-offer .vionic-offer-cta {
  display: inline-block;
  padding: 13px 27px;
  color: #ffffff;
  background: var(--vionic-ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
}
.page-id-410 .vionic-featured-offer .vionic-offer-cta:hover,
.page-id-410 .vionic-featured-offer .vionic-offer-cta:focus-visible {
  color: #ffffff;
  background: var(--vionic-ink-hover);
}
@media(max-width:849px) {
  body:not(.woocommerce-checkout):not(.woocommerce-cart) #header .logo a {
    font-size: 30px;
    letter-spacing: .13em;
  }
}
@media(max-width:600px) {
  .page-id-410 .vionic-featured-offer {
    margin: 0 0 12px;
    padding: 28px 20px 32px;
  }
  .page-id-410 .vionic-featured-offer .vionic-offer-copy {
    font-size: 15px;
  }
}
