#grid .card{display:flex;flex-direction:column;overflow:hidden}
#grid .product-link{display:block;flex:1;text-decoration:none;color:inherit}
#grid .product-link .copy{padding:18px}
#grid .product-actions{display:grid;gap:10px;padding:0 20px 20px}
#grid .product-actions button,.offer-code button{border:2px solid #171817;background:#ffda00;color:#171817;border-radius:0;padding:13px;font:900 12px Arial,sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:3px 3px #171817}
#grid .product-actions button{width:100%}
.see-promotions{display:inline-block;box-sizing:border-box;background:#ffffff!important;box-shadow:none!important;border:1.5px solid #cbd5e1!important;text-decoration:underline;font-size:12px;font-weight:700;color:#1e293b;padding:8px 12px;cursor:pointer;border-radius:4px;transition:background 0.15s,color 0.15s;text-align:center;}
.see-promotions:hover{background:#f1f5f9!important;color:#0f172a;text-decoration:none;}
#grid button:disabled{opacity:.5;cursor:default}
#shopCartNotice{font-weight:bold;min-height:1.2em}

/* Active Promotions Modal */
#shopPromotions{
  width:min(640px,calc(100% - 32px));
  box-sizing:border-box;
  max-height:85dvh;
  overflow-y:auto;
  border:3px solid #171817;
  background:#f5f2e9;
  color:#171817;
  padding:28px;
  box-shadow:8px 8px 0 #171817;
  font:15px/1.5 Arial,sans-serif;
  margin:auto;
  position:fixed;
  inset:0;
  z-index:999999;
}
#shopPromotions[open]{
  display:block;
}
#shopPromotions::backdrop{
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(3px);
}
.offers-heading{
  display:flex;
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  border-bottom:2px solid #171817;
  padding-bottom:14px;
  margin-bottom:12px;
}
.offers-heading h2{
  text-transform:uppercase;
  margin:4px 0 0;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-0.02em;
}
#closePromotions{
  border:2px solid #171817;
  background:#ffda00;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
  padding:4px 12px;
  box-shadow:2px 2px 0 #171817;
  line-height:1;
}
#closePromotions:hover{
  background:#e5c300;
}
.offer-card{
  border:2px solid #171817;
  background:white;
  margin-top:16px;
  padding:18px;
  box-shadow:3px 3px 0 #171817;
  overflow-wrap:anywhere;
}
.offer-card h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:900;
  color:#171817;
}
.offer-description{
  white-space:pre-wrap;
  margin:0 0 14px;
  color:#333;
  font-size:14px;
  line-height:1.5;
}
.offer-code{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0;
}
.offer-code code{
  background:#fff3ae;
  border:1.5px dashed #171817;
  padding:8px 14px;
  font-size:15px;
  font-weight:900;
  letter-spacing:1px;
}
.offer-code button{
  border:2px solid #171817;
  background:#ffda00;
  color:#171817;
  font-weight:900;
  font-size:12px;
  padding:8px 14px;
  cursor:pointer;
  box-shadow:2px 2px 0 #171817;
}
.offer-code button:hover{
  background:#ffd000;
}
#shopPromotions .eyebrow{
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:900;
  color:#60615d;
}
#grid button:focus-visible,#shopPromotions button:focus-visible{
  outline:3px solid #1766d9;
  outline-offset:3px;
}
