/** Shopify CDN: Minification failed

Line 609:0 All "@import" rules must come first

**/
/* Alchemy Trade — custom overrides */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&family=Roboto:wght@400;500&display=swap');

/* ── Global font: Roboto for header UI elements ── */
.shopify-section-group-header-group {
  font-family: 'Roboto', Arial, sans-serif;
}

/* ── Header: black background, white text ── */
.shopify-section-group-header-group .gradient.color-scheme-4 {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.shopify-section-group-header-group .color-scheme-4 a,
.shopify-section-group-header-group .color-scheme-4 button,
.shopify-section-group-header-group .color-scheme-4 .header__icon {
  color: #ffffff !important;
}

.shopify-section-group-header-group .color-scheme-4 svg {
  fill: #ffffff;
}

/* ── Remove any separator lines in header group ── */
.shopify-section-group-header-group .utility-bar,
.shopify-section-group-header-group .utility-bar--bottom-border,
.shopify-section-group-header-group .header-wrapper {
  border-bottom: none !important;
  box-shadow: none !important;
}

.shopify-section-group-header-group .shopify-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Announcement bar: red background, white text; Roboto 14px to match AOEWS ── */
.shopify-section-group-header-group .gradient.color-scheme-5 {
  background-color: #990000 !important;
  color: #ffffff !important;
}

.shopify-section-group-header-group .color-scheme-5 p,
.shopify-section-group-header-group .color-scheme-5 a,
.shopify-section-group-header-group .color-scheme-5 span {
  color: #ffffff !important;
}

.shopify-section-group-header-group .color-scheme-5 .announcement-bar__message {
  font-family: 'Roboto', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* ── Trade mega nav ── */
.shopify-section-group-header-group .section-aoe-trade-nav {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

.aoe-nav {
  background: #ffffff;
}

.aoe-nav .page-width {
  padding: 0;
}

.aoe-nav__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: stretch;
}

.aoe-nav__item {
  position: relative;
  flex: 1;
  display: flex;
  align-items: stretch;
}

.aoe-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 8px;
  text-align: center;
  text-decoration: none;
  color: #2b2c2d;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: normal;
  transition: background-color 0.2s ease;
  white-space: nowrap;
}

.aoe-nav__link:hover {
  background-color: #f4f4f4;
  color: #2b2c2d;
}

.aoe-nav__item--clearance .aoe-nav__link {
  background-color: #990000;
  color: #ffffff;
}

.aoe-nav__item--clearance .aoe-nav__link:hover {
  background-color: #7a0000;
  color: #ffffff;
}

/* Dropdown panel */
.aoe-nav__dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 220px;
  z-index: 300;
  padding: 8px 0 12px;
  border: 1px solid #dddddd;
  border-top: 2px solid #990000;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.aoe-nav__item--has-dropdown:hover .aoe-nav__dropdown {
  display: block;
}

/* Section headers inside dropdown */
.aoe-nav__section-head {
  margin: 10px 0 2px;
  padding: 0;
}

.aoe-nav__section-head:first-child {
  margin-top: 4px;
}

.aoe-nav__section-head a {
  display: block;
  padding: 4px 16px;
  color: #2b2c2d;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.aoe-nav__section-head a:hover {
  color: #990000;
}

/* Items inside dropdown */
.aoe-nav__dropdown ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.aoe-nav__dropdown ul li a {
  display: block;
  padding: 4px 16px 4px 24px;
  color: #555555;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.aoe-nav__dropdown ul li a:hover {
  color: #990000;
  background-color: #fafafa;
}

/* Hide on mobile - Horizon header handles mobile nav */
@media screen and (max-width: 989px) {
  .aoe-nav {
    display: none;
  }
}

/* ── Logo: match AOEWS size (~220px wide) ── */
.header__heading-logo {
  max-width: 170px !important;
  width: 170px !important;
  height: auto !important;
}

/* ── Header grid: give search column all available space ── */
@media screen and (min-width: 990px) {
  .header--middle-left {
    grid-template-columns: auto 1fr auto !important;
  }
}

