/* Loaded only on products managed by a catalog-mode Astrabit XML provider. */
.product__add-to-cart-container .product__availability,
.product__add-to-cart-container .product-actions__quantity,
.product__add-to-cart-container .product__quantity,
.product__add-to-cart-container .quantity-button,
.product__add-to-cart-container .product__add-to-cart,
.product__add-to-cart-container .product-minimal-quantity,
.product__add-to-cart-container .js-product-minimal-quantity,
.product__add-to-cart-container label[for="quantity_wanted"] {
  display: none !important;
}
/* Catalog product: no quantity / purchase / delivery controls. */
.product__actions-qty-add > .product-actions__quantity,
.product__actions-qty-add > .product__add-to-cart,
.product__actions-qty-add > .product-minimal-quantity,
.product__actions-qty-add > .js-product-minimal-quantity,
.product__actions-qty-add label[for="quantity_wanted"],
.product__actions-qty-add label[for^="quantity_wanted_"] {
  display: none !important;
}



/*
 * OnyxHard's Hummingbird override may add the quantity caption through a
 * pseudo-element on the actions wrapper. Catalog products do not use quantity.
 */
.product__actions-qty-add::before,
.product__actions-qty-add::after,
.product-quantity::before,
.product-quantity::after {
  content: none !important;
  display: none !important;
}

.product__actions-qty-add > :empty:not(.asxml-catalog-quote),
.product-quantity > :empty:not(.asxml-catalog-quote) {
  display: none !important;
}

.product-flags .badge.new,
.product-flags .badge.out_of_stock,
.product-flags .badge.out-of-stock,
.product-flags .badge.unavailable,
.product-flags .product-flag.new,
.product-flags .product-flag.out_of_stock,
.product-flags .product-flag.out-of-stock,
.product-flags .product-flag.unavailable {
  display: none !important;
}

.asxml-catalog-quote {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-top: .25rem;
}

.asxml-catalog-quote__button,
.asxml-quote-form__submit {
  width: 100%;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: var(--bs-body-color, #1f1f1f) !important;
  border-color: var(--bs-body-color, #1f1f1f) !important;
  color: #fff !important;
}

.asxml-catalog-quote__button:hover,
.asxml-catalog-quote__button:focus,
.asxml-quote-form__submit:hover,
.asxml-quote-form__submit:focus {
  opacity: .88;
}

.asxml-catalog-quote__model {
  display: block;
  text-align: center;
  opacity: .7;
}

html.asxml-modal-open,
body.asxml-modal-open {
  overflow: hidden;
}

.asxml-quote-modal[hidden] {
  display: none !important;
}

.asxml-quote-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.asxml-quote-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .56);
  backdrop-filter: blur(2px);
}

.asxml-quote-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #fff;
  padding: clamp(24px, 4vw, 42px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
}

.asxml-quote-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.asxml-quote-modal__eyebrow {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .58;
}

.asxml-quote-modal__title {
  margin: 0 42px 10px 0;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 400;
}

.asxml-quote-modal__lead {
  margin: 0 0 24px;
  line-height: 1.6;
  color: rgba(0, 0, 0, .66);
}

.asxml-quote-form {
  display: grid;
  gap: 16px;
}

.asxml-quote-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.asxml-quote-form__field {
  display: grid;
  gap: 7px;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
}

.asxml-quote-form__field em {
  color: #9d1d1d;
  font-style: normal;
}

.asxml-quote-form__field input,
.asxml-quote-form__field select,
.asxml-quote-form__field textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 0;
  background: #fff;
  padding: 12px 13px;
  font: inherit;
  color: inherit;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.asxml-quote-form__field input:focus,
.asxml-quote-form__field select:focus,
.asxml-quote-form__field textarea:focus {
  outline: 0;
  border-color: rgba(0, 0, 0, .7);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, .07);
}

.asxml-quote-form__field textarea {
  resize: vertical;
  min-height: 112px;
}


.asxml-quote-config {
  display: grid;
  gap: 14px;
  margin-top: 2px;
  padding: 18px;
  background: #f7f5f1;
}

.asxml-quote-config__head {
  display: grid;
  gap: 4px;
}

.asxml-quote-config__head strong {
  font-size: 14px;
  font-weight: 600;
}

.asxml-quote-config__head span {
  font-size: 11px;
  line-height: 1.5;
  color: rgba(0, 0, 0, .56);
}

.asxml-quote-more {
  border-top: 1px solid rgba(0, 0, 0, .12);
  margin-top: 2px;
  padding-top: 12px;
}

.asxml-quote-more summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
}

.asxml-quote-more summary::-webkit-details-marker {
  display: none;
}

