

.back-to-top {
  position: fixed; right: 20px; bottom: 20px; z-index: 50;
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid currentColor;
  display: flex; align-items: center; justify-content: center;
  background: inherit; color: inherit; cursor: pointer; opacity: .85; transition: opacity .2s;
}
body > .back-to-top { background-color: var(--back-to-top-bg, #fff); }
.back-to-top:hover, .back-to-top:focus-visible { opacity: 1; }
.back-to-top[hidden] { display: none; }

.night-mode-toggle {
  font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer;
  text-transform: inherit; letter-spacing: inherit;
}
.night-mode-toggle::before { content: "\263E"; margin-right: .35em; }
html.night-mode .night-mode-toggle::before { content: "\2600"; }
html.night-mode .back-to-top { --back-to-top-bg: #1d1f24; }

.swatch-value-label { font-weight: normal; text-transform: none; letter-spacing: 0; }

.shoppable-image__media { position: relative; }
.shoppable-image__media img { display: block; width: 100%; }
.shoppable-image--wide { width: 100%; }
.shoppable-image__pin {
  position: absolute; z-index: 2; width: 28px; height: 28px; margin: -14px 0 0 -14px; padding: 0;
  border-radius: 50%; border: 2px solid #fff; background: rgba(255, 255, 255, .55); cursor: pointer;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); animation: shoppable-pulse 2s infinite;
}
.shoppable-image__pin::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #fff; }
.shoppable-image__pin[aria-expanded="true"] { animation: none; background: #fff; }
@keyframes shoppable-pulse { 70% { box-shadow: 0 0 0 12px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
@media (prefers-reduced-motion: reduce) { .shoppable-image__pin { animation: none; } }
.shoppable-image__card {
  position: absolute; z-index: 3; width: 250px; margin: 22px 0 0 -20px; padding: 10px;
  display: flex; gap: 10px; align-items: flex-start;
  background: #fff; color: #222; box-shadow: 0 6px 24px rgba(0, 0, 0, .18); font-size: 13px; line-height: 1.4;
}
.shoppable-image__card--left { margin-left: -230px; }
.shoppable-image__card[hidden] { display: none; }
.shoppable-image__card img { width: 80px; height: 80px; object-fit: cover; flex: 0 0 80px; }
.shoppable-image__title { display: block; color: inherit; font-weight: 600; }
.shoppable-image__price { display: block; margin: 2px 0 4px; }
.shoppable-image__link { color: inherit; text-decoration: underline; }
.shoppable-image__cta { padding: 28px 20px; text-align: center; }
.shoppable-image__cta .title { color: inherit; margin-bottom: 8px; }
.shoppable-image__text { margin-bottom: 14px; }
@media only screen and (max-width: 798px) {
  .shoppable-image__card, .shoppable-image__card--left { left: 50% !important; margin-left: -125px; }
}

.product-reviews { padding: 30px 0; }
.product-reviews__item { border-top: 1px solid rgba(128, 128, 128, .3); padding: 16px 0; }
.product-reviews__stars { letter-spacing: 2px; }
.product-reviews__title { margin: 4px 0; }
.product-reviews__meta { opacity: .7; font-size: .9em; }
.product-reviews__write { margin-top: 20px; }
.product-reviews__write > summary { display: inline-block; cursor: pointer; list-style: none; }
.product-reviews__write > summary::-webkit-details-marker { display: none; }
.product-reviews__form { max-width: 560px; margin-top: 16px; display: grid; gap: 6px; }
.product-reviews__form .input { width: 100%; }
.product-reviews__rating { border: 0; padding: 0; margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.product-reviews__rating legend { padding: 0; margin-bottom: 4px; }
.product-reviews__hp { position: absolute; left: -9999px; }
.product-reviews__notice { padding: 10px 12px; border: 1px solid currentColor; }

.style-preview-bar {
  position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 1000;
  display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; justify-content: center;
  max-width: calc(100% - 32px); padding: 10px 16px; border-radius: 8px;
  background: #1d2327; color: #fff; font: 14px/1.4 system-ui, sans-serif; box-shadow: 0 6px 24px rgba(0, 0, 0, .3);
}
.style-preview-bar a { color: #9fd9c6; text-decoration: underline; }

.demo-switcher {
  --sw-h: 32px;
  font: 13px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: normal; text-transform: none;

  position: relative; z-index: 1002; height: var(--sw-h); width: 100%; box-sizing: border-box;
}
html.night-mode .demo-switcher[style*="--dbn-"] > .demo-switcher__bar {
  --db-bg: var(--dbn-bg); --db-fg: var(--dbn-fg); --db-muted: var(--dbn-muted);
  --db-button: var(--dbn-button); --db-hover: var(--dbn-hover); --db-line: var(--dbn-line);
}

.demo-switcher:has(.style-menu[open]) { z-index: 1000001; }

html:has(.demo-switcher) { --demo-bar-h: 32px; }
#header.mobile_nav-fixed--true,
.mobile_nav-fixed--false.is-active #header,
body > .sticky_nav { top: var(--demo-bar-h, 0px); }
@media only screen and (min-width: 799px) {
  html:has(body > .sticky_nav[data-animation-state=open]) .demo-switcher__bar,
  html:has(body > .sticky_nav[data-animation]) .demo-switcher__bar {
    position: fixed; top: 0; left: 0; right: 0;
    transform: translateY(-100%); opacity: 0; transition: transform 300ms ease-in-out, opacity 300ms ease-in-out;
  }
  html:has(body > .sticky_nav[data-animation-state=open]) .demo-switcher__bar { transform: none; opacity: 1; }
  html[data-stack-hide] body > .sticky_nav[data-animation-state=open] { transition: transform 300ms ease-in-out; }
  html.stack-hidden:has(body > .sticky_nav[data-animation-state=open]) .demo-switcher__bar { transform: translateY(-100%); }
  html.stack-hidden body > .sticky_nav[data-animation-state=open] { transform: translateY(calc(-100% - var(--demo-bar-h, 0px))); }
}
@media only screen and (max-width: 798px) {
  html:has(#header.mobile_nav-fixed--true) .demo-switcher__bar,
  html:has(body.mobile_nav-fixed--false.is-active) .demo-switcher__bar { position: fixed; top: 0; left: 0; right: 0; }
  html[data-stack-hide] .demo-switcher__bar,
  html[data-stack-hide] #header.mobile_nav-fixed--true { transition: transform 300ms ease-in-out; }
  html.stack-hidden:has(#header.mobile_nav-fixed--true) .demo-switcher__bar { transform: translateY(-100%); }
  html.stack-hidden #header.mobile_nav-fixed--true { transform: translateY(calc(-100% - var(--demo-bar-h, 0px))); }
}
@media (prefers-reduced-motion: reduce) {
  .demo-switcher__bar, html[data-stack-hide] #header.mobile_nav-fixed--true, html[data-stack-hide] body > .sticky_nav { transition: none !important; }
}

html { scroll-padding-top: calc(var(--demo-bar-h, 0px) + 80px); }
.demo-switcher__bar {
  display: flex; align-items: center; justify-content: center; gap: 8px; height: var(--sw-h); padding: 0 12px; white-space: nowrap; overflow: hidden;
  box-sizing: border-box; background: var(--db-bg, #111317); color: var(--db-fg, #e9eaec); box-shadow: inset 0 -1px 0 var(--db-line, transparent);
}
.demo-switcher__short { display: none; }
.demo-switcher__sep { color: var(--db-muted, inherit); }
.demo-switcher__label { font-weight: 400; color: var(--db-muted, #b9bcc2); }
.style-menu { margin: 0; min-width: 0; }
.style-menu__button {
  list-style: none; display: flex; align-items: center; gap: 7px; height: 24px; padding: 0 9px 0 4px; cursor: pointer;
  background: var(--db-button, #23262d); border: 1px solid var(--db-line, #3a3e47); border-radius: 5px; color: var(--db-fg, #fff); min-width: 0; box-sizing: border-box;
}
.style-menu__button::-webkit-details-marker { display: none; }
.style-menu__button::marker { content: ''; }
.style-menu__button:hover, .style-menu[open] .style-menu__button { background: var(--db-hover, #2d3139); }
.style-menu__button img { border-radius: 4px; flex: none; display: block; }
.style-menu__current { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.style-menu__current strong { font-weight: 600; }
.style-menu__caret { flex: none; transition: transform .15s; }
.style-menu[open] .style-menu__caret { transform: rotate(180deg); }

.style-menu__panel {
  position: fixed; top: calc(var(--sw-bottom, var(--demo-bar-h, var(--sw-h))) + 6px); left: 50%; transform: translateX(-50%); width: 320px; max-width: calc(100vw - 16px);
  max-height: calc(100vh - var(--sw-h) - 16px); max-height: calc(100dvh - var(--sw-h) - 16px); overflow-y: auto; overscroll-behavior: contain;
  box-sizing: border-box; padding: 6px; background: var(--db-bg, #1a1d22); color: var(--db-fg, #e9eaec); border: 1px solid var(--db-line, #3a3e47); border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .3); white-space: normal; text-align: left;
}
.style-menu__head { margin: 0 !important; padding: 8px 10px 6px; font: 600 11px/1.2 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--db-muted, #9a9ea6); }
.style-menu__list { list-style: none; margin: 0 !important; padding: 0; }
.style-menu__list li { margin: 0; padding: 0; list-style: none; }
.style-menu__row, .style-menu__foot {
  display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 7px 10px; box-sizing: border-box; border-radius: 7px;
  color: var(--db-fg, #e9eaec) !important; text-decoration: none !important; font: 13px/1.25 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: normal; text-transform: none;
}
.style-menu__row img { border-radius: 6px; flex: none; display: block; }
.style-menu__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.style-menu__text strong { font-weight: 650; color: var(--db-fg, #fff); }
.style-menu__text span { font-size: 12px; color: var(--db-muted, #9a9ea6); }
.style-menu__check { flex: none; color: var(--db-fg, #9fd9c6); visibility: hidden; }
.style-menu__row[aria-current] { background: var(--db-button, #262a31); }
.style-menu__row[aria-current] .style-menu__check { visibility: visible; }
.style-menu__row:hover, .style-menu__foot:hover { background: var(--db-hover, #2d3139); }
.style-menu__foot span { color: inherit !important; }
.style-menu__foot { margin-top: 4px; border-top: 1px solid var(--db-line, #2f333b); border-radius: 0 0 7px 7px; font-weight: 600; }
.style-menu__button:focus-visible, .style-menu__row:focus-visible, .style-menu__foot:focus-visible { outline: 2px solid var(--db-fg, #9fd9c6); outline-offset: 1px; }

@media only screen and (max-width: 798px) {
  .demo-switcher { --sw-h: 40px; }
  .style-menu__button { height: 40px; }
  html:has(.demo-switcher) { --demo-bar-h: 40px; }

  html.is-scrolled #header.mobile_nav-fixed--true .promo-banner { display: none; }
}
@media only screen and (max-width: 600px) {
  .demo-switcher__long, .demo-switcher__label { display: none; }
  .demo-switcher__short { display: inline; }
  .demo-switcher__bar { gap: 6px; font-size: 12px; }
  .style-menu__button { max-width: 58vw; }
}

@media only screen and (max-width: 480px) {
  .style-menu__panel { left: 0; right: 0; transform: none; width: auto; max-width: none; top: var(--sw-bottom, var(--demo-bar-h, var(--sw-h))); border-radius: 0 0 10px 10px; border-width: 0 0 1px; }
  .style-menu__row, .style-menu__foot { min-height: 48px; }
}

@media only screen and (max-width: 798px) {
  .promo-banner .promo-banner__close,
  .promo-banner .promo-banner__close:before { width: 40px; height: 40px; line-height: 40px; }
  .mobile_nav { min-width: 40px; min-height: 40px; }
  .top-bar--right .icon-search { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
  .cart_content .product-quantity-box .product-plus, .cart_content .product-quantity-box .product-minus,
  #cart_form .product-quantity-box .product-plus, #cart_form .product-quantity-box .product-minus,
  .product_form .product-quantity-box .product-plus, .product_form .product-quantity-box .product-minus {
    height: 40px; line-height: 40px; min-width: 40px;
  }
  .cart_content .product-quantity-box .quantity, #cart_form .product-quantity-box .quantity { height: 40px; min-height: 40px; }
  .swatch-element.color.swatch-element label { width: 40px; height: 40px; line-height: 40px; }
  .mobile-menu-container .night-mode-toggle { min-height: 40px; }
  .product_form .add_to_cart, .product_form .global-button { min-height: 40px; }
}

.main-nav .search-container.nav-search { width: auto; max-width: none; padding-left: 8px; flex: none; position: relative; }
.logo-position--center.search-enabled--true .nav--right { width: calc(45% - 56px); }
.nav-search__details { position: relative; }
.nav-search__toggle {
  list-style: none; display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; cursor: pointer; border-bottom: 0 !important;
}
.nav-search__toggle::-webkit-details-marker { display: none; }
.nav-search__toggle::marker { content: ''; }
.nav-search__toggle .icon-search { font-size: 18px; line-height: 1; }
.nav-search__toggle:focus-visible, .nav-search__go:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.nav-search__panel {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 1000; width: 300px; max-width: calc(100vw - 32px);
  display: flex; align-items: center; gap: 4px; margin: 0; padding: 8px; box-sizing: border-box;
  background: #ffffff; border: 1px solid rgba(0, 0, 0, .12); border-radius: 4px; box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}
.nav-search__panel input[type="search"] { flex: 1; min-width: 0; margin: 0; height: 40px; color: #222; background: #fff; border: 1px solid #d6d6d6; padding: 0 10px; font-size: 14px; }
.nav-search__go { flex: none; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: #222; cursor: pointer; font-size: 16px; }

.name-row { margin: 0 auto; max-width: 960px; font-size: 15px; line-height: 2.1; letter-spacing: .14em; text-transform: uppercase; }
.name-row span { margin: 0 .6em; opacity: .5; }

@media only screen and (max-width: 798px) {
  .banner img.mobile-banner--crop-left,
  .banner img.mobile-banner--crop-right,
  .banner img.mobile-banner--crop-center { object-fit: cover; min-height: 0; height: auto; width: 100%; aspect-ratio: 4 / 5; }
  .section-wrapper .base-section--featured-promotions .feature-inner img { object-fit: cover; aspect-ratio: 4 / 5; height: auto; width: 100%; }
}

@media only screen and (max-width: 798px) {
  .homepage-product-slider { padding-left: 20px; box-sizing: border-box; }
}

@media only screen and (max-width: 798px) {
  .image-with-text__image-column .image-element__wrap,
  .image-with-text__image-column img { height: auto !important; }
}

.sticky_nav .search-container.nav-search { max-width: none; padding: 0 0 0 8px; align-self: center; }
.sticky_nav .nav-search__panel { position: absolute !important; }

.newsletter-consent { margin: 10px 0 0; font-size: 12px; opacity: .8; }
.signup-popup[hidden] { display: none; }
.signup-popup { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.signup-popup__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.signup-popup__dialog { position: relative; width: 100%; max-width: 420px; max-height: calc(100dvh - 32px); overflow-y: auto;
  background: var(--signup-bg, #fff); color: var(--signup-ink, #1a1a1a); border-radius: 10px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); text-align: left; }
.signup-popup__dialog:focus { outline: none; }
.signup-popup__img { display: block; width: 100%; height: 180px; object-fit: cover; border-radius: 10px 10px 0 0; }
.signup-popup__body { padding: 22px 22px 20px; }
.signup-popup__body h2 { margin: 0 0 8px; font-size: 24px; line-height: 1.2; }
.signup-popup__body p { margin: 0 0 12px; }
.signup-popup__form { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.signup-popup__form input[type="email"] { flex: 1 1 200px; min-width: 0; height: 44px; margin: 0; padding: 0 12px; font-size: 16px; border: 1px solid #c9c9c9; border-radius: 4px; background: #fff; color: #1a1a1a; }
.signup-popup__form button { flex: 0 0 auto; min-height: 44px; margin: 0; }
.signup-popup__consent { font-size: 12px; opacity: .75; margin: 10px 0 0 !important; }
.signup-popup__close { position: absolute; top: 6px; right: 6px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .85); color: #1a1a1a; font-size: 26px; line-height: 1; cursor: pointer; z-index: 1; }
.signup-popup__close:focus-visible, .signup-popup__form :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.signup-popup__done { display: none; }
.signup-popup.is-done .signup-popup__ask { display: none; }
.signup-popup.is-done .signup-popup__done { display: block; }
html.signup-open { overflow: hidden; }
@media only screen and (max-width: 480px) {
  .signup-popup { align-items: flex-end; padding: 0; }
  .signup-popup__dialog { max-width: none; border-radius: 12px 12px 0 0; max-height: 85dvh; }
  .signup-popup__img { border-radius: 12px 12px 0 0; height: 140px; }
}

[data-builder-selected] { outline: 2px solid #1d6b58; outline-offset: -2px; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