/* ── Inline search bar ── */
.header__search-inline {
  grid-area: navigation;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.header__search-inline-form {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.header__search-inline-form .field {
  border: none;
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.header__search-inline-form .field__input {
  background: #ffffff;
  color: #000000;
  border: none;
  border-radius: 2px;
  height: 40px;
  padding: 0 1.2rem 0 4.4rem !important;
  width: 100%;
}

.header__search-inline-form .field__input::placeholder {
  color: #aaaaaa !important;
  opacity: 1 !important;
  font-size: 0.8em;
}

.header__search-inline-form .field__input {
  color: #000000 !important;
}

.header__search-inline-form .field__label {
  display: none;
}

/* Search icon on the left — override base.css right:0 */
.header__search-inline-form .field__button.search__button {
  position: absolute;
  left: 0.8rem;
  right: auto;
  top: 0;
  width: 3rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  color: #888888 !important;
}

.header__search-inline-form .field__button.search__button svg {
  width: 18px;
  height: 18px;
  fill: #888888 !important;
}

/* ── Country/currency selector ── */
.header__icons {
  align-items: center;
}

.desktop-localization-wrapper {
  display: flex;
  align-items: center;
  align-self: center;
}

.header-localization localization-form {
  display: flex;
  align-items: center;
}

.header-localization .localization-selector {
  color: #ffffff !important;
  font-family: 'Roboto', Arial, sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  text-decoration: none;
  border: none;
  background: transparent;
  padding: 0 0.4rem;
  gap: 0.4rem;
}

.header-localization .localization-selector .icon-caret {
  fill: #ffffff !important;
  width: 10px;
  height: 6px;
}

.header-localization .localization-selector:hover {
  color: #cccccc !important;
}

/* Dropdown list */
.header-localization .disclosure__list-button {
  color: #000000;
}

/* Reset button stays right */
.header__search-inline-form .reset__button {
  right: 0.6rem;
  left: auto;
}

/* ── Cart empty state spacing ── */
.cart__warnings {
  padding-bottom: 5rem !important;
}

/* ── Primary buttons — brand black fill ── */
.button:not(.button--secondary):not(.button--tertiary):not(.button--primary):not(.cart__checkout-button):not(.link) {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.button:not(.button--secondary):not(.button--tertiary):not(.button--primary):not(.cart__checkout-button):not(.link):hover {
  background-color: #990000 !important;
  color: #ffffff !important;
}

/* ── Secondary buttons — black border, black text ── */
.button--secondary:not(.cart__checkout-button) {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

.button--secondary:not(.cart__checkout-button):hover {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* View cart button inside dark cart notification flyout */
.cart-notification .button--secondary {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}
.cart-notification .button--secondary:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* ── Cart checkout button ── */
.cart__checkout-button {
  background-color: #990000 !important;
  border-color: #990000 !important;
}

.cart__checkout-button:hover {
  background-color: #7a0000 !important;
  border-color: #7a0000 !important;
}

/* ── Trade footer ── */
.aoe-footer {
  background-color: #000000;
  color: #ffffff;
  padding: 48px 0 36px;
}

.aoe-footer__grid {
  display: grid;
  grid-template-columns: 2.2fr 1.4fr 1.4fr 1fr;
  gap: 40px;
}

@media screen and (max-width: 989px) {
  .aoe-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media screen and (max-width: 749px) {
  .aoe-footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

.aoe-footer__brand-name {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #ffffff;
  margin: 0 0 12px;
}

.aoe-footer__address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: #cccccc;
  margin: 0 0 12px;
}

.aoe-footer__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #cccccc;
  margin: 0;
}

.aoe-footer__phone svg {
  flex-shrink: 0;
  color: #cccccc;
}

.aoe-footer__phone a {
  color: #cccccc;
  text-decoration: none;
}

.aoe-footer__phone a:hover {
  color: #ffffff;
}

.aoe-footer__heading {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ffffff;
  margin: 0 0 14px;
}

.aoe-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.aoe-footer__links li {
  margin-bottom: 7px;
}

.aoe-footer__links a {
  color: #cccccc;
  text-decoration: none;
  font-size: 14px;
  font-family: 'Roboto', Arial, sans-serif;
  transition: color 0.15s ease;
}

.aoe-footer__links a:hover {
  color: #ffffff;
}

.aoe-footer__social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.aoe-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #444444;
  color: #ffffff;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.aoe-footer__social-link:hover {
  background-color: #990000;
}

/* ── Trade login intro block ── */
.trade-login-intro {
  margin-bottom: 3.6rem;
  text-align: left;
}

.trade-login-intro__eyebrow {
  font-size: 1.2rem;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #990000;
  margin: 0 0 0.8rem;
}

.trade-login-intro__heading {
  font-size: 2.8rem;
  margin: 0 0 1.6rem;
  line-height: 1.1;
}

@media screen and (min-width: 750px) {
  .trade-login-intro__heading {
    font-size: 3.6rem;
  }
}

.trade-login-intro__body {
  font-size: 1.5rem;
  line-height: 1.6;
  color: rgba(var(--color-foreground), 0.8);
  margin: 0 0 2.8rem;
}

.trade-login-intro__steps {
  border: 1px solid rgba(var(--color-foreground), 0.15);
  padding: 2rem 2.4rem;
  margin-bottom: 2.4rem;
}

.trade-login-intro__steps-heading {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 1.2rem;
}

.trade-login-intro__step-list {
  margin: 0 0 1.2rem;
  padding-left: 2rem;
  list-style: decimal;
  text-align: left;
}

.trade-login-intro__step-list li {
  font-size: 1.5rem;
  line-height: 1.7;
  margin-bottom: 0.4rem;
  padding-left: 0.4rem;
}

.trade-login-intro__note {
  font-size: 1.3rem;
  color: rgba(var(--color-foreground), 0.6);
  margin: 0;
  font-style: italic;
}

.trade-login-intro__apply {
  font-size: 1.4rem;
  margin-bottom: 2.8rem;
}

.trade-login-intro__apply p {
  margin: 0;
  line-height: 1.6;
}

.trade-login-intro__divider {
  border: none;
  border-top: 1px solid rgba(var(--color-foreground), 0.15);
  margin: 0;
}

/* Demote the default "Sign in" h1 to a section label - our intro block has the real heading */
.login h1#login {
  font-size: 1.3rem;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 2.8rem;
  margin-bottom: 0;
  color: rgba(var(--color-foreground), 0.6);
}

/* =================================================================
   AOE PDP — Design-kit styles (pdp-shared.css port)
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Open+Sans:wght@400;600;700&display=swap');

/* --- Breadcrumb ------------------------------------------------- */
.pdp__crumb {
  border-bottom: 1px solid #e3e0d8;
}
.pdp__crumb-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 16px;
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a8a8a;
}
@media (min-width: 1024px) { .pdp__crumb-inner { padding: 16px 28px; } }
.pdp__crumb a { color: #8a8a8a; text-decoration: none; }
.pdp__crumb a:hover { color: #000; }
.pdp__crumb .sep { color: #c8c8c8; }
.pdp__crumb [aria-current] { color: #000; }

/* --- Brand link above title ------------------------------------- */
.pdp__brand {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.24em; text-transform: uppercase;
  color: #5a5a5a;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transition: color 150ms, border-color 150ms;
  margin-bottom: 6px;
}
.pdp__brand:hover { color: #000; border-bottom-color: #000; }

/* --- Stars row -------------------------------------------------- */
.pdp__rating {
  display: inline-flex; align-items: center; gap: 8px;
  color: inherit; text-decoration: none;
  font-family: 'Open Sans', sans-serif; font-size: 12px;
}
.pdp__stars { display: inline-flex; gap: 1px; }
.pdp__stars > span { display: inline-flex; }
.pdp__rating-label {
  color: #5a5a5a;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 150ms;
}
.pdp__rating:hover .pdp__rating-label { color: #990000; }

/* --- Ship progress --------------------------------------------- */
.pdp__avail {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid #e3e0d8;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #2b2b2b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pdp__avail-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pdp__avail-dot--in  { background: #2d7a2d; }
.pdp__avail-dot--back { background: #b87800; }
.pdp__dispatch {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; color: #2b2b2b;
  display: flex; align-items: flex-start; gap: 8px;
  padding-bottom: 4px;
}
.pdp__dispatch::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: #2f7a3a; flex: 0 0 7px;
  margin-top: 6px;
}

/* --- Panels (accordion) ---------------------------------------- */
.pdp__panels {
  border-top: 1px solid #000;
  margin-top: 8px;
}
.pdp__panel {
  border-bottom: 1px solid #e3e0d8;
  position: relative;
}
.pdp__panel:last-child { border-bottom: 1px solid #000; }
.pdp__panel:has(.pdp__panel-preview) { border-bottom: 1px solid #000; }
.pdp__panel-head {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  background: transparent; border: 0; cursor: pointer;
  padding: 16px 2px;
  text-align: left;
}
.pdp__panel-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #000;
  transition: color 150ms;
}
.pdp__panel-head:hover .pdp__panel-title { color: #990000; }
.pdp__panel-toggle {
  width: 14px; height: 14px; position: relative;
  color: #000; flex: 0 0 14px;
}
.pdp__panel-toggle::before,
.pdp__panel-toggle::after {
  content: ""; position: absolute; background: currentColor;
}
.pdp__panel-toggle::before { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }
.pdp__panel-toggle::after  { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); transition: opacity 150ms; }
.pdp__panel[data-open="true"] .pdp__panel-toggle::after { opacity: 0; }

.pdp__panel-preview {
  position: relative;
  padding: 0 2px 28px;
  margin-top: -8px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px; line-height: 1.55;
  color: #1a1a1a;
  cursor: pointer;
}
.pdp__panel-preview .clamped {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
}
.pdp__panel-preview-more {
  position: absolute;
  left: 50%; bottom: 0;
  transform: translate(-50%, 50%);
  background: rgb(var(--color-background));
  padding: 0 10px;
  color: #000;
  cursor: pointer;
  border: 0;
  height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  z-index: 1;
  transition: color 150ms;
}
.pdp__panel-preview:hover .pdp__panel-preview-more,
.pdp__panel-preview-more:hover { color: #990000; }

.pdp__panel-body {
  padding: 0 2px 24px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px; line-height: 1.6;
  color: #1a1a1a;
}
.pdp__panel-body p { margin: 0 0 14px; }
.pdp__panel-body p:last-child { margin-bottom: 0; }
.pdp__panel-body em { font-style: italic; }
.pdp__panel-body b, .pdp__panel-body strong { font-weight: 600; }
.pdp__panel-body h3 {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  margin: 16px 0 8px; color: #000;
}
.pdp__panel-body a { color: #1a1a1a; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pdp__panel-body a:hover { color: #990000; }

/* --- Trust strip ----------------------------------------------- */
.pdp__trust {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 12px;
  padding-top: 24px;
}
@media (min-width: 768px) {
  .pdp__trust { grid-template-columns: repeat(4, 1fr); gap: 16px; }
}
@media (min-width: 768px) {
  .pdp__trust--3 { grid-template-columns: repeat(3, 1fr); }
}
.pdp__trust-item { display: flex; gap: 10px; align-items: flex-start; }
.pdp__trust-item svg {
  width: 22px; height: 22px; flex: 0 0 22px;
  color: #000; margin-top: 1px;
}
.pdp__trust-item .l1 {
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
  color: #000; line-height: 1.3;
}
.pdp__trust-item .l2 {
  display: block;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; color: #5a5a5a;
  line-height: 1.4; margin-top: 3px;
}

/* --- SKU ------------------------------------------------------- */
.pdp__sku {
  margin-top: 18px;
  font-family: 'Open Sans', sans-serif;
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #8a8a8a;
}

/* =================================================================
   Dawn element overrides — align to design kit
   ================================================================= */

/* Product title → Cormorant Garamond */
.product__title h1,
.product__title .h1,
.product__title h2.h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  color: #000 !important;
}

/* Price → Cormorant Garamond */
.price--large .price-item--regular,
.price--large .price-item--sale {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}
.price--large .price-item--regular + .price__compare .price-item--regular {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 19px !important;
  font-style: italic !important;
  color: #8a8a8a !important;
}

/* ATC button → red */
.product-form__submit.button--primary,
.product-form__submit.button--secondary {
  background-color: #990000 !important;
  border-color: #990000 !important;
  color: #fff !important;
  letter-spacing: 0.22em !important;
  height: 52px !important;
}
.product-form__submit.button--primary:hover,
.product-form__submit.button--secondary:hover {
  background-color: #660000 !important;
  border-color: #660000 !important;
}
.product-form__submit[disabled],
.product-form__submit[aria-disabled="true"] {
  background-color: #fff !important;
  border-color: #c8c8c8 !important;
  color: #5a5a5a !important;
}

/* Variant pills → design-kit chip style */
.product-form__input--pill {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.product-form__input--pill legend.form__label {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #000;
  width: 100%;
  margin-bottom: 4px;
  float: none;
  padding: 0;
}
.product-form__input--pill input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.product-form__input--pill label {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 13px !important; font-weight: 600 !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  background: #fff !important; color: #000 !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  transition: border-color 150ms, background 150ms, color 150ms !important;
  margin: 0 !important;
}
.product-form__input--pill label:hover {
  border-color: #000 !important;
}
.product-form__input--pill input[type="radio"]:checked + label {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
.product-form__input--pill input[type="radio"].disabled + label {
  color: #c8c8c8 !important;
  border-color: #e3e0d8 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}
.product-form__input--pill input[type="radio"].disabled + label:hover {
  border-color: #e3e0d8 !important;
}

/* =================================================================
   Sticky ATC bar
   ================================================================= */
.aoe-sticky-atc {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 500;
  background: #fff;
  border-top: 1px solid #000;
  transform: translateY(100%);
  transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
}
.aoe-sticky-atc--visible {
  transform: translateY(0);
  pointer-events: auto;
}
.aoe-sticky-atc[data-sold-out] { display: none !important; }
.aoe-sticky-atc__inner {
  max-width: 1280px; margin: 0 auto;
  padding: 12px 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
@media (min-width: 768px) { .aoe-sticky-atc__inner { padding: 14px 28px; } }
.aoe-sticky-atc__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.aoe-sticky-atc__title {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px; font-weight: 600; color: #000;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.aoe-sticky-atc__price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px; font-weight: 500; color: #000; line-height: 1;
}
.aoe-sticky-atc__btn {
  flex: 0 0 auto;
  background: #990000; color: #fff;
  border: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  padding: 14px 24px;
  cursor: pointer; white-space: nowrap;
  transition: background 150ms;
}
.aoe-sticky-atc__btn:hover { background: #660000; }

/* =================================================================
   PDP Reviews section (.pdp__greviews pattern from design kit)
   ================================================================= */
.pdp-reviews {
  border-top: 1px solid #e3e0d8;
  padding: 64px 16px;
  background: #f4f1ea;
}
@media (min-width: 768px)  { .pdp-reviews { padding: 64px 24px; } }
@media (min-width: 1024px) { .pdp-reviews { padding: 72px 28px; } }

.pdp-reviews__inner { max-width: 1280px; margin: 0 auto; }

.pdp-reviews__head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  margin-bottom: 28px; flex-wrap: wrap;
}
.pdp-reviews__h {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: clamp(26px, 4.5vw, 40px);
  line-height: 1.1; letter-spacing: -0.01em;
  margin: 0; color: #000;
}

.pdp-reviews__summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e3e0d8;
  margin-bottom: 28px;
}
@media (min-width: 768px) {
  .pdp-reviews__summary {
    grid-template-columns: auto 1fr;
    align-items: center; gap: 32px;
  }
}
.pdp-reviews__big {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 56px; font-weight: 500; line-height: 1;
}
.pdp-reviews__meta {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; color: #5a5a5a; line-height: 1.5;
}
.pdp-reviews__meta i { font-style: italic; }

.pdp-reviews__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 768px)  { .pdp-reviews__cards { grid-template-columns: repeat(3, 1fr); gap: 20px; } }

.pdp-reviews__card {
  background: #fff;
  border: 1px solid #e3e0d8;
  padding: 20px;
  display: flex; flex-direction: column; gap: 10px;
}
.pdp-reviews__card-head {
  display: flex; align-items: center; justify-content: space-between;
}
.pdp-reviews__card-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 500;
}
.pdp-reviews__card-date {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px; color: #8a8a8a;
}
.pdp-reviews__card-stars { display: inline-flex; gap: 1px; }
.pdp-reviews__card p {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px; line-height: 1.65;
  color: #2b2b2b; margin: 0;
}

/* ── Size Guide trigger + modal ── */
.pdp__sg-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #5a5a5a;
  text-decoration: underline;
  text-underline-offset: 2px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.pdp__sg-trigger:hover { color: #990000; }

.pdp__sg-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp__sg-modal[hidden] { display: none; }

.pdp__sg-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.pdp__sg-panel {
  position: relative;
  z-index: 1;
  background: #fff;
  border: 1px solid #000;
  width: min(640px, 92vw);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}

.pdp__sg-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e3e0d8;
  flex-shrink: 0;
}
.pdp__sg-panel-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.pdp__sg-close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #2b2b2b;
  display: flex;
  align-items: center;
}
.pdp__sg-close:hover { color: #990000; }

.pdp__sg-body {
  padding: 24px 20px;
  overflow-y: auto;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  line-height: 1.7;
  color: #2b2b2b;
}
.pdp__sg-body h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 500;
  margin: 0 0 8px; padding-bottom: 6px;
  border-bottom: 1px solid #e3e0d8;
}
.pdp__sg-body h3 {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 18px 0 6px;
}
.pdp__sg-body h4 {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px; font-weight: 600;
  margin: 12px 0 4px;
}
.pdp__sg-body p { margin: 0 0 10px; }
.pdp__sg-body ul { margin: 0 0 10px; padding-left: 18px; }
.pdp__sg-body table {
  width: 100%; border-collapse: collapse; margin-bottom: 14px;
}
.pdp__sg-body th, .pdp__sg-body td {
  border: 1px solid #e3e0d8; padding: 7px 10px;
  text-align: left; font-size: 12px;
}
.pdp__sg-body th {
  background: #f4f1ea; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.pdp__sg-body section { margin-bottom: 24px; }
.pdp__sg-body nav.pdp-sg__jumplinks {
  display: flex; gap: 16px; margin-bottom: 20px;
  padding-bottom: 12px; border-bottom: 1px solid #e3e0d8;
}
.pdp__sg-body nav.pdp-sg__jumplinks a {
  font-size: 12px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: #2b2b2b; text-decoration: underline;
  text-underline-offset: 2px;
}
.pdp__sg-body nav.pdp-sg__jumplinks a:hover { color: #990000; }

/* ── Product cards: 1px hairline border per design system ── */
.product-card-wrapper .card--card {
  border: 1px solid #e3e0d8;
}

/* ── PDP quick-set quantity buttons (single-variant products) ── */
.aoe-quick-qty {
  margin: 2.4rem 0 0;
}
/* Quantity stepper: white fill + black hairline to match the quick-add buttons */
.product-form__quantity quantity-input.quantity::before {
  background-color: #ffffff !important;
  border-radius: 2px !important;
}
.product-form__quantity quantity-input.quantity::after {
  box-shadow: 0 0 0 1px #000000 !important;
  border-radius: 2px !important;
}
.aoe-quick-qty__label {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.04rem;
  text-transform: none;
  color: rgba(var(--color-foreground), 0.75);
}
.aoe-quick-qty__buttons {
  display: flex;
  gap: 0.8rem;
}
.aoe-quick-qty__btn {
  min-width: 4.4rem;
  height: 4rem;
  padding: 0 1rem;
  border: 1px solid #000000;
  border-radius: 2px;
  background-color: #ffffff;
  color: #000000;
  font: inherit;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.aoe-quick-qty__btn:hover {
  background-color: #000000;
  color: #ffffff;
}
.aoe-quick-qty__btn:active {
  background-color: #990000;
  border-color: #990000;
  color: #ffffff;
}

/* Pulse Add to cart when a quick-add button bumps the quantity.
   Uses transform + filter (not background-color) because the button's
   background is set with !important, which CSS animations cannot override. */
@keyframes aoe-cart-pulse {
  0% {
    transform: scale(1);
    filter: brightness(1);
  }
  22% {
    transform: scale(1.06);
    filter: brightness(1.35);
  }
  45% {
    transform: scale(1);
    filter: brightness(1);
  }
  66% {
    transform: scale(1.03);
    filter: brightness(1.18);
  }
  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}
.product-form__submit.aoe-pulse {
  animation: aoe-cart-pulse 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .product-form__submit.aoe-pulse {
    animation: none;
  }
}

/* ── Temporary warehouse-move shipping delay notice (PDP + cart) ── */
.aoe-shipping-delay-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #990000;
  border-left: 3px solid #990000;
  border-radius: 2px;
}
.aoe-shipping-delay-notice svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  color: #990000;
}
.aoe-shipping-delay-notice__text {
  margin: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: #121212;
}


/* =================================================================
   SURGICAL DRAWER FIX (mobile hamburger) - appended 2026-08-06
   Restores mobile drawer visibility: color re-assert (was white-on-white)
   + tap-accordion layout. Order-safe: wins by specificity / later source.
   ================================================================= */
/* The mobile menu drawer is its own light scheme nested inside the dark header.
   Re-assert its foreground so links/buttons are not forced white by the rule above. */
.shopify-section-group-header-group .menu-drawer.color-scheme-2 a,
.shopify-section-group-header-group .menu-drawer.color-scheme-2 button {
  color: rgb(var(--color-foreground)) !important;
}

.shopify-section-group-header-group .menu-drawer.color-scheme-2 svg {
  fill: rgb(var(--color-foreground));
}

.shopify-section-group-header-group .menu-drawer.color-scheme-2 .aoe-nav__item--clearance .aoe-nav__link {
  color: #ffffff !important;
}

/* ── Keep the sticky header (and its mobile fly-out drawer) above page content.
   Horizon sets the header group to z-index:3, but the Clearance filter bar sits at
   z-index:10, so it bled through the open mobile menu. Lift the header above it. ── */
.section-header.shopify-section-group-header-group {
  z-index: 11;
}

/* ── Mobile drawer: full category tree as a tap accordion ── */
.aoe-nav__list--drawer {
  list-style: none;
  margin: 0 0 1.6rem;
  padding: 0;
  display: block;
}

.aoe-nav__list--drawer .aoe-nav__item {
  display: block;
  position: relative;
  flex: none;
  border-bottom: 1px solid rgba(var(--color-foreground), 0.08);
}

.aoe-nav__list--drawer .aoe-nav__link {
  justify-content: space-between;
  width: 100%;
  /* 3rem side gutter matches the account links below so the whole drawer shares
     one edge; was 4px, which left text and chevrons touching the drawer edges. */
  padding: 14px 3rem;
  color: rgb(var(--color-foreground));
  font-size: 15px;
}

.aoe-nav__list--drawer .aoe-nav__item--clearance {
  border-bottom: 0;
  margin-bottom: 6px;
}

.aoe-nav__list--drawer .aoe-nav__item--clearance .aoe-nav__link {
  color: #ffffff;
  /* Left-align to match the other drawer rows (14px 3rem gutter is inherited);
     centering here made the full-width red bar read as a heading, not a link. */
  justify-content: flex-start;
}

/* Caret on expandable rows */
.aoe-nav__list--drawer .aoe-nav__item--has-dropdown > .aoe-nav__link::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-left: 12px;
  flex: none;
}

.aoe-nav__list--drawer .aoe-nav__item.is-open > .aoe-nav__link::after {
  transform: rotate(-135deg);
}

/* Submenu - static, collapsed until the row is opened */
.aoe-nav__list--drawer .aoe-nav__dropdown {
  display: none;
  position: static;
  min-width: 0;
  border: 0;
  border-top: 0;
  box-shadow: none;
  /* Indent children a touch past the parent's 3rem gutter; right padding keeps
     long category names off the drawer edge. */
  padding: 0 2.4rem 10px 2.4rem;
  background: transparent;
}

.aoe-nav__list--drawer .aoe-nav__item.is-open > .aoe-nav__dropdown {
  display: block;
}

.aoe-nav__list--drawer .aoe-nav__dropdown ul li a,
.aoe-nav__list--drawer .aoe-nav__section-head a {
  white-space: normal;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Account links in the mobile drawer (Orders, Profile, Account) inherit Horizon's
   default 1.8rem body type, which clashes with the category nav above them. Match
   the category nav so the whole fly-out reads as one consistent system. The bottom
   "Account" utility link is a separate element, so it's matched explicitly too. */
.menu-drawer__navigation .menu-drawer__menu-item,
.menu-drawer__utility-links .menu-drawer__account {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: normal;
}

.menu-drawer__navigation .menu-drawer__menu-item {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* == Predictive dropdown - white panel, dark text (shared desktop + mobile) == */
.predictive-search.predictive-search--header {
  --color-background: 255, 255, 255;
  --color-foreground: 18, 18, 18;
  --color-link: 18, 18, 18;
  background-color: #ffffff;
  color: #121212;
  overflow-x: hidden;
}
.predictive-search--header .predictive-search__results-groups-wrapper {
  flex-direction: column;
}
.predictive-search.predictive-search--header .predictive-search__search-for-button {
  background-color: #ffffff;
  border-top: 1px solid rgba(18, 18, 18, 0.08);
}
.predictive-search.predictive-search--header .predictive-search__search-for-button .predictive-search__item--term,
.predictive-search.predictive-search--header .predictive-search__search-for-button .predictive-search__item--term > span,
.predictive-search.predictive-search--header .predictive-search__search-for-button .predictive-search__item--term .icon-arrow {
  color: #121212 !important;
}

/* ================================================================
   Mobile persistent search row (Option B) + predictive OOS tag
   ================================================================ */
.header__search-mobile {
  width: 100%;
  padding: 8px 14px 10px;
  background: #000; /* sits under the black header bar */
}
@media screen and (min-width: 990px) {
  .header__search-mobile { display: none; } /* desktop uses the inline bar */
}
.header__search-mobile .search { position: relative; }
.header__search-mobile .field {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #000;
  border-radius: 0; /* square, per brand kit */
  padding: 0;
}
.header__search-mobile .field:focus-within {
  border-color: #990000;
  box-shadow: inset 0 0 0 1px #990000;
}
.header__search-mobile .field__button {
  background: none;
  border: 0;
  padding: 11px 6px 11px 12px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.header__search-mobile .field__button .svg-wrapper,
.header__search-mobile .field__button svg { width: 18px; height: 18px; }
.header__search-mobile .field__button svg { stroke: #000; fill: none; }
.header__search-mobile .search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: none;
  outline: none;
  padding: 12px 12px 12px 2px;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 15px;
  color: #111;
  -webkit-appearance: none;
}
.header__search-mobile .search__input::placeholder { color: #8a8a8a; }
.header__search-mobile .field__label {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.header__search-mobile .predictive-search {
  position: absolute;
  left: 14px; right: 14px;
  top: 100%;
  z-index: 40;
  max-height: 70vh;
  overflow-y: auto;
}

/* Out-of-stock tag in predictive results (products stay visible, not orderable) */
.predictive-search__oos {
  display: inline-block;
  margin-top: 3px;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
  font-weight: 700;
  color: #6b6a67;
  border: 1px solid #cfcdc7;
  border-radius: 2px;
  padding: 1px 5px;
  line-height: 1.5;
}

/* ================================================================
   Mobile header tweaks (2026-08-06): -20% logo, tighter announcement
   bar, and the persistent search row hides on scroll-down.
   ================================================================ */
@media screen and (max-width: 749px) {
  .header__heading-logo { max-width: 109px !important; } /* -36% from 170px (two -20% steps) */
  /* The sticky-header 'reduce-logo-size' shrinks the WRAPPER to 75%, but the image keeps its
     max-width and overflows to the right, shoving the logo off-centre. Let the wrapper hug the
     image again on mobile so it stays centred whether scrolled or not. */
  .scrolled-past-header .header__heading-logo-wrapper { width: auto !important; }
  .announcement-bar__message {
    padding-top: 5px !important;    /* -50% from 10px */
    padding-bottom: 5px !important;
  }
  /* Match the existing (0,3,0) !important font-size rule in this file so mobile wins. */
  .shopify-section-group-header-group .color-scheme-5 .announcement-bar__message {
    font-size: 9.8px !important;    /* -30% from 14px */
  }
}
.header__search-mobile {
  max-height: 80px;
  transition: max-height 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
              padding-top 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
              padding-bottom 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
              opacity 0.2s ease;
}
.header__search-mobile.is-hidden {
  max-height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .header__search-mobile { transition: none; }
}