.asxml-quote-more summary::after {
  content: '+';
  float: right;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.asxml-quote-more[open] summary::after {
  content: '−';
}

.asxml-quote-more summary span {
  margin-left: 6px;
  font-size: 10px;
  font-weight: 400;
  opacity: .55;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.asxml-quote-more__body {
  padding-top: 16px;
}

.asxml-quote-form__note {
  margin: -2px 0 0;
  font-size: 11px;
  line-height: 1.55;
  color: rgba(0, 0, 0, .55);
}

.asxml-quote-form__status {
  display: none;
  margin: 0;
  padding: 11px 13px;
  font-size: 13px;
  line-height: 1.45;
}

.asxml-quote-form__status.is-success,
.asxml-quote-form__status.is-error {
  display: block;
}

.asxml-quote-form__status.is-success {
  background: #edf7ef;
  color: #245c2e;
}

.asxml-quote-form__status.is-error {
  background: #fff0f0;
  color: #8d2323;
}

.asxml-quote-form__hp {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 575.98px) {
  .asxml-quote-modal {
    align-items: flex-end;
    padding: 0;
  }

  .asxml-quote-modal__dialog {
    width: 100%;
    max-height: 92vh;
    padding: 26px 20px 24px;
  }

  .asxml-quote-form__grid {
    grid-template-columns: 1fr;
  }
}

.asxml-stelmach {width:100%; padding:20px 0; color:#262626;}
.asxml-stelmach h3{font-size:1.25rem;margin:0 0 20px;}
.asxml-stelmach__rings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;}
.asxml-stelmach fieldset{border:1px solid #e9e3d8;border-radius:4px;padding:14px;min-width:0;background:#faf8f3;}
.asxml-stelmach legend{font-size:.95rem;font-weight:600;width:auto;padding:0 6px;}
.asxml-stelmach select,.asxml-stelmach input{width:100%;max-width:100%;}
.asxml-stelmach__symbols{display:flex;gap:6px;margin:8px 0 14px;}
.asxml-stelmach__symbols button{background:#fff;border:1px solid #d9cbb4;padding:5px 12px;border-radius:3px;font-size:18px;cursor:pointer;}
.asxml-stelmach__preview{padding:14px 8px;text-align:center;background:#fff;border:1px solid #e9e3d8;overflow-wrap:anywhere;font-size:22px;min-height:60px;}
.asxml-stelmach__hint,.asxml-stelmach__photo-note{font-size:.8rem;line-height:1.5;color:#686359;}
@font-face{font-family:Italianno;src:url('../fonts/italianno.ttf') format('truetype');font-display:swap;}
@font-face{font-family:Allura;src:url('../fonts/allura.ttf') format('truetype');font-display:swap;}
@media(max-width:480px){.asxml-stelmach__rings{grid-template-columns:1fr;}}

.asxml-no-color-photo{display:none!important;}

.asxml-stelmach,.asxml-stelmach *{box-sizing:border-box;}

.asxml-quote-modal,.asxml-quote-modal *{box-sizing:border-box;}
.asxml-stelmach .asxml-quote-form__field{margin-bottom:12px;}

.asxml-stelmach-picker{width:100%;padding:12px 0;box-sizing:border-box;}
.asxml-stelmach-picker select{box-sizing:border-box;}
.asxml-quote-modal .asxml-stelmach{padding:8px 0;}
.asxml-quote-modal .asxml-stelmach__rings{gap:20px;margin:20px 0 12px;}
.asxml-quote-modal .asxml-stelmach fieldset{padding:18px;background:#faf8f3;}
.asxml-contact-heading{font-size:18px;margin:24px 0 16px;padding-top:20px;border-top:1px solid #e9e3d8;}
.asxml-quote-modal__dialog:has(.asxml-stelmach){width:min(900px,calc(100vw - 32px));}

.asxml-quote-modal:has(.asxml-stelmach) .asxml-quote-modal__close{position:sticky;top:0;float:right;width:36px;height:36px;background:#fff;z-index:3;}

/* Stelmach overrides are deliberately scoped and explicit to survive theme styles. */
.asxml-native-variants-hidden{display:none!important;}
.asxml-quote-modal .asxml-stelmach__rings{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;}
.asxml-quote-modal .asxml-quote-form__grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;}
.asxml-quote-modal .asxml-stelmach fieldset{min-width:0;border:1px solid #e6ded0;border-radius:6px;padding:16px!important;background:#faf8f3;}
.asxml-quote-modal .asxml-stelmach legend{font-family:inherit;font-size:15px;font-weight:600;float:none;width:auto;}
.asxml-quote-modal .asxml-quote-form__field{display:grid!important;grid-template-columns:minmax(0,1fr);gap:6px;font-size:13px;line-height:1.4;text-transform:none;letter-spacing:normal;}
.asxml-quote-modal .asxml-quote-form__field input,.asxml-quote-modal .asxml-quote-form__field select{height:40px!important;min-height:40px;padding:8px 11px!important;font:inherit!important;border-radius:3px;}
.asxml-quote-modal .asxml-stelmach__preview{min-height:55px;padding:10px;}
.asxml-quote-modal .asxml-quote-modal__title{font-size:28px!important;line-height:1.2!important;}
.asxml-quote-modal .asxml-stelmach__symbols button{padding:4px 10px;}
.asxml-quote-modal .asxml-quote-modal__dialog{padding:26px!important;}
@media(max-width:600px){
 .asxml-quote-modal .asxml-stelmach__rings,.asxml-quote-modal .asxml-quote-form__grid{grid-template-columns:minmax(0,1fr)!important;}
 .asxml-quote-modal .asxml-quote-modal__dialog{padding:20px!important;width:100%!important;}
}
