[hidden] {
  display:none!important
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px
}
.drawer {
  visibility:hidden
}
.drawer.open {
  visibility:visible
}
.qty input {
  width:60px;
  background:#202b1c;
  color:var(--text);
  border:1px solid #647344;
  border-radius:4px;
  padding:5px;
  text-align:center
}
.text-button {
  background:transparent;
  color:var(--gold);
  border:0;
  padding:10px 0;
  text-align:left
}
.remove-item {
  font-size:12px
}
.drawer h2 {
  margin:12px 0 22px
}
.cart-items {
  min-height:0
}
.drawer .notice {
  flex-shrink:0
}
#checkoutDialog {
  color:var(--text);
  background:var(--panel);
  border:1px solid #667b38;
  border-radius:9px;
  width:min(920px,94vw);
  max-height:90dvh;
  padding:26px
}
#checkoutDialog::backdrop {
  background:#000c
}
#checkoutDialog h2 {
  font:900 38px 'Barlow Condensed',sans-serif;
  margin:0
}
#checkoutDialog h3 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:26px
}
.checkout-layout {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:28px;
  margin-top:15px
}
.checkout-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.checkout-field label {
  display:block;
  font-size:13px;
  margin-bottom:7px
}
.checkout-field input {
  width:100%;
  min-width:0;
  background:#0b0e0b;
  border:1px solid #647344;
  border-radius:5px;
  color:var(--text);
  font:inherit;
  padding:11px
}
.checkout-field input[aria-invalid=true] {
  border-color:#f4a8a0
}
.checkout-field.wide {
  grid-column:1/-1
}
.error {
  color:#f4a8a0;
  font-size:12px;
  line-height:1.5
}
.field-error {
  display:block;
  margin-top:5px
}
.order-summary {
  background:#0b0e0b;
  border:1px solid #38412c;
  padding:18px;
  border-radius:6px;
  align-self:start
}
.summary-row {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:10px 0;
  font-size:14px
}
.summary-row span {
  overflow-wrap:anywhere
}
.summary-row strong {
  white-space:nowrap
}
.summary-product {
  border-bottom:1px solid #38412c
}
.summary-total {
  border-top:1px solid #647344;
  color:var(--gold);
  font-weight:800
}
.cartbtn {
  white-space:nowrap
}
@media(max-width:650px) {
  .checkout-layout {
    grid-template-columns:1fr
  }
  .checkout-fields {
    grid-template-columns:1fr
  }
  .checkout-field.wide {
    grid-column:auto
  }
  #checkoutDialog {
    padding:18px
  }
  .order-summary {
    grid-row:1
  }
  #checkoutDialog h2 {
    font-size:30px
  }
  .drawer {
    padding:18px
  }
  .qty {
    gap:8px
  }
  .badge {
    pointer-events:none
  }
}
